Tracking Hashtags & Querystrings in GA
I have a few stickers which contain my website's URL QR Code (like this : http://qrcode.kaywa.com/img.php?s=5&d=http%3A%2F%2Fissocial.net%23qr) . I will stick it to streets. As you can see if someone read t开发者_JAVA技巧his QR code, he will forward to http://issocial.net/#qr page.
Now i want to track people who reach my site via this QR Code Stickers. Sadly, Google Analytics isn't tracking hashtags.
Maybe i can do it with querystring (like : http://issocial.net/?qr=true) . But GA isn't tracking just one querystring.
So, have you any idea about this?
Google Analytics's default implementation ignores the anchor, ie, everything after #, so you need to pass through the value manually. _trackPageview
can accept a 2nd parameter that allows you to pass pageview values manually.
By default, GA's pageview is just location.pathname+location.search
. So, all you need to do is pass through that with location.hash
.
_gaq.push(["_trackPageview",location.pathname + location.search + location.hash]);
Universal Analytics
With the newer UA API, the command should be:
ga('send', 'pageview', { 'page': location.pathname + location.search + location.hash});
You can use a combination of _setAllowAnchor and _setCampMediumKey to force Google Analytics to (a) use your hash tag as a query string and (b) use your 'qr' in place of the normal utm _medium (or any other of the campaign variables).
More here : http://code.google.com/apis/analytics/docs/gaJS/gaJSApiCampaignTracking.html
Update
In the new analytics.js it should be
ga('create', 'UA-XXXX-Y', {'allowAnchor': true});
No web server can track hash tags. They aren't sent to the server; they're only used by the client.
You could always just encode http://.../qr and have your server redirect to your home page. Or just have it serve up the same content as the home page in response. Or go through a shortener.
精彩评论