php – 尝试跟踪用户电子邮件中的点击次数

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 尝试跟踪用户电子邮件中的点击次数脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我的问题如下:

我正在尝试计算新闻稿中广告的点击次数.问题是我不能在邮件中包含js – 这是可以理解的.所以我通过编写这一小段代码找到了解决方法

<script tyPE="text/javascript" src="http://www.factmag.COM/wp-content/themes/modularITy_/js/jquery-1.3.2.min.js"></script>

<script type="text/javascript">

    function getUrlVARs()
    {
        var vars = [],hash;
        var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&amp;');
        for(var i = 0; i < hashes.length; i++)
        {
            hash = hashes[i].split('=');

            if($.inArray(hash[0],vars)>-1)
            {
                vars[hash[0]]+=","+hash[1];
            }
            else
            {
                vars.push(hash[0]);
                vars[hash[0]] = hash[1];
            }
        }

        return vars;
    }

                function redirect()
                {
                    var link = getUrlVars()["page_url"];
                    setTimeout('document.location = "' + link + '"',100)
                }
</script>
<body onload="javascript:redirect();"></body>


<script type="text/javascript">

 var _gaq = _gaq || [];
 _gaq.push(['_setAccount','UA-4340871-1']);
 _gaq.push(['_trackPageview']);

 (function() {
 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
 ga.src = ('https:' == document.location.PRotocol ? 'https://ssl' : 'http://www') + '.GOOGLE-Analytics.com/ga.js';
 var s = document.getelementsbytagname('script')[0]; s.parentNode.insertBefore(ga,s);
 })();

</script>

它托管在我们的服务器和简报中,广告代码具有以下格式:

<a href="http://www.example.com/example_ad_counter/?utm_source=banner6&utm_medium=banner&utm_Campaign=banner&page_url=ad_url"><img src="ad_img_url" style="border:1px solid #000;"></a>

那么我想在这里做什么:

>用户点击电子邮件中的广告.
>他带着这个脚本进入页面.
> Google Analytics会计算跟踪它所需的数量.
>脚本将用户重定向广告商页面.

在这是交易 – 谷歌分析在这里没有计算.我的猜测是我需要在google js中添加一些内容才能这样做,但不知道是什么.有人可以帮我这个吗?谢谢.

解决方法

您希望确保在调用Google代码调用重定向.目前,您已在onLoad上运行它. yC对于它可能是竞争条件的问题的评论是正确的,但推动你的setTimeout将无法完全解决这种竞争条件.

谷歌将自己插入页面后,您可以尝试调用重定向功能.

这里的代码

(function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga,s);
})();

…实际上是google为您的网页添加新的脚本标记,然后将分析网址加载到其中. Brendon建议关闭异步是正确的,但后来我建议在var s =文档行(函数内部)之后添加重定向调用,并希望这会给google足够的时间来完成其脏工作并在重定向之前.

如果这不起作用,那么坚持使用yC的建议并进一步推迟超时.只要知道重定向延迟正在与谷歌的脚本加载然后运行所花费的时间竞争,这是不可预测的.我可能会把setTimeout放在我建议直接调用重定向函数的地方.这意味着它甚至不会开始计算延迟,直到谷歌的分析脚本添加页面.

脚本宝典总结

以上是脚本宝典为你收集整理的php – 尝试跟踪用户电子邮件中的点击次数全部内容,希望文章能够帮你解决php – 尝试跟踪用户电子邮件中的点击次数所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。