我应该使用重定向来跟踪转化吗?以及如何进行 PHP 倒计时


should I use a redirect to track conversion? and how do I make a PHP countdown?

我有访问者进入某个PHP登录页面,该页面有一个指向外部网站的链接。

我想跟踪每个访问者是否点击了该链接,并接收其他信息,例如它的HTTP引用者,进入时间,点击时间,访问持续时间,浏览器等。

一个只涉及跟踪HTTP引荐来源网址的选项(实际上,它会向我显示访问者用来访问我的网站的"干净"搜索词)是使用一段JavaScript代码,该代码由我的流量源提供的自动工具生成。

由于我将访问者发送到外部网站,因此我认为进行此类跟踪的唯一方法是首先将单击链接的任何人发送到我网站上包含此代码的自动重定向页面。

现在,假设

我所有的假设都是正确的(如果不是,请告知):

1) 除了使用此自动生成的代码之外,我还有哪些其他选择?

2)这样的重定向页面应该是PHP页面吗?

3)在这样的PHP页面中,我读到最好使用:

    header('Refresh: 3;url=http://www.external-page.com');

4)我假设3秒足以让JavaScript代码完全工作,有没有办法向访问者显示动态倒计时消息?

5)我希望外部网站在新的浏览器窗口中打开,PHP有没有办法打开这样一个不包含任何工具栏的窗口,并以一定大小打开此窗口(而不是像"_blank"目标那样打开整个屏幕)?如果没有,我如何使用Javascript执行此操作?它是否调用插件?

6) 如果我必须转换多个登录页面才能以这种方式工作怎么办?我应该为每个登录页面手动创建一个单独的重定向页面,还是有办法制作一个模板,从原始页面接收链接输入?也许将用户发送到

   redirect.php?link=http://link1.com

然后"获取"链接并在 url 中回显它,但它似乎不够干净,我希望用户在指向链接时不会看到如此混乱的目标 URL。

谢谢!

只需在链接上添加一个点击事件侦听器,并在成功时直接重定向到远程站点(假设您使用的是jquery):

$(document).ready(function() {
    $('a').on('click', function(){
        var href = $(this).attr('href');
        // Send a transparent POST request to your server
        $.post(
            '/tracking-url', 
            {
                url: href // you will have access to $_POST['url'] containing your href attribute value
            },
            function(response) {
                // On success event 
                // If everything is ok (server-side), just redirect the user to the site
                window.location = href;
            }
        ).fail(function() {
            // something unexpected occured
            alert("error");
        });
        return false; // prevents the default event behaviour
    });
});

并保留链接原样:

<a href="http://link1.com">Go to link1</a>

参见 jQuery.post()
您还可以使用 jQuery.get() 访问$_GET[]值。