0

我有一个带有加载产品列表(例如,subscribe.html)的 iframe 的弹出窗口。在 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

提前致谢。

4

2 回答 2

0

这看起来只有在主页上的综合浏览量已经执行后才会推送数据(并且您需要交互命中来发送电子商务数据)。我建议您将自定义事件添加到数据中,并将其用于触发带有电子商务数据的 Google Analytics 事件的触发器。

于 2016-09-28T06:57:41.770 回答
0

iframe 是不同的独立页面,需要它们自己的 GTM 容器。如果他们在不同的域上,那真的很头疼(http://www.simoahava.com/analytics/iframe-cross-domain-tracking-in-google-tag-manager/),否则你应该能够通过在 iframe 中放置一个 Google 跟踪代码管理器容器来相当容易地做到这一点。

但是,您必须留意框架内容器可能抛出的任何额外标签。例如,如果您使用与常规站点相同的容器,则它可能具有默认的 Page View 标签;您可能想告诉它不要在 iframe 中激活,以免重复计算人数。

于 2016-09-28T13:00:00.153 回答