有一个网站在其网址中使用页面按钮和主题标签(#)来操纵其内容(链接)的排序方式。他们链接到我的网站,我想知道人们在最终找到我的网站并点击之前点击的按钮。
例如,引荐来源网址看起来像这样 - http://www.example.com/page1?content=1234#button1
有没有办法在hashtag(#)之后提取值,以便我可以告诉人们如何排序以查找我的网站?我想过使用 document.referrer.location.hashtag ,但我觉得这不行......
我最终想要将这些数据导入Google Analytics(我可以使用自定义变量进行此操作),但我们也非常感谢有关如何在GA中执行此操作的任何其他提示。
我很感激任何帮助!
答案 0 :(得分:2)
URL的哈希部分永远不会发送到服务器,并且它似乎没有存储在document.referrer的javascript对象中。
访问URL的哈希部分的唯一方法是在浏览器位于该页面时从页面内访问它。
翻译:除非您控制引用页面,否则无法获取它,并且您传递了链接中的哈希片段。
更多信息:http://www.razzed.com/2009/02/12/uh-oh-ajax-powered-search-kills-keywords-in-referrers/
答案 1 :(得分:1)
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXX-X']);
/*
* Function: Hash Custom Variable
* Pass everything after # in document.referrer to GA custom variable
*/
(function() {
// Parse out the hash part of the referrer
var referrerHash = document.referrer.split("#")[1];
// If the hash exists, pass it back to GA
if(typeof referrerHash !== "undefined") {
_gaq.push(['_setCustomVar', 1, 'Sort', referrerHash, 3]);
}
})(); // IIFE to not leak global vars
// Have to _trackPageview after custom variable is pushed
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script');
ga.type = 'text/javascript';
ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(ga, s);
})();
</script>
有用的资料来源: