From dea838ecceee692bdf2cbf6acddd4739c1312dad Mon Sep 17 00:00:00 2001 From: SachaG <358832+SachaG@users.noreply.github.com> Date: Sun, 2 Dec 2018 22:33:57 +0900 Subject: [PATCH] Add google analytics event tracking --- packages/vulcan-events-ga/lib/client/ga.js | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/packages/vulcan-events-ga/lib/client/ga.js b/packages/vulcan-events-ga/lib/client/ga.js index 6eb126937..a08eb0bd7 100644 --- a/packages/vulcan-events-ga/lib/client/ga.js +++ b/packages/vulcan-events-ga/lib/client/ga.js @@ -1,5 +1,5 @@ import { getSetting } from 'meteor/vulcan:core'; -import { addPageFunction, addInitFunction } from 'meteor/vulcan:events'; +import { addPageFunction, addInitFunction, addTrackFunction } from 'meteor/vulcan:events'; /* @@ -19,10 +19,25 @@ function googleAnaticsTrackPage() { } return {}; } - // add client-side callback: log a ga request on page view addPageFunction(googleAnaticsTrackPage); +function googleAnaticsTrackEvent(name, properties, currentUser) { + const { category = name, action = name, label = name, value } = properties; + if (window && window.ga) { + window.ga('send', { + hitType: 'event', + eventCategory: category, + eventAction: action, + eventLabel: label, + eventValue: value, + }); + } + return {}; +} +// add client-side callback: log a ga request on page view +addTrackFunction(googleAnaticsTrackEvent); + function googleAnalyticsInit() { // get the google analytics id from the settings const googleAnalyticsId = getSetting('googleAnalytics.apiKey');