lukeed

ganalytics

A tiny (312B) client-side module for tracking with Google Analytics

This module exposes three module definitions:

  • ES Module: dist/ganalytics.mjs
  • CommonJS: dist/ganalytics.js
  • UMD: dist/ganalytics.min.js

Please see Releases for changelog!

#Install

$ npm install --save ganalytics

#Usage

const GAnalytics = require('ganalytics');

const ga = new GAnalytics('UA-XXXXXXXX-X', { aid:1 });
// or
const ga = 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' });

#API

#GAnalytics(trackerID, options, toWait)

#trackerID

Type: String

Your Google Analytics tracker ID; eg UA-XXXXXXXX-X

#options

Type: Object

Any common, general options that this instance should hold onto.

Note: Any option key can be redefined or overwritten within a send() call.

#options.aip

Type: Integer
Default: 0

Anonymize the sender's IP address. See Anonymize IP.

#options.an

Type: String

Specifies the application's name. See Application Name.

#options.aid

Type: String

Specifies the application identifier. See Application ID.

#options.aiid

Type: String

Specifies the application installer identifier. See Application Installer ID.

#options.av

Type: String

Specifies the application verison. See Application Version.

#options.cid

Type: String

Anonymously identify a particular user, device, or browser instance. This should be persisted so that repetitive session use the same identifier. See Client ID.

Important This is required when options.uid is not defined.

#options.uid

Type: String

An identifier for a known user, if possible. This value should never be persisted. See User ID.

Important This is required when options.cid is not defined.

#options.ds

Type: String

Indicates the data source type of the hit; eg web or app. See Data Source.

#toWait

Type: Boolean
Default: false

When truthy, a pageview event will not be sent immediately upon initialization.

#ga.send(type, params)

#type

Type: String

The type of hit to send. Must be one of these: pageview, screenview, event, transaction, item, social, exception, or timing.

#params

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

#License

MIT © Luke Edwards

See also

clsx(3), @polka/cluster(3), @pwa/cli(3), uvu(3), taskr(3), sockette(3), klona(3), kleur(3), dequal(3), sirv-cli(3)