A hapi server plugin that provides automatic tracking of campaigns and UTM campaigns
Go to your project directory and do
npm install hapi-campaign
Register the plugin with your hapi server with
const hapiCampaigns = require('hapi-campaigns');
const server = new hapi.Server({ port: 8000 });
await server.register(hapiCampaigns);
hapi-campaigns parses every incoming request to your server for a campaign (or utm_campaign) cookie. It will automatically extract any values associated with the campaign cookie (separated by '_'), and for utm_campaigns will extract utm_medium / utm_source fields. It also registers a 'campaign' event that is called any time a campaign matching the specified cookie name is detected.
If you register an event handler like:
server.events.on('campaign', (data) => {
console.log(data.hello);
});
When you call the route /foo?campaign=visit_world
your
server will print:
"world"
- cookieName
The cookie associated with your campaign, default value is campaigns64
-
cookie
-
ttl
The TTL for the cookie, by default the cookie will last 30 days.
A JSON object specifying the cookie's properties, these along with their defaults are:
- isSecure: false
- isSameSite: false
- isHttpOnly: true
- clearInvalid: true
- ignoreErrors: true