2016-01-20 70 views
2

我想知道是否可以使用电子商务数据图层中的对象在GTM中创建变量?下面是我的脚本,我想在一个变量中传递产品名称。使用dataLayer中的对象在GTM中创建变量

<script> 
gtm.data.ecommerce = { 
    'detail' : { 
     'actionField': {'list': gtm.list}, 
     'products': [{ 
      'name':   'productname', 
      'id':   '123456', , 
      'price':  '25.0', 
      'brand':  'mybrand', 
      'category':  'top', 
      'list':   gtm.list 
     }] 
    }, 
    'impressions': [] 
} 

+0

哪里是你的变量来自哪里? – colecmc

回答

0

您可以添加一些HTML代码,其中包括你的产品名称(如果没有它的话)。然后,当这些产品进行交互时,例如通过点击,将该产品名称发送给GTM。

function sendToGTM (productName) { 
 
    /** 
 
    * send data to GTM 
 
    */ 
 
    console.log(productName); 
 
    var data = { 
 
    'detail' : { 
 
     'actionField': {'list': gtm.list}, 
 
     'products': [{ 
 
      'name':   productName, 
 
      'id':   '123456', 
 
      'price':  '25.0', 
 
      'brand':  'mybrand', 
 
      'category':  'top', 
 
      'list':   gtm.list 
 
     }] 
 
    }, 
 
    'impressions': [] 
 
    }; 
 
    gtm.data.ecommerce = data; 
 
    return data; 
 
} 
 

 
document.addEventListener('click', function(event){ 
 
    /** 
 
    * on click, send product name to gtm function 
 
    */ 
 
    if (event.target.classList.contains('product')) { 
 
    sendToGTM(event.target.dataset.productName); 
 
    } 
 
}, false);
<!DOCTYPE html> 
 
<html> 
 
<head> 
 
    <meta charset="utf-8"> 
 
    <meta name="viewport" content="width=device-width"> 
 
    <title>Create a Variable in GTM using objects in the dataLayer</title> 
 
</head> 
 
<body> 
 

 
    <div class="products"> 
 
    <a href="#"> 
 
     <img src="https://c2.staticflickr.com/2/1131/711161806_fcf773a330_z.jpg?zz=1" class="product" data-product-name="Sunny" /> 
 
    </a> 
 
    <a href="#"> 
 
     <img src="http://indianapublicmedia.org/news/files/2012/06/sun.jpg" class="product" data-product-name="Bright Sun" /> 
 
    </a> 
 
    <a href="#"> 
 
     <img src="http://mediad.publicbroadcasting.net/p/kbia/files/styles/medium/public/hot%20summer%20sun_jetsandzeppelins_Flickr.jpg" class="product" data-product-name="Sun Shiney Day" /> 
 
    </a> 
 
    </div> 
 
    
 
    
 
</body> 
 
</html>