A tiny (455B) client-side module for tracking with Google Analytics
This module exposes three module definitions:
dist/ganalytics.es.jsdist/ganalytics.jsdist/ganalytics.min.js$ npm install --save ganalytics
const GAnalytics = require('ganalytics');
const ga = new GAnalytics('UA-XXXXXXXX-X', { aid:1 });
ga.send('pageview');
ga.send('pageview', { dt:'Foobar', dp:'/foo' });
ga.send('event', { ec:'Video', ea:'Play', el:'Home Hero' });
Type: String
Your Google Analytics tracker ID; eg UA-XXXXXXXX-X
Type: Integer
Default: 0
Anonymize the sender's IP address. See Anonymize IP.
Type: String
Specifies the application's name. See Application Name.
Type: String
Specifies the application identifier. See Application ID.
Type: String
Specifies the application installer identifier. See Application Installer ID.
Type: String
Specifies the application verison. See Application Version.
Type: String
Indicates the data source type of the hit; eg web or app. See Data Source.
Type: Function
Default: window.fetch
Provide a custom GET requestor. It needs to accept a URL as its first and only parameter.
Note: By default, we use
window.fetchwhich has somewhat limited browser support.
You may want to checkout unfetch or provide your current AJAX/XHR library of choice, like axios.
import fetch from 'unfetch';
import GAnalytics from 'ganalytics';
const ga = new GAnalytics('UA-XXXXXXXX-X', { get:fetch });
const axios = require('axios');
const GAnalytics = require('ganalytics');
const ga = new GAnalytics('UA-XXXXXXXX-X', { get:axios });
// or
const ga = new GAnalytics('UA-XXXXXXXX-X', { get:axios.get });
Type: String
The type of hit to send. Must be one of these: pageview, screenview, event, transaction, item, social, exception, or timing.
Type: Object
The parameters to send based on the type of hit.
Please follow the links for each available parameter set:
For pageview hits only, if no params are provided, then the document.title and location.href values will be auto-filled. This allows you to send valid requests by writing:
ga.send('pageview');
// is the same as:
//=> ga.send('pageview', { dt:document.title, dl:location.href })
MIT © Luke Edwards