ウェブサイトに GTM と GA を実装していますが、製品のインプレッションとクリックに関する e コマース データの受け渡しについて非常に基本的な質問がありましたが、公式の 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、価格などをどのように関数に渡しますか。
私は開発者ではありません。開発者の助けを借りて、バックエンドからデータレイヤーに情報を取得します。