Skip to content

Google Analytics client for Electron applications

License

Notifications You must be signed in to change notification settings

Hitask/electron-ga

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

electron-ga

Google Analytics client for Electron applications with some useful builtin features

Features

Easy to start using

First create a Google Analytics Mobile Account. It is needed, because webpage account does not track many parameters, like version. In many aspect an Electron application is more similar to a mobile application than a simple webpage.

electron-ga works only in the renderer process.

import Analytics from 'electron-ga';

const analytics = new Analytics('UA-XXXXXXXX-X');

Then:

await analytics.send('screenview', { cd: 'User List' });
await analytics.send('event', { ec: 'Scroll', ea: 'scrollto', el: 'row', ev: 123 });

electron-ga uses Google Analytics Measurement Protocol. You can add custom parameters or ovveride any of them.

API Reference

constructor(trackId[, initParams])

The trackId is a string and its format is: UA-XXXXXXXX-X.

The initParams is an object and its optional properties are:

  • protocolVersion
  • trackId
  • clientId
  • userId - undefined by default
  • appName
  • appVersion
  • language
  • userAgent
  • viewport
  • screenResolution

You can set any of them with a constant string value or a getter function, that returns a string value:

const analytics = new Analytics('UA-XXXXXXXX-X', {
  userId: '123456',
  language: () => store.getState().language
});

send(hitType[, additionalParams]) -> Promise

The hitType is a string. You can find here the available values.

The additionalParams is an object with any properties, which are acceptable by the Google Analytics Measurement Protocol.


License

MIT

Developed by

JayStack

About

Google Analytics client for Electron applications

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 100.0%