跟踪对同一元素的多次点击

时间:2019-05-31 06:15:52

标签: javascript google-tag-manager

寻找一种跟踪元素是否已被多次单击的方法(例如,用户多次单击“提交”按钮以下订单)。

我们正在做一些重新开发网站的工作,并且在我们的用户体验研究中,我们发现人们没有从网站下载PDF,因为按钮后面的链接已断开。我们注意到人们倾向于在放弃之前多次单击按钮,但是有些人仍然设法下载PDF。

为了表明我们对代码的更改提高了网站性能和用户体验,我们希望表明这些“多次点击”已经减少。

由于该网站使用Google Analytics(分析),因此我尝试在GTM中创建一个变量,该变量计算对同一click元素的点击(无效):

function() {
var the_div = {{Click Element}};
var clickCount = 0;                      
return clickCount;                      
}

我希望输出结果是我点击Click元素(1、2、3等...)的次数的计数

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