Google跟踪代码管理器增强了电子商务数据层

时间:2014-10-21 06:10:21

标签: javascript google-analytics google-tag-manager google-datalayer

我在我们的网站上实施了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,所选国家/地区等相关的数据

我想了解如何计算产品上的点击次数。在google文档中,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,价格等传递给函数。

我不是开发人员,会利用开发人员的帮助从后端将信息传输到数据层。

2 个答案:

答案 0 :(得分: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中的data-attribute传递所有其他产品属性

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

希望帮助你!

答案 1 :(得分:0)

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

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