如何从引荐来源网址获取location.hashtag - Google Analytics

时间:2012-06-14 20:51:33

标签: javascript google-analytics

有一个网站在其网址中使用页面按钮和主题标签(#)来操纵其内容(链接)的排序方式。他们链接到我的网站,我想知道人们在最终找到我的网站并点击之前点击的按钮。

例如,引荐来源网址看起来像这样 - http://www.example.com/page1?content=1234#button1

有没有办法在hashtag(#)之后提取值,以便我可以告诉人们如何排序以查找我的网站?我想过使用 document.referrer.location.hashtag ,但我觉得这不行......

我最终想要将这些数据导入Google Analytics(我可以使用自定义变量进行此操作),但我们也非常感谢有关如何在GA中执行此操作的任何其他提示。

我很感激任何帮助!

2 个答案:

答案 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>

有用的资料来源: