Tracking Anchor Tag / Hashtag # Pageviews in Google Analytics using Google Tag Manager
I've come across this problem a lot with some existing clients. When a website has hashtags in the URL, Google Analytics will not track anything past the hashtag by default.
For example:
http://www.trackify.co.nz/#/test
would track in GA as a home pageview.
This will cause problems with your analytics and is highly likely to result in inaccurate data.
To track past the hashtag would normally require a code change by developers. However, with more and more sites using Google Tag Manager, there is another solution.
Step 1
Log into GTM and under the 'Variables' section of Google Tag Manager make sure you’ve checked the New History Fragment and History Source Built-In Variables.
Step 2
Create a new javascript custom variable called "page path with hashtag" and use the following code:
function() {
return window.location.pathname + window.location.search + window.location.hash;
}
Save the new variable.
Step 3
Choose History Change as the Event, and set the following condition in the Fire On section of the Trigger where History Source equals hashchange:
Save your new trigger.
Step 4
Open your Universal Page tracking tag and scroll down to 'fields to set'.
Now add a new field called "page" with the value {{page path with hashtag}}.
Step 5
Save the tag, create a new version and publish your container (once tested).
You should start to see the # pageviews coming through in the 'real time' section of Google Analytics.