1

我正在我们的网站上实施 GTM 和 GA,并且有一个关于传递有关产品印象和点击的电子商务数据的非常基本的问题,我从 GTM 官方文档中无法理解这些数据。

作为一个例子,我想讨论一下搜索结果页面。我们的搜索结果页面上通常会有 50-100 个产品列表。SRP 将加载预加载在 dataLayer=[{...}] 部分中的产品印象,其中包含 Google 跟踪代码管理器所需的所有变量,以使用正确的命名约定进行印象计算。作为一个例子,我想分享页面的 HTML 伪代码

<html>
<head>
....
....
    <script>
        dataLayer=[{
            'userID':'sdvkn3434mwgn4nk',
            'country':'USA',
            'language':'en-us',
            'ecommerce': {
                currencyCode': 'USD',
                'impressions': [
                    {
                     'name': 'Triblend Android T-Shirt',
                     'id': '12345',
                     'price': '15.25',
                     'brand': 'Google',
                     'category': 'Apparel',
                     'variant': 'Gray',
                     'list': 'Search Results',
                     'position': 1
                    },
                 {
                   'name': 'Donut Friday Scented T-Shirt',
                   'id': '67890',
                   'price': '33.75',
                   'brand': 'Google',
                   'category': 'Apparel',
                   'variant': 'Black',
                   'list': 'Search Results',
                   'position': 2
                 }]
            }
        }
    </script>
</head>
<body>
    ...
    ...
    <a href="www.example.com/12345.html">Triblend Android T-Shirt</a>
    <a href="www.example.com/12345.html">Donut Friday Scented T-Shirt</a>
    ....
</body>

在这个 dataLayer=[{}] 中,我们还会有与用户语言、用户 ID、所选国家等相关的数据

我想了解如何计算产品的点击次数。在谷歌文档中,https://developers.google.com/tag-manager/enhanced-ecommerce#product-clicks提到使用以下代码来跟踪它。

<script>
function(productObj) {
  dataLayer.push({
    'event': 'productClick',
    'ecommerce': {
      'click': {
        'actionField': {'list': 'Search Results'},      
        'products': [{
          'name': productObj.name,                      
          'id': productObj.id,
          'price': productObj.price,
          'brand': productObj.brand,
          'category': productObj.cat,
          'variant': productObj.variant
         }]
       }
     },
     'eventCallback': function() {
       document.location = productObj.url
     }
  });
}
</script>

这个函数应该在哪里声明?应该在哪里调用这个函数?以及我们如何将产品的值(即名称、id、价格等)传递给函数。

我不是开发人员,将使用开发人员的帮助将信息从后端获取到数据层。

4

2 回答 2

0

试试这个 HTML:

<body>
  ...
  ...
  <a class="toMisure" data-id="12345" data-name="Triblend Android T-Shirt"  href="www.example.com/12345.html">Triblend Android T-Shirt</a>
</body>

还有这个 Javascript Jquery:

<script>
$(function(){
 $('.toMisure').click(function(){
    dataLayer.push({
      'event': 'productClick',
      'ecommerce': {
      'click': {
      'actionField': {'list': 'Search Results'},      
      'products': [{
      'name': $(this).attr('data-name'),                      
      'id': $(this).attr('data-id'),
      'price': ...,
      'brand': ...,
      'category': ...,
      'variant': ...
     }]
    }
   },
   'eventCallback': function() {
     document.location = $(this).attr('href')
   }
  });
 });
});
</script>

通过标签 a 中的数据属性传递所有其他产品属性

然后在分析上创建事件“产品点击”而不是在此处解释

希望能帮到你!

于 2014-10-21T11:09:35.397 回答
0

我不确定为什么 Google 代码使用匿名函数。您可以将其命名为 trackProductClick 之类的名称。然后您可以在任何地方声明它并从 onclick 事件中调用它:

<a href="productname.html" onClick="trackProductClick({name: 'My Shoe Product', id: '1234', price: '100.00', brand: 'nike', cat: 'Shoes', varient: 'brown'})">Product Link</a>

于 2014-10-25T01:25:35.910 回答