UNPKG

digitalmarketplace-govuk-frontend

Version:

Digital Marketplace GOV.UK Frontend contains the code you need to start building a user interface for Digital Marketplace.

64 lines (50 loc) 2.16 kB
import stripPII from './pii' // Stripped-down wrapper for Google Analytics, based on: // https://github.com/alphagov/static/blob/master/doc/analytics.md export function SetupAnalytics (config) { window.ga('create', config.trackingId, config.cookieDomain, { cookieExpires: config.expires * 24 * 60 * 60 }) window.ga('set', 'anonymizeIp', config.anonymizeIp) window.ga('set', 'displayFeaturesTask', config.displayFeaturesTask) window.ga('set', 'transport', config.transport) } export function LoadGoogleAnalytics () { /* eslint-disable */ // Copied from Google Analytics installation instructions /* jshint ignore:start */ (function(i, s, o, g, r, a, m){ i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () { (i[r].q = i[r].q || []).push(arguments) }, i[r].l = 1 * new Date(); a = s.createElement(o), m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga') /* jshint ignore:end */ } export function TrackPageview (path, title, options) { const page = (window.location.pathname + window.location.search) window.ga('send', 'pageview', stripPII(page)) } // https://developers.google.com/analytics/devguides/collection/analyticsjs/events export function TrackEvent (category, action, options) { options = options || {} var evt = { eventCategory: category, eventAction: action } if (options.label) { evt.eventLabel = options.label delete options.label } if (typeof options === 'object') { Object.assign(evt, options) } window.ga('send', 'event', stripPII(evt)) } export function AddLinkedTrackerDomain (trackingId, name, domains) { window.ga('create', trackingId, 'auto', { name: name }) // Load the plugin. window.ga('require', 'linker') window.ga(name + '.require', 'linker') // Define which domains to autoLink. window.ga('linker:autoLink', domains) window.ga(name + '.linker:autoLink', domains) window.ga(name + '.set', 'anonymizeIp', true) window.ga(name + '.set', 'location', stripPII(window.location.href)) window.ga(name + '.send', 'pageview') }