如何无需开发支持让GTM标签仅对每个用户触发一次?
无需开发/数据层实现GTM标签按用户仅触发一次的方案
不用开发支持和数据层也能搞定,直接用GTM自带的自定义变量和Cookie就能实现,步骤如下:
第一步:创建用户级检查变量
新建一个「用户级」的自定义JavaScript变量,命名比如「是否已触发目标标签」,代码写:function() { return document.cookie.split('; ').some(row => row.startsWith('tag_fired=')); }这个变量的作用是检查用户浏览器里有没有标记触发过标签的Cookie,用户级变量会在整个用户生命周期内保留判断逻辑。
第二步:设置目标标签的触发条件
给你需要限制的标签加触发条件:在原有的触发(比如页面视图)基础上,添加「{{是否已触发目标标签}} 等于 false」,这样只有第一次访问的用户才会触发标签。第三步:添加标记Cookie的辅助标签
新建一个自定义HTML标签,用来在目标标签触发后给用户设置Cookie,防止后续触发:<script> // 设置有效期1年的Cookie,覆盖整个网站路径 document.cookie = "tag_fired=true; expires=" + new Date(Date.now() + 31536000000).toUTCString() + "; path=/"; </script>把这个标签的触发条件和目标标签设成一样,然后在GTM的「标签顺序」里把它设为在目标标签之后触发,确保只有目标标签触发后才会标记Cookie。
这样操作下来,每个用户第一次访问时会触发目标标签,之后无论再访问多少次,因为Cookie存在,变量返回true,标签就不会再触发了,全程不用开发改代码或者动数据层。
内容的提问来源于stack exchange,提问作者Degreeze
相关产品推荐
相关产品推荐

