leek
v0.0.24
Published
GA tracking
Downloads
650,007
Maintainers
Readme
Leek
Initial implementation was based on Insight.
Track Events:
var Leek = require('./lib/leek'),
leek = new Leek({
trackingCode: 'xx-xxxxxxxx-x',
globalName: 'my-nifty-package',
version: '1.0.1'
});
leek.trackEvent({
name: 'my-nifty-package',
category: 'pony show',
label: 'white',
value: 'jumps'
});
Track Errors:
var Leek = require('./lib/leek'),
leek = new Leek({
trackingCode: 'xx-xxxxxxxx-x',
name: 'my-nifty-package',
version: '1.0.1'
});
try {
throw new Error('ZOMG FIX ME')
} catch(e) {
leek.trackError({
description: e.message + ' ' + e.stack,
isFatal: true
});
}
Track command hits:
var Leek = require('./lib/leek'),
leek = new Leek({
trackingCode: 'xx-xxxxxxxx-x',
name: 'my-nifty-package',
version: '1.0.1'
});
leek.track({
name: 'my-nifty-package show pony',
message: 'pony is here'
});
Disable Tracking:
Environment Variable
Setting the DISABLE_LEEK
environment variable will disable tracking.
Alternative Tracking Endpoints
Passing in an object of adapter URLs will send the data to alternative tracking service.
var Leek = require('./lib/leek');
var leek = new Leek({
trackingCode: 'xx-xxxxxxxx-x',
name: 'my-nifty-package',
version: '1.0.1',
adapterUrls: {
appview: 'http://example.com/collect-app',
exception: 'http://example.com/collect-exception',
timing: 'http://example.com/collect-timing',
event: 'http://example.com/collect-event'
}
});
Constructor Options
var Leek = require('./lib/leek');
var leek = new Leek({
trackingCode: 'xx-xxxxxxxx-x',
name: 'my-nifty-package',
version: '1.0.1',
silent: true
});
GA Setup
You are now able to set up alternative tracking services but to set up GA follow these steps:
- Set your new property up as a Mobile App
- Add the Tracking ID in your leek initialisation as seen above.
- To add the NodeJS as well as OS Version tracking go to the Admin -> Custom Definitions -> Custom Metrics
- Add a new Custom Dimenstion with the Name
OS
and ScopeSession
- Add a second Custom Dimenstion with the Name
Node Version
and ScopeSession
as well - Make sure they are both active and you have everything you need to get the tracking running properly