我使用谷歌标签管理器在我的网站上启动标签.变量“;未定义的“;在任何版本的Internet Explorer的自定义代码

I use Google Tag Manager to fire tags on my website.Variables "undefined" in custom code for any version of Internet Explorer

本文关键字:标签 任何 未定义 Internet 代码 自定义 Explorer 版本 启动 谷歌 管理器      更新时间:2023-11-08

我正在使用谷歌标签管理器在我的网站上激发标签。标记在除Internet Explorer(任何版本)之外的所有浏览器中都能正确启动。实际情况是,在使用Internet Explorer时,GTM宏没有填充到我的自定义Javascript中。但是,如果我刷新页面,它们就会被填充。基于此,我认为问题在于标记在DOM完全加载之前就被激发了。我在"规则"中使用{{event}} equals gtm.dom。我也尝试在"规则"中使用{{event}} equals gtm.load,但这也不起作用。以下是如何定义GTM宏、规则和标记。更奇怪的是,当我在GTM中以"预览"模式测试标签时,它每次都能正常工作,没有问题。但一旦我发布了它,它就不再有效了,除非我刷新页面。我做错了什么?

宏名称:PDP ProdID
宏类型:自定义JavaScript
自定义Javascript:

function () {
    var pdp_prodid = document.getElementsByName('sku')[0].value;
    return pdp_prodid;
}

规则名称:FullSite_Product_Detail_Page-页脚
条件:
{{url}} contains gohastings.com/product/
{{event}} equals gtm.dom

标记名称:Fetchback_Smart_Pixel-Remarketing-PDP
标记类型:自定义HTML标记
HTML:
<iframe src='{{protocol}}://pixel.fetchback.com/serve/fb/pdj?cat=&name=landing&sid=6288&browse_products={{PDP-ProdID}}' scrolling='no' width='1' height='1' marginheight='0' marginwidth='0' frameborder='0'></iframe>

射击规则:FullSite_Product_Detail_Page-页脚

网站:qa.gohastings.com(但是,我的qa网站上有一些问题,所以请使用此链接,因为它会直接带您进入产品详细信息页面。
http://qa.gohastings.com/product/BOOK/Fifty-Shades-of-Grey-Bk-1/sku/287464232.uts(产品详细信息页)

第一页加载标签的结果
<iframe width="1" height="1" src="http://pixel.fetchback.com/serve/fb/pdj?cat=&name=landing&sid=6288&browse_products=undefined" frameBorder="0" marginWidth="0" marginHeight="0" scrolling="no">

页面重新加载后的标记结果
<iframe width="1" height="1" src="http://pixel.fetchback.com/serve/fb/pdj?cat=&name=landing&sid=6288&browse_products=287464232" frameBorder="0" marginWidth="0" marginHeight="0" scrolling="no">

我在使用Google Analytics跟踪电子商务交易时遇到了类似的问题。gtm.dom事件将在我设置事务详细信息之前触发。我最终做的是在设置数据层之后触发一个自定义事件,而不是使用gtm.dom事件。

您可以将规则条件更改为{{event}} equals myPageLoad,然后在页面加载后,您知道所需的一切都准备好了(例如,在jQuery中使用$(document).ready(...)),调用:

dataLayer.push({ event: 'myPageLoad' });
相关文章: