#google-tag-manager #google-datalayer
Вопрос:
Если я использую GTM для отслеживания покупок в электронной коммерции, что мне установить переменную уровня данных в GTM для свойств приобретенных товаров? Возьмем, к примеру, это:
dataLayer.push({
event: "purchase",
ecommerce: {
transaction_id: "T12345",
affiliation: "Online Store",
value: "59.89",
tax: "4.90",
shipping: "5.99",
currency: "EUR",
coupon: "SUMMER_SALE",
items: [{
item_name: "Triblend Android T-Shirt",
item_id: "12345",
price: "15.25",
item_brand: "Google",
item_category: "Apparel",
item_variant: "Gray",
quantity: 1
}, {
item_name: "Donut Friday Scented T-Shirt",
item_id: "67890",
price: 33.75,
item_brand: "Google",
item_category: "Apparel",
item_variant: "Black",
quantity: 1
}]
}
});
Если я хочу отслеживать item_brand
, нужно ли мне просто создать переменную ecommerce.items.item_brand
? Даже если items
это массив?
Комментарии:
1. Существует более одного бренда товара. Вам нужно указать, нужна ли вам марка для какого-то конкретного товара или список всех сортов.
Ответ №1:
Вы смотрите на отслеживание GA4. Убедитесь, что вы действительно используете GA4. Вот синтаксис для UA: https://developers.google.com/tag-manager/enhanced-ecommerce#purchases
Я отмечаю это, потому что GA4 все еще находится в стадии разработки и имеет очень ограниченные capab по сравнению с UA.
Взгляните на эту статью здесь: https://marketlytics.com/blog/pull-ecommerce-data-from-datalayer-gtm/ это указывает, как вы можете извлекать данные через DLV-переменные в GTM.
Конечно, вы всегда можете извлечь данные, используя пользовательскую переменную javascript, например:
function(){
return dataLayer.filter(function(obj){return obj.event === "purchase"})[0].ecommerce.items;
}
Однако он вернет массив элементов. Вы, вероятно, хотите настроить логику получения бренда. Не уверен, какой товар вы хотите приобрести, но у вас есть свобода делать все, что угодно, начиная с этого момента.