寻找一种跟踪元素是否已被多次单击的方法(例如,用户多次单击“提交”按钮以下订单)。
我们正在做一些重新开发网站的工作,并且在我们的用户体验研究中,我们发现人们没有从网站下载PDF,因为按钮后面的链接已断开。我们注意到人们倾向于在放弃之前多次单击按钮,但是有些人仍然设法下载PDF。
为了表明我们对代码的更改提高了网站性能和用户体验,我们希望表明这些“多次点击”已经减少。
由于该网站使用Google Analytics(分析),因此我尝试在GTM中创建一个变量,该变量计算对同一click元素的点击(无效):
function() {
var the_div = {{Click Element}};
var clickCount = 0;
return clickCount;
}
我希望输出结果是我点击Click元素(1、2、3等...)的次数的计数
答案 0 :(得分:0)
在全局范围内使用javascript
变量
<script>
countClicks = 0;
function clickCountFunction() {
countClicks++;
alert("Hello there!");
}
</script>
在按钮中添加onClick
属性,并在其中调用clickCountFunction()
答案 1 :(得分:0)
尝试这样。
定义一个计数变量。并在每次点击时增加它。
var i = 1;
$('#elem').on('click',function(){
console.log(i);
i++;
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="elem">click here</div>
答案 2 :(得分:0)
抱歉,回复延迟。 我们找到了解决方案。
正如Piertstorff所指出的,该变量在每次调用时都会将clickCount设置为零。解决方案是构建一个自定义HTML标记(运行JS)(而不是一个变量),该标记在页面加载触发器上触发并在2秒的时间内监听多次点击。然后,HTML标记将事件传递给DataLayer,并存储在变量中。
该变量(发出多次点击信号)激活了另一个变量的触发器,该变量将{{Click Classes}}变量传递给了GA