diff --git a/src/index.js b/src/index.js index 0502d07bc5edead6111f153585acdcc8bb7641b4..d191fc7b6d67224e9eb95b7ce9c37a8bcdf46a0a 100644 --- a/src/index.js +++ b/src/index.js @@ -11,6 +11,9 @@ import './styles.css'; require('./scss/_main.scss'); ReactGA.initialize(process.env.REACT_APP_GA_TRACKING_ID); +if (localStorage.sub) { + ReactGA.set({ userId: localStorage.sub }); +} function logPageView() { ReactGA.set({ page: window.location.pathname + window.location.search }); diff --git a/src/utils/auth.js b/src/utils/auth.js index 57c301c3cf765b41e93192eb028ff020ecdd8125..c13510217db017efed8ea8bf88878cfdeddff8f7 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -1,6 +1,7 @@ import { browserHistory } from 'react-router'; import { EventEmitter } from 'events'; import Auth0Lock from 'auth0-lock'; +import ReactGA from 'react-ga'; export default class Auth extends EventEmitter { options = { @@ -67,6 +68,7 @@ export default class Auth extends EventEmitter { authResult.accessToken, (error, profile) => { if (!error) { + ReactGA.set({ userId: profile.sub }); localStorage.setItem('sub', profile.sub); localStorage.setItem('emailAddress', profile.email); localStorage.setItem('name', profile.name); @@ -109,6 +111,7 @@ export default class Auth extends EventEmitter { static clearLocalStorage() { // Clear access token and ID token from local storage + ReactGA.set({ userId: undefined }); localStorage.removeItem('access_token'); localStorage.removeItem('id_token'); localStorage.removeItem('expires_at');