Macros 如何创建一个Google标记管理器规则,该规则基于没有ID的DOM元素的存在而触发?
我在一个客户的电子商务网站上工作,当有人成功注册该网站时,一条成功消息()显示在无序列表元素()中 我想创建一个Google Tag Manager规则,当这个成功消息加载到页面上时触发,但不知道如何触发,如果你能抽出一分钟的时间,我希望你能提供帮助 基于我的准备(主要是Simo Ahava-),我尝试创建一个DOM元素宏,其中ElementID为“success msg”,然后使用它创建以下规则:Macros 如何创建一个Google标记管理器规则,该规则基于没有ID的DOM元素的存在而触发?,macros,google-tag-manager,Macros,Google Tag Manager,我在一个客户的电子商务网站上工作,当有人成功注册该网站时,一条成功消息()显示在无序列表元素()中 我想创建一个Google Tag Manager规则,当这个成功消息加载到页面上时触发,但不知道如何触发,如果你能抽出一分钟的时间,我希望你能提供帮助 基于我的准备(主要是Simo Ahava-),我尝试创建一个DOM元素宏,其中ElementID为“success msg”,然后使用它创建以下规则: {{url}} - ends with - /artistsignup/index/index
{{url}} - ends with - /artistsignup/index/index
{{success message}} - greater than - 0
{{event}}} - equals - gtm.load
{{event}} - equals - signUpSuccess
然而,这似乎不起作用
如果您有任何建议,我们将不胜感激,非常感谢
<div class="col-main">
<ul class="messages">
<li class="success-msg">
<ul>
<li>
<span>Thank you for signing up.</span>
</li>
</ul>
-
-
谢谢你报名。
Alex我必须为我的客户做很多这方面的工作,以下几点似乎对我有用注意:此解决方案使用jQuery。 其思想是,您希望运行一个脚本来检查成功消息是否可见,当它可见时,将数据层事件推送到GTM(Google Tag Manager) 第一步,在GTM控制台中创建一个自定义HTML标记,当成功消息变为可见时触发dataLayer事件:
<script type="text/javascript">
(function(){
try{
// Set a variable to the setInterval method so it can be cleared.
var checkSuccess = setInterval(function(){
// Check if the success message exists.
if($('span:contains(Thank you for signing up)').length !== 0){
// Check if the success message is visible.
if($('span:contains(Thank you for signing up)').is(':visible')){
// Push the success event to the GTM's dataLayer.
dataLayer.push({'event' : 'signUpSuccess'});
// Terminate the interval upon success.
clearInterval(checkSuccess);
}
}
},500);
}catch(e){
// Uncomment to view errors.
// console.log('GTM Error: ' + e);
}
})();
</script>
最后,您希望在成功消息出现时触发的任何跟踪标记应具有以下规则:
{{url}} - ends with - /artistsignup/index/index
{{success message}} - greater than - 0
{{event}}} - equals - gtm.load
{{event}} - equals - signUpSuccess
最后要注意的是,如果不能使用jQuery进行此操作,那么只需将jQuery选择器替换为纯JavaScript选择器即可
谢谢您是否尝试使用注册成功页面将事件推送到数据层?然后,您可以设置一个规则来触发该事件。{{success message}}宏返回什么?看起来它应该返回一个整数。谢谢!非常感谢你的帮助。作为jQuery的新手,我不知道如何解决以下javascript编译器错误——“第12行的错误,字符6:解析错误。”}“应为。”(这与第“}catch(e){”行有关)。再次感谢您的建议!嗯,这很奇怪。当我在测试GTM contianer中尝试它时,我没有遇到javascript编译器错误。您能提供您创建的标记的精确副本吗?在我的示例中,第12行被注释为“//终止间隔…”