Google Analytics 和 Google 跟踪代码管理器中的产品范围维度

Product scoped dimensions in Google Analytics and Google Tag Manager

我需要通过 Google 跟踪代码管理器将我的产品范围自定义维度传递到 Google Analytics。我只能读取产品对象数组中的第一个变量。我的 Analytics 中根本没有显示任何自定义维度(甚至是所有维度中的第一个值)。

我已将 Analytics 中的自定义维度设置为产品范围:

然后在 GTM 中,我在我的代码中设置了自定义维度。

在维度值中,我使用了进入结构的变量并找到变量 productSize。

这是我的代码:

<script>
    dataLayer.push({
      'event': 'productImpression',
      'ecommerce': {
        'impressions': [
         {
           'name': 'Android tričko',
           'id': '12345',
           'price': '299',
           'brand': 'Google',
           'category': 'Pánská trička',
           'variant': 'bílá',
           'list': 'Search Results',
           'productSize': 'L',          // product scoped custom dimension
           'position': 1            
         },
         {
           'name': 'Donut Friday Scented T-Shirt',
           'id': '67890',
           'price': '33.75',
           'brand': 'Google',
           'category': 'Apparel',
           'variant': 'Black',
           'list': 'Search Results',
           'productSize': 'XL',         // product scoped custom dimension
           'position': 2
         }]
      }
    });
</script>

正如我所说,问题是我只能读取自定义维度 ("L") 的第一个值(显然)。我应该用什么代替可变点符号中的零符号来获取所有值("L"、"XL")?

我需要将每个产品的所有值都传递到 Analytics 中。我是否必须在单独的 dataLayer.push() 中推送每个产品?我在 Analytics 中什么都看不到的问题在哪里?请帮忙。

您不能使用通过界面为维度指定的名称。您必须使用 "dimension" keyword plus the numeric index(创建顺序),因此报告中称为 "productSize" 的维度在您的示例中将在代码中作为 "dimension1" 处理:

...
'list': 'Search Results',
'dimension1': 'L',          // product scoped custom dimension
'position': 1       
...

之后,GA 会自动从数据层中选取您的维度。