diff --git a/background.js b/background.js
index 7941bb0..7f038a8 100644
--- a/background.js
+++ b/background.js
@@ -14,7 +14,7 @@
 
 var _gaq = _gaq || [];
 _gaq.push(['_setAccount', 'UA-73551813-1']);
-_gaq.push(['_trackPageview']);
+_gaq.push(['_setSiteSpeedSampleRate', 100]);
 
 (function() {
   var ga = document.createElement('script');
@@ -26,17 +26,25 @@
 })();
 
 var RequestType = {
-  NAV: 'nav',
+  NAV: 'nav-report',
   TIMING: 'timing-report',
 };
 
-chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
-  if (request.type === RequestType.TIMING) {
-    var detail = request.detail;
-    _gaq.push(['_trackTiming', detail.category, detail.name, detail.value]);
-  } else if (request.type === RequestType.NAV) {
-    _gaq.push(['_trackPageview', request.url]);
+chrome.runtime.onMessage.addListener(function(request) {
+  var detail = request.detail;
+  if (detail.host) {
+    _gaq.push(['_setDomainName', detail.host]);
   }
+
+  switch (request.type) {
+    case RequestType.TIMING:
+      var time = Math.round(detail.value);
+      _gaq.push(['_trackTiming', detail.category, detail.name, time]);
+      break;
+    case RequestType.NAV:
+      _gaq.push(['_trackPageview', detail.value]);
+      break;
+  };
 });
 
 function loadImage(path, width, height) {
diff --git a/content.js b/content.js
index d96f0ae..55a2804 100644
--- a/content.js
+++ b/content.js
@@ -12,16 +12,24 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 (function() {
-  // TODO(andybons): Integrate with the Gerrit JS API. Since this is loaded
-  // before the Gerrit object is in scope, this type of integration may require
-  // an event to be fired to indicate that the Gerrit object is available.
   var appEl = document.querySelector('gr-app');
   var isPolyGerrit = !!appEl;
+
   if (isPolyGerrit) {
-    // TODO(andybons): Track actions and integrate with the Gerrit JS API.
-    // PageJS isn't in scope and is a pain to latch on to for navigation events.
-    document.addEventListener('timing-report', function(e) {
-      chrome.runtime.sendMessage({type: 'timing-report', detail: e.detail});
+    var reportToBackground = function(e) {
+      e.detail.host = location.host;
+      chrome.runtime.sendMessage({type: e.type, detail: e.detail});
+    };
+    document.addEventListener('timing-report', reportToBackground);
+    document.addEventListener('nav-report', reportToBackground);
+  } else {
+    chrome.runtime.sendMessage({
+      type: 'nav-report',
+      detail: {
+        value: '/#/', // Report GWT UI as dashboards landing url.
+        host: location.host,
+      },
     });
   }
+
 })();
diff --git a/manifest.json b/manifest.json
index 9fca4ae..39a68fb 100644
--- a/manifest.json
+++ b/manifest.json
@@ -2,7 +2,7 @@
   "manifest_version": 2,
   "name": "Gerrit UI Switcher",
   "description": "Easily switch between the current Gerrit UI and the new PolyGerrit UI",
-  "version": "0.5.1",
+  "version": "0.5.2",
   "background": {
     "scripts": [
       "background.js"
