Is it possible to track hash links like pages with google analytics?

Generically, your code could look like this

_gaq.push(['_trackPageview',location.pathname + location.search  + location.hash]);

You could either bind that code to every time you have a hash change within your application, or you could use a generic hashchange plugin, that uses the HTML5 onhashchange, and some backwards compatible hacks for older browsers, and bind this code to that event, so that it fires every time your hash changes.

Using that plugin, your code could look like:

$(window).hashchange( function(){
    _gaq.push(['_trackPageview',location.pathname + location.search  + location.hash]);

})

**UPDATE 2014:**

This is how you’d do this in the new Universal Analytics:

ga('set', 'page', location.pathname + location.search  + location.hash);
ga('send', 'pageview');

Note from Google Analytics documentation:

While technically the send command for pageview hits accepts an optional page field as the third parameter, passing the page field that way is not recommended when measuring single page applications.

This is how you’d do it if you’re using Google Analytics within Google Tag Manager:

  • Go to your macros
  • Updated the URL Macro to “Fragment”

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)