DataLayer для TagManager не отслеживается в Google Analytics

Я могу динамически создавать уровень данных для диспетчера тегов. Но это не отслеживается в Google Analytics.

Из документации, предоставленной Google, нам не нужно использовать datalayer.push[], так как он отображается перед кодами менеджера тегов. Мой код для этого:

<script>
dataLayer = [{
"transactionId": "4NOV2013_4830a18f-15fd-4cc5-a035-0e513d3f73bb",
"transactionAffiliation":"Registration",
"transactionTotal": 0,
"transactionProducts": [{
"sku": "Lead",
"name":"Lead",
"price": 0,
"quantity": 1
}]
    }];

</script>
<!-- Google Tag Manager -->
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-DEMO"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-DEMO');</script>
<!-- End Google Tag Manager -->

person rolling stone    schedule 16.12.2013    source источник
comment
Какой тип трека вы используете? Как выглядит ваше правило?   -  person Blexy    schedule 16.12.2013
comment
Правило? Его отслеживание транзакций.   -  person rolling stone    schedule 17.12.2013


Ответы (2)


Шридхар, похоже, вы перечисляете все необходимые параметры, так что это должно работать после правильной настройки тега электронной коммерции. Убедитесь, что вы добавили новый тег для транзакций электронной торговли:

  • Тип тега: Google/Universal Analytics
  • Тип отслеживания: Транзакция

Полная официальная документация от команды Диспетчера тегов Google.

Также убедитесь, что вы используете правильную версию фрагмента контейнера GTM. Я вижу, что вы заменили один из идентификаторов контейнера на GTM-DEMO, но другой по-прежнему виден (html?id=GTM-KMSLVD).

Дважды проверьте, правильно ли работает контейнер, а затем используйте функцию Предварительный просмотр/Отладка, чтобы проверить, активируются ли теги вместе с Отладка GA в Chrome (см. прикрепленное изображение). Если что-то не так (например, тип аргумента), GA Debug отобразит все сообщения об ошибках в консоли браузера.

введите здесь описание изображения

person Petr Havlik    schedule 18.12.2013

Вам не хватает нескольких синтаксисов для работы электронной коммерции в Universal Analytics. Вы читали документацию по https://developers.google.com/analytics/devguides/collection/analyticsjs/ecommerce?

То, что у вас есть сейчас, — это в основном только транзакция, сохраненная в GTM, поэтому есть несколько способов выполнить реальную транзакцию. Вы можете настроить правила в GTM для запуска транзакции, если она увидит определенное событие в dataLayer, что похоже на то, что вы пробовали? Если это так, вам нужно создать правило для запуска транзакции, как только она увидит эти данные.

Или вы можете просто отправить всю транзакцию на странице оформления заказа, где размещен сам dataLayer.

Чтобы это работало, и то, что я вижу, отсутствует, - это вызов библиотеки javascript для электронной коммерции.

ga('require', 'ecommerce', 'ecommerce.js');

Кроме того, вы не отправляете транзакцию с помощью ga('ecommerce:send');.

Некоторые ключевые компоненты из документации от Google при использовании библиотеки ecommerce.js:

Чтобы загрузить плагин электронной коммерции, используйте следующую команду:

ga('require', 'ecommerce', 'ecommerce.js');

Эта команда должна выполняться после создания объекта отслеживания и до использования какой-либо конкретной функции электронной торговли.

ga('ecommerce:addTransaction', {
  'id': '1234',                     // Transaction ID. Required.
  'affiliation': 'Acme Clothing',   // Affiliation or store name.
  'revenue': '11.99',               // Grand Total.
  'shipping': '5',                  // Shipping.
  'tax': '1.29'                     // Tax.
});

ga('ecommerce:addItem', {
  'id': '1234',                     // Transaction ID. Required.
  'name': 'Fluffy Pink Bunnies',    // Product name. Required.
  'sku': 'DD23444',                 // SKU/code.
  'category': 'Party Toys',         // Category or variation.
  'price': '11.99',                 // Unit price.
  'quantity': '1'                   // Quantity.
});

ga('ecommerce:send');

ОБНОВЛЕНИЕ: после комментария спрашивающего я хотел бы добавить это к своему ответу. Что нужно сделать, так это настроить саму транзакцию для отслеживания в GTM. Для этого выполните следующие действия:

  1. Создайте новый тег и назовите его, например, «Отслеживание транзакции».
  2. Выберите «Universal Analytics» в качестве типа тега.
  3. Выберите «Транзакция» в качестве типа отслеживания
  4. Добавьте новое правило и назовите его, например, «Страница перехода».
  5. Введите URL-адрес, содержащий «страницу благодарности», и добавьте еще одно поле.
  6. Введите событие, равное gtm.dom

Сохраните и опубликуйте и посмотрите, решит ли это вашу проблему.

person MrSponge    schedule 17.12.2013
comment
У нас есть настройка правила, которую мы можем подтвердить в расширении Chrome отладчика Google Analytics GA. И приведенные выше коды выглядят как обычные транзакции электронной коммерции универсальной аналитики. Мы следуем этой документации support.google.com/tagmanager/answer/3002596?hl. =en Пожалуйста, помогите нам двигаться дальше. - person rolling stone; 17.12.2013
comment
Я понимаю. Настроили ли вы активацию тега для отслеживания транзакции после запуска события gtm.dom? - person MrSponge; 17.12.2013
comment
Мы не используем gtm push, мы напрямую передаем переменную. Я думаю, что нам не хватает какого-то уровня форматирования. не уверен, в чем проблема, все еще пытаюсь понять это. - person rolling stone; 17.12.2013
comment
Пожалуйста, ознакомьтесь с моим дополнением, если это может решить вашу проблему. - person MrSponge; 17.12.2013
comment
Может ли быть так, что переменные dataLayer транзакции являются необязательными, например. transactionTax все еще должен быть включен в dataLayer, но только с пустыми значениями? - person Blexy; 17.12.2013
comment
О, да, это тоже следует добавить, если я не ошибаюсь. Поскольку элементы сопоставляются по позициям (по крайней мере, они были для классической аналитики), я считаю, что вам также нужно иметь их, хотя и пустые. - person MrSponge; 18.12.2013