【问题标题】:DataLayer Enhanced ecommerce additional product parameters - how to properly push them?DataLayer 增强型电子商务附加产品参数——如何正确推送?
【发布时间】:2016-05-27 16:40:19
【问题描述】:

我正在准备一份开发者简介,以实施包含 Datalayer 和增强型电子商务数据的 Google 跟踪代码管理器。我提到了Google Tag manager Enhanced ecommerce guideEnhanced ecommerce data types specification

我想知道的是,通过名为“电子商务”的数据层对象推送的增强型电子商务数据是否也可以作为变量在标签管理器中进一步使用,还是仅出于在其中设置 Google Analytics 代码的目的而推送GTM?我也想将这些参数与 GTM 中的其他标签一起使用。

问题是我想跟踪有关产品的更多参数,例如,比 Google 标记管理器增强型电子商务指南指定的参数。文章说,为了跟踪更多的产品参数,您可以通过自定义维度('dimension1': 'Additional parameter')来做到这一点,但我假设这些参数以后在跟踪代码管理器中不能作为变量使用?

那么在数据层对象“电子商务”之外还是在其中指定这些附加参数的正确方法是什么?

谢谢。

【问题讨论】:

    标签: google-analytics google-tag-manager universal-analytics google-datalayer enhanced-ecommerce


    【解决方案1】:

    您可以将电子商务数据层用于其他标签,只要对数据层的推送包含事件(即键为“事件”并且名称用于创建自定义事件的键/值对)扳机)。电子商务 dataLayer 的某些部分已经有一个事件(即 productClicks 它是 {'event': 'productClick'}),其他部分没有(即 productImpressions 的电子商务对象)。然后,您可以在该事件或之后触发的所有标签中使用电子商务对象。

    dataLayer 中的任何自定义维度也是如此。您将在产品范围内的 GA 后端创建自定义维度,然后将其添加到每个产品中:

    dataLayer.push({
          'event': 'productClick',
          'ecommerce': {
            'click': {
              'actionField': {
                'list': 'Search Results'
              }, // Optional list property.
              'products': [{
                'name': "test", // Name or ID is required.
                'id': "1234",
                'price': 12.33,
                'brand': "brand1",
                'category': "category1",
                'dimension1': "customValue1"
              }, {
                'name': "test", // Name or ID is required.
                'id': "1235",
                'price': 9.23,
                'brand': "brand2",
                'category': "category2",
                'dimension1': "customValue4"
              }]
            }
          });
    

    然后,您可以将自定义维度值作为产品对象的一部分访问 - 例如对于第一个产品的自定义维度,您可以创建一个 dataLayer 变量 "ecommerce.products.0.dimension1" ecommerce.click.products.0.dimension1 (这不是错字 - GTM 使用不寻常的符号对于数组索引,即您通过点符号而不是括号访问索引。

    【讨论】:

    • 您好,感谢您的回答!因此,如果我做对了,理论上它也可以处理没有设置事件的推送(使用标签优先级),但是在推送结束时设置一个事件并使用该事件触发自定义标签只是确保所有数据已加载到 dataLayer?那么对于没有事件的推送,你可以在最后添加一个自定义事件,然后使用该事件触发自定义标签?
    • 我目前在数据层中有这个测试信息:dropbox.com/s/kx2ub8axg5geis4/… 我正在尝试通过使用“ecommerce.products.0.dimension1”将一个变量定义为你提到过,但我不能这样做。变量(名为 CD 测试)仍显示默认值(未设置)dropbox.com/s/bibrcl1mlha5y3p/… 我使用事件 productloaded 来触发它调用变量的自定义标记。
    • 最后一条评论似乎不完整,但对于前面的是,需要一个事件来更新dataLayer的内部状态(dataLayer不仅仅是一个普通的对象,GTM添加了一些它自己的方法和属性到它),以便后续标签可以访问数据。
    • 知道了,但仍然无法从电子商务对象中提取任何内容。访问数据层根目录中的其他值很好。我应该使用第 1 版还是第 2 版?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多