如何使用PHP在重定向页面上使用Google Analytics跟踪?

Rad*_*ity 20 javascript php redirect google-analytics url-redirection

我有一个网站,我想跟踪谁点击了与GA的特定链接.

假设我有这个页面:/index.php?id = 32

在这个页面上,我根据ID变量(在这种情况下:32)运行一些查询,然后从数据库中获取32 id项的URL以重定向访问者.

我正在使用PHP函数:header('Location:http://www.example.com ');. 在我重定向用户之前,我希望Google捕获访问者的信息,然后才能重定向到所需的网页.

我试图在重定向之前粘贴GA代码和ECHO,但它不起作用.如何用GA跟踪这类页面?

car*_*rso 17

一般来说

如果您的网页使用重定向,则重定向页面将成为着陆页的引荐来源.例如,如果您更改了网站以便index.html现在重定向到home.html,则index.html将成为home.html的引荐来源.如果有人通过Google搜索将您的网站首先发送到index.html,则您将无法获得有关Google搜索的任何数据.

因此,您应将Google Analytics跟踪代码放在重定向页面以及着陆页上.这样,重定向页面将捕获报告的实际引荐来源信息.

请注意,某些浏览器实际上可能会在从代码进行JavaScript调用之前重定向.

(参见https://support.google.com/analytics/answer/1009614?hl=en)

你的具体情况

由于PHP在任何Javascript之前呈现并执行,因此Google Analytics跟踪器无法将数据发送到其服务器.


解决方案

考虑到您无法跟踪PHP重定向页面,有许多可能的替代方案:




  • 广告系列跟踪(在这种特定情况下我不会亲自使用此方法.)
    • /products.php?utm_source=index&utm_medium=redirection-page&utm_campaign=32

列表中的最后两项在您进入PHP重定向页面之前在初始页面上的各个链接上实现.


sfo*_*dal 10

我建议如下.它使用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>
Run Code Online (Sandbox Code Playgroud)

跟踪代码和网址当然应该更新以匹配您的.

参考文献: