leek

GA tracking

Initial implementation was based on Insight.

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'
});
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
  });
}
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'
});

Setting the DISABLE_LEEK environment variable will disable tracking.

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'
  }
});
var Leek = require('./lib/leek');
var leek = new Leek({
  trackingCode: 'xx-xxxxxxxx-x',
  name:         'my-nifty-package',
  version:      '1.0.1',
  silent:       true
});

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 Scope Session
  • Add a second Custom Dimenstion with the Name Node Version and Scope Session as well
  • Make sure they are both active and you have everything you need to get the tracking running properly