Measurement Protocol API
Google Analytics -The main purpose of this was to be used with Electron built apps.
Features
- Pageview
- Event
- Screenview
- Transaction
- Social
- Exception
- Refund
- Item
- User Timing Tracking
- Custom function for the rest (send)
Getting started
Installation
npm i google-analytics-electron
-
Init
Analytics(trackingID, { userAgent, debug, version })
const analytics = 'UA-XXXXXXXX-X' -
Pageview
Analytics#pageview(hostname, url, title)
return analyticsIf you want to keep the session you need to specify the
clientID
. -
Event
Analytics#event(evCategory, evAction, { evLabel, evValue })
const analytics = 'UA-XXXXXXXX-X' clientID: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'return analyticsevent'Video' 'play' evLabel: 'holiday' evValue: 300 -
Screenview
Analytics#screen(screenName)
const analytics = 'UA-XXXXXXXX-X'appName: 'test'appVersion: '1.0.0'appID: 'com.app.test'appInstallerID:'com.app.installer'return analytics -
Transaction
Analytics#transaction(trnID, { trnAffil, trnRev, trnShip, trnTax, currCode } = {})
return analytics -
Social
Analytics#social(socialAction, socialNetwork, socialTarget)
return analytics -
Exception
Analytics#exception(exDesc, exFatal)
return analytics -
Refund
Analytics#refund(transactionID, evCategory = 'Ecommerce', evAction = 'Refund', nonInteraction = 1)
return analytics -
Item
Analytics#item(trnID, itemName, { itemPrice, itemQty, itemSku, itemVariation, currCode } = {})
return analytics -
User Timing Tracking
Analytics#timingTrk(timingCtg, timingVar, timingTime, { timingLbl, dns, pageDownTime, redirTime, tcpConnTime, serverResTime } = {})
return analytics -
Send (for everything else for now)
Analytics#send(hitType, params)
return analytics
Tests
cross-env TRACKING_ID='UA-XXXXXXXX-X' npm test
License
MIT