私のEEC実装では、下のdataLayerの配列から両方のIDをフェッチし、別のピクセルに挿入する必要があります。このピクセルは配列を受け入れますが、どのように進めるか分かりません。GTMの使用:dataLayerの「id」というキーから両方の値を同時に取得する方法は?
},
products:[
{
name: 'haranger',
id:'123'
},
{
name: 'haranger',
id:'456'
}]
私のEEC実装では、下のdataLayerの配列から両方のIDをフェッチし、別のピクセルに挿入する必要があります。このピクセルは配列を受け入れますが、どのように進めるか分かりません。GTMの使用:dataLayerの「id」というキーから両方の値を同時に取得する方法は?
},
products:[
{
name: 'haranger',
id:'123'
},
{
name: 'haranger',
id:'456'
}]
一つは、最初のdatalayer変数に製品の配列を読み込むことであろう - おそらくこれはあなたのEコマース・オブジェクトにネストされているので、これはecommerce.products
(あなたdatalayerによって異なります)のようなものかもしれません。
次に、dataLayer変数からIDを抽出して配列に格納するカスタムjavascript変数を作成できます。 javascriptの変数カスタム値を返す匿名関数であるので、それは次のようになります。
function() {
var array_of_ids = [];
products = {{dataLayer_variable_with_products}};
products.forEach(function(item) {
array_of_ids.push(item.id)
});
return array_of_ids;
}
(あなたの代わりに単純なループを使用する場合がありますので、いくつかの非常に古いブラウザでは、アレイ上のforEachをサポートしていません) 。
"製品"はオブジェクトの配列なので、foreach/loopの各反復で個々のオブジェクトが得られ、ドット表記(object.name
、object.id
)でそのプロパティを指定できます。次に、目的のプロパティの値を配列に配置し、すべての製品配列を反復処理したら、結果とともに配列を返します。