【问题标题】:How to include google analytics in redirect page?如何在重定向页面中包含谷歌分析?
【发布时间】:2015-02-20 16:38:13
【问题描述】:

我有一个将用户重定向到另一个站点的页面。我想跟踪点击该链接的用户。

我的代码:

<!--page start-->
    <script>
        (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
        (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
        m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
        })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

        ga('create', 'code', 'auto');
        ga('send', 'pageview');
    </script>

    <?php
        header('Location: http://wikipedia.org');
    ?>
<!--page end-->

上述重定向用户,但谷歌分析代码从未执行。我猜这是因为重定向是即时的,并且 javascript 脚本没有时间执行。谁能解释一下如何跟踪点击链接的用户?

【问题讨论】:

  • 是的,php是服务器端,它在javascript之前执行。你可以尝试在分析代码之后放置e javascript重定向
  • @Simone M:谢谢,但我需要确保始终执行重定向(即使对于那些关闭 javascript 的人),因为它是一个下载链接。我不希望用户说您的下载已损坏...
  • 做重定向客户端根本不理想。它将有一个明显的延迟,并且由于服务器将以 200 响应,因此搜索引擎将不知道重定向,这对 SEO 不利。在客户端只是来跟踪分析是一个不好的理由,因为您可以通过Google Analytics Measurement Protocol 在服务器端进行。

标签: javascript redirect google-analytics


【解决方案1】:

“谢谢,但我需要确保始终执行重定向(即使对于那些关闭 javascript 的人)”

删除 php 标头。添加无脚本路径。然后按照 Simone 的建议去做:

<head>
<script>
....google analytics....
</script>
<noscript>
    <meta http-equiv="refresh" content="0; url=http://wikipedia.org" />
</noscript>
</head>
<body onload="onWindowLoad()">
<script>
    onWindowLoad = function(){
        window.location.href = "http://wikipedia.org";
    }
</script>
</body>

【讨论】:

  • 非常感谢!一个问题:只使用元重定向可以吗?
  • GA 是异步的,你有风险在它完成之前离开吗?不过测试一下。也许你可以做你想做的事。
  • 它是异步的,但可以选择使其同步。也许我应该将a.async=1; 更改为a.async=0;
  • 是的,需要测试,老实说,我不确定元标记是否会等待脚本标记完成。千万不要遇到这种情况!
  • 如果您有时间,请告诉我们结果。这对于任何通过 GA 跟踪重定向的人都很有用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-08-19
  • 1970-01-01
  • 2018-07-27
  • 1970-01-01
  • 1970-01-01
  • 2010-12-08
  • 1970-01-01
相关资源
最近更新 更多