Javascript 如何在重定向页面中包含谷歌分析?

Javascript 如何在重定向页面中包含谷歌分析?,javascript,redirect,google-analytics,Javascript,Redirect,Google Analytics,我有一个页面可以将用户重定向到另一个站点。我想跟踪点击该链接的用户 我的代码: <!--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

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

我的代码:

<!--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-->

(函数(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]| |函数(){
(i[r].q=i[r].q | |[]).push(参数)},i[r].l=1*新日期();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(窗口,文档,“脚本”,“www.google-analytics.com/analytics.js”,“ga”);
ga(“创建”、“编码”、“自动”);
ga(‘发送’、‘页面浏览’);
上述重定向用户,但谷歌分析代码从未执行。我想这是因为重定向是即时的,javascript脚本没有时间执行。有人能解释一下如何跟踪点击链接的用户吗?

“谢谢,但我需要确保总是执行重定向(即使是那些关闭javascript的用户也要执行重定向)”

删除php头。添加一个无脚本路径。然后按照西蒙的建议去做:

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

……谷歌分析。。。。
onWindowLoad=函数(){
window.location.href=”http://wikipedia.org";
}

是的,php是服务器端,在javascript之前执行。。您可以尝试将e javascript重定向放在分析之后code@SimoneM:谢谢,但我需要确保总是执行重定向(即使是那些关闭javascript的人),因为它是一个下载链接。我不想让用户说你的下载被破坏了……重定向客户端一点也不理想。它将有一个明显的滞后,而且由于服务器将以200的响应,搜索引擎将不知道重定向,这将不利于SEO。做it客户端只是为了跟踪分析是一个不好的理由,因为你可以通过服务器端做it。非常感谢!一个问题:只使用元重定向可以吗?GA是异步的,您可能会在它完成之前离开?不过要测试一下。也许你可以按照你的想法去做。它是异步的,但是有一个选项可以让它同步。也许我应该改变
a.async=1
a.async=0?是的,需要测试,老实说,我不确定元标记是否会等待脚本标记完成。千万别碰到这种情况!如果您有时间,请告诉我们结果。这对于通过GA跟踪重定向的任何人都很有用。