| // Copyright 2019 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| const TITLE = 'title'; |
| const LOCATION = 'location'; |
| const DIMENSION1 = 'dimension1'; |
| const SET = 'set'; |
| |
| /** |
| * Track page-to-page navigation via google analytics. Global window.ga |
| * is set in server rendered HTML. |
| * |
| * @param {string} page |
| * @param {string} userDisplayName |
| */ |
| export const trackPageChange = (page = '', userDisplayName = '') => { |
| ga(SET, TITLE, `Issue ${page}`); |
| if (page.startsWith('user')) { |
| ga(SET, TITLE, 'A user page'); |
| ga(SET, LOCATION, 'A user page URL'); |
| } |
| |
| if (userDisplayName) { |
| ga(SET, DIMENSION1, 'Logged in'); |
| } else { |
| ga(SET, DIMENSION1, 'Not logged in'); |
| } |
| |
| ga('send', 'pageview'); |
| }; |