从iframe推送的增强型电子商务数据未发送到Google Analytics

时间:2016-09-28 01:29:28

标签: iframe google-analytics google-tag-manager enhanced-ecommerce

我有一个带有iframe的弹出窗口,用于加载产品列表(例如,subscribe.html)。在subscribe.html模板中,我检查是否在iframe中打开了页面,然后将产品展示次数发送到父级dataLayer。这是代码:

<script>
var data = {
    ecommerce: {
        currencyCode: 'GBP',
        impressions: [{
            id: 'product_1',
            name: 'product 1 name',
            list: window.top === window ? 'Traditional' : 'Light Box',
            position: 0,
            price: 10
        }]
    }
};

(window.top === window ? window : window.parent).dataLayer.push(data);
</script>

但是,当弹出窗口打开时,dataLayer中的数据不会发送到GA。 我的Universal Analytics代码设置如下:

Track Type: page view
Firing triggers: all pages

提前致谢。

2 个答案:

答案 0 :(得分:0)

这看起来只有在主页面上的网页浏览已经执行后才推送数据(并且您需要通过互动点击来发送电子商务数据)。我建议您为数据添加自定义事件,并将其用于触发器,该触发器会在附加电子商务数据的情况下触发Google Analytics事件。

答案 1 :(得分:0)

iframe是不同的,单独的页面,并需要自己的GTM容器。如果它们位于不同的域上,那将成为一个真正令人头痛的问题(http://www.simoahava.com/analytics/iframe-cross-domain-tracking-in-google-tag-manager/),但除此之外,您应该能够通过在iframe中放置一个Google跟踪代码管理器容器来轻松地做到这一点。

但是,您必须留意帧内容器可能抛出的任何额外标签。例如,如果您使用与常规站点相同的容器,则可能会将页面视图标记作为默认值;你可能想告诉它不要在iframe中激活,以免你重复计算人数。