2017-09-07 27 views
0

我沒有問題從「簡單」的數據層, 例如,創建GTM變量:如何從dataLayer數組創建GTM變量?

"transactionEntity": "ORDER", 
"transactionId": "193552702", 

但無法理解如何從數組取值。 基本上我需要從這些數據層表取ID值:

"transactionProducts":  [ 
     { 
     "id": "5", 
     "sku": "black-handbag", 
     "price": 170, 
     "priceexcludingtax": "0.00", 
     "tax": "0.00", 
     "taxrate": 0, 
     "type": "bundle", 
     "category": "", 
     "quantity": 1 
     }, 
     { 
     "id": "3", 
     "sku": "red-handbag", 
     "price": 120, 
     "priceexcludingtax": "0.00", 
     "tax": "0.00", 
     "taxrate": 0, 
     "type": "bundle", 
     "category": "", 
     "quantity": 1 
     } 
    ], 

而且使用這種格式將它們傳遞給FB像素:

content_ids: ['5', '3'], 

回答

1

如果你有數據層這樣的:

<script> 
dataLayer.push({ 
    'ecommerce': { 
    "transactionProducts":  [ 
     { 
     "id": "5", 
     "sku": "black-handbag", 
     "price": 170, 
     "priceexcludingtax": "0.00", 
     "tax": "0.00", 
     "taxrate": 0, 
     "type": "bundle", 
     "category": "", 
     "quantity": 1 
     }, 
     { 
     "id": "3", 
     "sku": "red-handbag", 
     "price": 120, 
     "priceexcludingtax": "0.00", 
     "tax": "0.00", 
     "taxrate": 0, 
     "type": "bundle", 
     "category": "", 
     "quantity": 1 
     } 
    ] 
    } 
}); 
</script> 

而你想創建一個變量,它將返回ID數組['5', '3']

然後,你需要創建兩個變量:

1)名稱:transactionProducts

類型:Data Layer Variable

數據層變量名:ecommerce.transactionProducts

2)名稱:transactionProductsIds

類型:Custom JavaScript

自定義JavaScript:function() { return {{transactionProducts}}.map(function(a) {return a.id;}); }

然後你就可以用你的第二個變量transactionProductsIds收到的ID

+0

謝謝。有效! – MployBy