高度な電子商取引分析を設定して注文確認ページから取引データを読み込もうとしています。Googleタグマネージャと先進電子商取引 - 取引商品
これは私にとって利用可能な唯一のオプションであるため、Dom要素からデータをスクレイプしています。
私はtransactionId、transactionTotal、transactionShippingなどのフィールドを読み取ることができますが、transactionProductsは読み取れません。 (私は1つの製品しか読めませんが、複数の製品がある場合はそれ以上はありません)。
私のデータ層は、そのようなカスタムHTMLタグとして追加されました -
<script>
window.dataLayer = window.dataLayer || []
dataLayer.push({
'transactionId': {{transactionId}},
'transactionAffiliation': 'Company name',
'transactionTotal': {{transactionTotal}},
'transactionTax': 0,
'transactionShipping': {{transactionShipping}},
'transactionProducts': [{
'sku': {{productCode}},
'name': {{transactionName}},
'category': 'Generic category',
'price': {{transactionPrice}},
'quantity': {{transactionQuantity}}
}]
});
</script>
フィールドはカスタムのJavaScript変数です。
TransactionIdの - - たとえば
function() {
var transactionId = document.querySelector([id*='OrderNumberValue']").textContent;
return transactionId;
}
タグは、データ層は、(あなたが見ることができるように、唯一の1トランザクション製品はときに返されるので、のように見える確認ページで解雇されたら注文には2種類の商品があります) -
Window Loaded:
{event: 'gtm.load'}
transactionId: '1000001',
transactionAffiliation: 'Company name',
transactionTotal: '10.00',
transactionTax: 0,
transactionShipping: '0.00',
transactionProducts: [
{
sku: 'SAMPLE1',
name: 'Sample product',
category: 'Generic category',
price: '5.00',
quantity: '1'
}]
}
{gtm.start: 1474472447660, event: 'gtm.js'}
本当にありがとうございました。あなたはあなたの製品のためのHTMLが見えますが、基本的にあなたが製品を含む要素にDocument.querySelectorAllを使用して、結果を反復処理したい方法を示していない限り、本当に釈明はありません
おかげ
応答ありがとうございました。これは、問題を解決する正しい方向に私を向けるのを助けました。 –