加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 22:29:06 所属栏目:PHP教程 来源:网络整理
导读:我的问题如下: 我正在尝试计算新闻稿中广告的点击次数.问题是我不能在电子邮件中包含js – 这是可以理解的.所以我通过编写这一小段代码找到了解决方法: script type="text/javascript" src="http://www.factmag.com/wp-content/themes/modularity_/js/jque
我的问题如下:

我正在尝试计算新闻稿中广告的点击次数.问题是我不能在电子邮件中包含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('&');
        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放在我建议直接调用重定向函数的地方.这意味着它甚至不会开始计算延迟,直到谷歌的分析脚本添加到页面.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读