3

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

例如,引荐来源网址如下所示 - http://www.example.com/page1?content=1234#button1

有没有办法提取主题标签 (#) 之后的值,这样我就可以知道人们是如何排序以找到我的网站的?我考虑过使用document.referrer.location.hashtag但我认为这行不通......

我最终希望将此数据导入 Google Analytics(我可能可以使用自定义变量),但任何其他有关如何在 GA 中执行此操作的提示都值得赞赏。

我很感激这方面的任何帮助!

4

2 回答 2

2

URL 的哈希部分永远不会发送到服务器,并且它似乎没有存储在 document.referrer 的 javascript 对象中。

访问 URL 的哈希部分的唯一方法是当浏览器在该页面上时从页面内访问它。

翻译:除非您控制引用页面,并且您传递链接中的哈希片段,否则无法获取它。

更多信息:http ://www.razzed.com/2009/02/12/uh-oh-ajax-powered-search-kills-keywords-in-referrers/

于 2012-06-15T16:12:52.663 回答
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>

有用的资料:

于 2012-10-09T18:49:34.587 回答