Мы используем GTM для добавления GA на наш сайт. Стандартное отслеживание электронной коммерции включено в GA. Чтобы начать этот проект, я тестирую в нашей среде DEV, которая использует те же учетные записи GTM / GA. В GA отображаются только данные с реального сайта, поэтому DEV отфильтровывается (пока я не уверен, как это сделать). У меня две проблемы.
- Как настроить для «транзакции продуктов» значение l oop для товаров в корзине и отображать их отдельно, а не все вместе?
- Что мне делать, чтобы увидеть результаты в GA с сайта DEV - я не могу проверить это вживую - если я не создаю страницу noindex / nofollow stati c на живом сайте с поддельными данными, чтобы увидеть, он отправит его в GA.
Я создал тег GTM eCommerce для направлений GA: Тип тега: Google Analytics: Universal Analytics Тип трека : транзакция Настройки Google Analytics: Включить переопределение настроек в этом теге (у нас есть переменная GA, но я решил не использовать ее, если она может помешать) Идентификатор отслеживания: UA - ### ##### - #
Я создал триггер GTM eCommerce для направлений GA: Тип триггера: Просмотр страницы (DataLayer идет после сценария GTM) Этот триггер срабатывает on: Некоторые просмотры страницы Запустить этот триггер ...: URL-адрес страницы содержит / заказ / подтверждение
Страница подтверждения - это собственная страница, которая появляется после страницы отправки заказа.
Таким образом, DataLayer:
<script>
if(window.location.pathname == "/order/confirmorder"){
// capture values from the spans with the following classes
var GAtransactionId = jQuery(".lblOrderNumber").text();
var GAtransactionTotal = jQuery(".lblTotal").text();
var GAtransactionTax = jQuery(".lblTax").text();
var GAtransactionShipping = jQuery(".lblShippingHandling").text();
// transactionProducts data from the spans with the following classes
var GAsku = jQuery(".lblProductSKU").text();
var GAname = jQuery(".lblProductSKU").text();
var GAprice = jQuery(".lblYourPrice").text();
var GAquantity = jQuery(".lblOrderItemQty").text();
// Checking my variables before they go thru
alert("GAtransactionId: " + GAtransactionId + " GAtransactionTotal: " + GAtransactionTotal + " GAtransactionTax: " + GAtransactionTax + " GAtransactionShipping: " + GAtransactionShipping + " GAsku: " + GAsku + " GAname: " + GAname + " GAprice: " + GAprice + " GAquantity: " + GAquantity);
window.dataLayer = window.dataLayer || [];
dataLayer.push({
'transactionId': GAtransactionId,
'transactionTotal': GAtransactionTotal,
'transactionTax': GAtransactionTax,
'transactionShipping': GAtransactionShipping,
'transactionProducts': [{
'sku': GAsku, // returns each item - but smooshed together
'name': GAname, // returns each item - but smooshed together
'price': GAprice, // returns each item - but smooshed together
'quantity': GAquantity // returns each item - but smooshed together
}]
});
}
</script>
В GTM Previe В режиме w я вижу текущие значения уровня данных: но если у меня в корзине более одного товара, то все «транзакции» будут все вместе.
transactionProducts: [
{
sku: 'ABCDEFGHIJK''
name: 'Blue CoatRed Coat',
price: '$30.99$31.99',
quantity: '11'
}
]
Как я могу l oop через'actionProducts ', чтобы показать каждый товар в корзине отдельно? Я думаю, что для l oop может подойти, но как бы я его настроить, а затем, где я бы добавил его в DataLayer, чтобы он ничего не сломал? Кроме того, мне нужно удалить знак «$» из результата (я знаю, как это сделать)?
И где я могу найти фильтр, который предотвращает отправку данных с сайта DEV через - так Я могу временно отключить его во время тестирования? И мне нужно опубликовать sh тег / триггер GTM, чтобы он действительно отправлял данные, или я могу использовать режим предварительного просмотра и ожидать увидеть данные DataLayer в GA Conversions> Электронная торговля> Обзор?