gpt4 book ai didi

jquery - 每个 session 只发送一次事件?

转载 作者:行者123 更新时间:2023-12-03 17:18:03 25 4
gpt4 key购买 nike

每次 session 是否可以只发送一次谷歌分析事件?我不想在每次浏览量中都发送我的特定事件。

我想要达到的目标:

我目前正在运营一个没有任何广告的网站。我想测试我的网站有多少访问者在使用广告拦截器。

我会添加一个元素

<div class="ad"></div>

这可能会被每个广告拦截器(至少大多数)过滤掉。然后我会用jquery测试元素是否存在
$(function(){
function test(){
var len = $('.ad').length;
if(len === 0){
ga.send(..);
}
}

// give adblockers a sec to remove everything, just in case
setTimeout(test,500);

});

我可能可以使用自定义 cookie 的解决方法,例如
// simplified
if (!cookie) {
test();
}

但如果仅使用 google api 可以做到这一点,我会很感兴趣

最佳答案

Google Analytics 事件是一种命中类型(如综合浏览量),不能将其限定为 session 或用户。即使每个 session 只能发送一个事件(使用 cookie 或 sessionStorage,您实际上也不会在 GA 报告中了解全部情况。

要提供更好的解决方案,请考虑使用具有“ session ”范围的自定义维度来存储该数据。很酷的地方在于维度应用于 全部 范围内的点击类型 - 意味着任何网页浏览、事件等也具有与之关联的维度。

为此,请在自定义定义中的属性设置下的 Google Analytics(分析)管理中创建维度。获取索引号(类似于 'dimension1''dimension 4' 的字符串)并粘贴行 之前 发送综合浏览量(理想情况下)或事件。

记住:维度不是命中,因此只需设置它们,直到命中也被发送!另外,一定要启用non-interaction在事件上(如果这是您选择的路线),否则您将误报来自使用广告拦截器的反弹。

这是理想的片段(注意:如果您要将 setTimeout 作为检测的一部分,请不要使用此方法,因为它也会延迟综合浏览量发送...考虑一个不需要超时的方法。):

<script>
(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','//www.google-analytics.com/analytics.js','ga');

ga('create', 'UA-XXXXX-Y', 'auto');

//Detection goes here. If true:
ga('set', 'dimension1', 'Ad Blocker'); //Change 'dimension1' to yours.

ga('send', 'pageview');
</script>

如果您无法在 <head> 之前进行检测,则上面的代码将如下所示GA 发送网页浏览片段。
function test(){
var len = $('.ad').length;
if(len === 0){
ga('set', 'dimension1', 'Ad Blocker'); //Change 'dimension1' to yours.
ga('send', 'event', 'Ad Blocker', {nonInteraction: true}); //Add action and label as needed.
}
}

关于jquery - 每个 session 只发送一次事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34376275/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com