【发布时间】:2017-01-09 15:59:53
【问题描述】:
我正在尝试在以下两条规则为真时触发 GTM 标记: rules image
自定义js变量的内容为:
function () {
setTimeout(function () {
var thankyouMessage = document.querySelector("#newsletter-success").innerHTML === "Thank you for your subscription.";
console.log('thankyouMessage', thankyouMessage);
return thankyouMessage;
}, 2000)
}
目前未触发该代码。 每当我删除自定义规则时,标签就会被触发,但是当我添加它时,我可以看到控制台打印出“true”,这意味着自定义规则运行正确。 我还尝试使用不涉及“setTimeout”的不同自定义规则并且它有效。但我必须使用超时,因为我试图捕捉的事件不会立即发生。
如何正确触发代码?
谢谢。
【问题讨论】:
-
嗨,Itai。这里的问题是
thankyouMessage被返回给setTimeout内的函数,而不是外部函数。我手头没有延迟自定义 js 变量的解决方案;但如果我处于您的位置,我会考虑将此代码移至您的网站 - 并将内容推送到 GTMdataLayer。这对您来说是一个可行的选择吗? -
不,我无权访问代码。但是感谢您解释问题
标签: javascript google-tag-manager