diff --git a/web/src/index.tsx b/web/src/index.tsx
index e1a51d9..2af3c37 100644
--- a/web/src/index.tsx
+++ b/web/src/index.tsx
@@ -1,21 +1,22 @@
 import React from 'react';
 import ReactDOM from 'react-dom';
-import {BrowserRouter as Router} from 'react-router-dom';
+import {Router} from 'react-router-dom';
 
 import App from './App';
 import * as serviceWorker from './serviceWorker';
 import {FullScreenSuspense} from './util/suspense';
-import {initGA, initSentry} from './util/analytics';
+import {initHistoryWithGA, initSentry} from './util/analytics';
 import {initCrisp} from './util/crip';
 import './util/i18n';
 
-initGA();
 initSentry();
 initCrisp();
 
+const history = initHistoryWithGA();
+
 ReactDOM.render(
   <FullScreenSuspense>
-    <Router>
+    <Router history={history}>
       <App />
     </Router>
   </FullScreenSuspense>,
diff --git a/web/src/util/analytics.ts b/web/src/util/analytics.ts
index c671588..b4267f8 100644
--- a/web/src/util/analytics.ts
+++ b/web/src/util/analytics.ts
@@ -1,13 +1,20 @@
 import ReactGA from 'react-ga';
 import * as Sentry from '@sentry/browser';
+import {createBrowserHistory} from 'history';
 
 const isProduction = process.env.NODE_ENV !== 'development';
 
-export function initGA(): void {
+export function initHistoryWithGA() {
+  const history = createBrowserHistory();
   if (isProduction) {
     ReactGA.initialize('UA-28919359-15');
     ReactGA.pageview(window.location.pathname + window.location.search);
+    history.listen((location) => {
+      ReactGA.set({page: location.pathname});
+      ReactGA.pageview(location.pathname);
+    });
   }
+  return history;
 }
 
 export function track({