diff --git a/javascripts/google-analytics.js b/javascripts/google-analytics.js deleted file mode 100644 index 9e45eeaa1412..000000000000 --- a/javascripts/google-analytics.js +++ /dev/null @@ -1,13 +0,0 @@ -/* eslint-disable */ - -export default function () { - (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') - - ga('create', 'UA-3769691-27', 'auto') - ga('send', 'pageview') -} diff --git a/javascripts/index.js b/javascripts/index.js index 12bf1f341ac1..8d381eff36fa 100644 --- a/javascripts/index.js +++ b/javascripts/index.js @@ -5,7 +5,6 @@ import explorer from './explorer' import search from './search' import nav from './nav' import browserDateFormatter from 'browser-date-formatter' -import googleAnalytics from './google-analytics' import deprecationBanner from './deprecation-banner' import sidebar from './sidebar' import wrapCodeTerms from './wrap-code-terms' @@ -23,7 +22,6 @@ document.addEventListener('DOMContentLoaded', async () => { search() nav() browserDateFormatter() - googleAnalytics() deprecationBanner() sidebar() wrapCodeTerms() diff --git a/javascripts/print.js b/javascripts/print.js index d25efd3a1da0..fab075c5f8c2 100644 --- a/javascripts/print.js +++ b/javascripts/print.js @@ -1,3 +1,5 @@ +import { sendEvent } from './events' + export default function () { const printButton = document.querySelector('.js-print') @@ -10,11 +12,6 @@ export default function () { // Track print events window.onbeforeprint = function () { - // Ensure that Google Analytics was registered - if (!window.ga) return - const category = 'Print' - const action = 'print' - const label = 'print' - window.ga('send', 'event', category, action, label) + sendEvent({ type: 'print' }) } } diff --git a/tests/browser/browser.js b/tests/browser/browser.js index 4429471e1dda..11134c7914f3 100644 --- a/tests/browser/browser.js +++ b/tests/browser/browser.js @@ -92,28 +92,6 @@ describe('algolia browser search', () => { }) }) -describe('google analytics', () => { - it('is set on page load with expected properties', async () => { - await page.goto('http://localhost:4001/en/actions') - - // check that GA global object exists and is a function - const gaObjectType = await page.evaluate(() => typeof window.ga) - expect(gaObjectType).toBe('function') - - // check that default tracker is set - // https://developers.google.com/analytics/devguides/collection/analyticsjs/ga-object-methods-reference#getByName - const gaDefaultTracker = await page.evaluate(() => window.ga.getByName('t0')) - expect('filters' in gaDefaultTracker).toBe(true) - expect(Object.keys(gaDefaultTracker)).toHaveLength(3) - - // check that default cookies are set - // https://developers.google.com/analytics/devguides/collection/analyticsjs/cookie-usage#analyticsjs - const cookies = await page.cookies() - expect(cookies.some(cookie => cookie.name === '_gat')).toBe(true) - expect(cookies.some(cookie => cookie.name === '_gid')).toBe(true) - }) -}) - describe('helpfulness', () => { it('sends an event to /events when submitting form', async () => { // Visit a page that displays the prompt @@ -122,8 +100,8 @@ describe('helpfulness', () => { // Track network requests await page.setRequestInterception(true) page.on('request', request => { - // Ignore GET to google analytics - if (!/\/events/.test(request.method())) return request.continue() + // Ignore GET requests + if (!/\/events$/.test(request.url())) return request.continue() expect(request.method()).toMatch(/POST|PUT/) request.respond({ contentType: 'application/json',