如何在使用PHP的重定向页面上跟踪Google Analytics?
我有一个网站,我想跟踪谁点击了与GA的特定链接。
假设我有这个页面:/index.php?id=32
在这个页面上,我运行了一些基于ID变量的查询(在本例中为32),并从数据库中获取32 id项的URL来重定向访问者。
我正在使用PHP函数:header('Location:http://www.example.com');. 在我重定向用户之前,我希望Google捕获访问者的信息,然后才能重定向到所需的网页。
我试图在重定向之前粘贴GA代码和ECHO,但它不起作用。 怎样才能用GA来跟踪这些页面?
一般来说
如果您的网页使用重定向,则重定向页面会成为目标网页的推荐链接。 例如,如果您已更改网站,以便index.html现在重定向到home.html,则index.html将成为home.html的引荐来源。 如果有人通过Google搜索将您的网站发送给index.html,那么您将不会收到任何有关Google搜索的数据。
出于这个原因,您应该将Google Analytics(分析)跟踪代码放置在重定向页面以及着陆页上。 这样,重定向页面将为您的报告捕获实际的引荐来源信息。
请注意,有些浏览器可能会在JavaScript代码调用之前实际重定向。
(请参阅https://support.google.com/analytics/answer/1009614?hl=zh-CN)
你的具体案例
由于PHP在任何Javascript之前呈现并执行,因此Google Analytics跟踪器没有机会向其服务器发送数据。
解决方案
考虑到你无法跟踪PHP重定向页面,有很多可能的选择:
window.location = "http://www.yoururl.com";
<meta http-equiv="refresh" content="5; url=http://example.com/">
ga('send', 'pageview', '/index.php?id=32');
/products.php?utm_source=index&utm_medium=redirection-page&utm_campaign=32
在登录PHP重定向页面之前,列表中的最后两项是在初始页面上的各个链接上实现的。
我会建议像下面这样的东西。 它使用hitCallback进行重定向,以便将事件发送到GA,然后重定向将发生。 它还设置超时,以便analytics.js不可用(无论出于何种原因),观众仍然(最终)被发送到正确的位置。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>example</title>
<script>
setTimeout(redirect, 2000);
var redirected = false;
function redirect() {
if (!redirected) {
redirected = true;
location.href = 'http://your.website.here.com';
}
}
(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','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-NNNNNNN-N', 'auto');
ga('send', 'event', 'Event Name', 'redirect', {
hitCallback: redirect
});
</script>
</head>
<body>
</body>
</html>
跟踪代码和网址当然应该更新以符合您的要求。
参考文献:
如果你看看你的错误日志,你会看到一个错误,粗略地说“无法发送重定向头,头已经发送”。 当您的PHP代码片段之前已经有HTML / Javascript输出时(因为那时您已经隐式发送了您的http头文件),通过位置标头进行重定向是不可能的。
可以使用Google Googles测量协议创建服务器端解决方案,在重定向之前跟踪页面。 在这种情况下,您需要自己创建一个client_id,如果您重定向的属性是您自己的,请将其附加到重定向url以进行跨域跟踪。
如果这不是问题,你可以使用Curl或fopen通过Url向GA发送呼叫:
https://www.google-analytics.com/collect?v=1&tid=UA-XXXX-Y&cid=XXXXXXXXt=pageview&dp=%2redirect
其中,UA-XXXX-Y是来自Google的帐户ID,cid是您生成的客户端ID,/ redirect是您网页的名称。 如果要识别重复使用的用户,则需要将客户端ID保存到Cookie,并检查每次访问是否存在Cookie,如果存在,则检索该ID。
链接地址: http://www.djcxy.com/p/34729.html上一篇: How to track with Google Analytics on a redirection page with PHP?