首页 文章

我使用Google跟踪代码管理器在我的网站上激活标记 . 任何版本的Internet Explorer的自定义代码中的变量“未定义”

提问于
浏览
5

我正在使用Google跟踪代码管理器在我的网站上触发代码 . 除了Internet Explorer(任何版本)之外,所有浏览器中的标记都正确触发 . 发生的事情是,在使用Internet Explorer时,我的自定义Javascript中没有填充GTM宏 . 但是,如果我刷新页面,则会填充它们 . 基于此,我假设问题是标签在DOM完全加载之前触发 . 我在"Rule"中使用 {{event}} equals gtm.dom . 我也尝试在"Rule"中使用 {{event}} equals gtm.load ,但这也不起作用 . 以下是我如何定义GTM宏,规则和标记 . 更奇怪的是,当我在GTM中以"Preview"模式测试标签时,它每次都有效,没有问题 . 但是一旦我发布它,除非我刷新页面,否则它不再有效 . 我究竟做错了什么?

Macro Name: PDP-ProdID
Macro Type: 自定义JavaScript
Custom Javascript:

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

Rule Name: FullSite_Product_Detail_Page - 页脚
Conditions:
{{url}} contains gohastings.com/product/
{{event}} equals gtm.dom

Tag Name: Fetchback_Smart_Pixel-Remarketing-PDP
Tag Type: 自定义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>

Firing Rules: FullSite_Product_Detail_Page - 页脚

Site: qa.gohastings.com(但是,我的QA网站上存在一些问题,因此请使用此链接,因为它会直接转到产品详细信息页面 .
http://qa.gohastings.com/product/BOOK/Fifty-Shades-of-Grey-Bk-1/sku/287464232.uts (产品详情页面)

Result of tag on first page load
<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">

Result of tag after page reload
<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">

1 回答

  • 3

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

    您可以将规则条件更改为 {{event}} equals myPageLoad ,然后在页面加载后您知道所有内容已准备就绪(例如,在jQuery中使用 $(document).ready(...) ),请调用:

    dataLayer.push({ event: 'myPageLoad' });
    

相关问题