Analytics
Сейчас в сети: 861
Сейчас в сети: 861
Настройка целей, отслеживание электронной торговли, многоканальные последовательности и тд
Подсказки
star_border
Ответить

Не могу настроить отслеживание транзакций

Студент ✭ ✭ ✭

Добрый день. Нужно сделать общее отслеживании страниц и отслеживание транзакций, чтобы в отчетах по расширенной электронной торговле собирались данные. Читаю документацию и что-то она меня запутала.

 

 

Тут пишут, что нужно делать тег типа "Просмотр страницы"

 

See the Tag Configuration for this Example.
Tag type : Universal Analytics
Track type : Pageview
Enable Enhanced Ecommerce Features: true
Use Data Layer: true
Basic Settings - Document Path: {{url path}}
Firing Rule: {{event}} equals gtm.dom

 

А тут, что: "В поле "Тип отслеживания" выберите "Транзакция".

 

Где правда? Как сделать что бы на странице "Спасибо за покупку" нормально срабатывала настроенная цель в GA и данные отображались в отчетах по эл. торговле?

Как должен быть настроен общий тег GA и тег для отслеживания транзакций?

 

Дальше еще нужно будет отслеживать добавление товаров в корзину. Я так понимаю, это уже будет 3-й тег (вроде бы типа "Событие")?

1 Ответ экспертаverified_user
1 УТВЕРЖДЕННОЕ РЕШЕНИЕ

Утвержденные решения
Лучший ответ.
Решение
Утвердил автор темы Денис Ж
октября 2015

Re: Не могу настроить отслеживание транзакций

Ведущий участник
Денис,
Думаю готовности dom-модели будет достаточно. Проверим на практике Веселый

Я могу ошибаться, но тип "Транзакция" предназначен для тех случаев, когда используется "обычная электронная торговля".

Добавление товара в корзину: Вы создаете тег GA с типом "Событие" и указываете любые значения (главное, чтобы Вы потом понимали что это за события Веселый ) в "категории", "действии" и "ярлыке". Это не так важно в данном случае. Важно то, что отправка "события" в Google.Analytics отправит данные по добавленному товару на сервера Google.Analytics.

Правило активации: event = addToCart

В этом особенность работы части кодов расширенной электронной торговли.


Если кратко, то суть такова: Не все функции расширенной электронной торговли при срабатывании отправляют данные в Google.Analytics. Для части таких функций (добавление товара в корзину, удаление товара из корзины и т.д.) необходимо, чтобы после добавления информации в dataLayer выполнялся запрос к серверу Google.Analytics (hit). Вместе с этим запросом и "улетят" данные по тому же добавлению товара в корзину.




С уважением,
Анатолий

Просмотреть решение в исходном сообщении

Re: Не могу настроить отслеживание транзакций

Ведущий участник
Добрый день, Денис!

Все зависит от того, как у Вас реализована отправка данных по электронной торговле в dataLayer.

Если dataLayer с данными находится до основного кода GTM, то будет достаточно "простого просмотра страниц" с включенной галочкой "Электронная торговля"

Если отдельной странички "Спасибо за заказ" нет, то необходимо, чтобы выполнялось какое-то событие. И вместе с этим событием отправлялась информация в dataLayer. В таком случае, настраиваем, например, тег GA с типом "Событие" (ставим галочку "Электронная торговля") и указываем это событие в правиле для активации.

Относительно добавления товаров в корзину, Вы правы. Когда пользователь добавляет товар в корзину, тоже необходимо сделать вызов "dataLayer.push", указать событие (например, "addToCart"). На это событие настроить тег GA (например, то же Событие) и поставить галочку "Электронная торговля".

В итоге, на каждое действие пользователя получится свой тег GA (если эти действия пользователя происходят после загрузки страницы).

Надеюсь, не запутал Вас Веселый



С уважением,
Анатолий

Re: Не могу настроить отслеживание транзакций

Студент ✭ ✭ ✭

Анатолий, спасибо за ответ!


У нас отправка данных у нас сделана на отдельной странице "Спасибо за покупку", после кода контейнера, через dataLayer.push. Т.е. по идее нам тут нужен тег "Просмотр страницы" с включенной галкой электронной торговли и условием срабатывания по готовности dom? И на этой странице должны срабатывать и этот тег, и общий тег GA, верно?

 

Тогда что такое тег "Транзакция" и в каком случае именно его нужно использовать?

 

По тегу типа "Событие" непонятно вот что. При нажатии кнопки "Купить" в списке товаров или карточке товара срабатывает код:

 

if (typeof dataLayer != undefined) {
            dataLayer.push({
              'event': 'addToCart',
              'ecommerce': {
                'currencyCode': 'RUR',
                'add': {
                  'products': [objGA[code]]
                }
              }
            });
        }

Что указывать в настройках тега "Событие" в этом случае? Какие "Категория" и "Действие" (подозреваю что addToCart)?

 

Нужно ли задавать условия срабатывания? Вроде бы срабатывание события с указанной категорией и действием уже является условием срабатывания. 

 

Лучший ответ.
Решение
Утвердил автор темы Денис Ж
октября 2015

Re: Не могу настроить отслеживание транзакций

Ведущий участник
Денис,
Думаю готовности dom-модели будет достаточно. Проверим на практике Веселый

Я могу ошибаться, но тип "Транзакция" предназначен для тех случаев, когда используется "обычная электронная торговля".

Добавление товара в корзину: Вы создаете тег GA с типом "Событие" и указываете любые значения (главное, чтобы Вы потом понимали что это за события Веселый ) в "категории", "действии" и "ярлыке". Это не так важно в данном случае. Важно то, что отправка "события" в Google.Analytics отправит данные по добавленному товару на сервера Google.Analytics.

Правило активации: event = addToCart

В этом особенность работы части кодов расширенной электронной торговли.


Если кратко, то суть такова: Не все функции расширенной электронной торговли при срабатывании отправляют данные в Google.Analytics. Для части таких функций (добавление товара в корзину, удаление товара из корзины и т.д.) необходимо, чтобы после добавления информации в dataLayer выполнялся запрос к серверу Google.Analytics (hit). Вместе с этим запросом и "улетят" данные по тому же добавлению товара в корзину.




С уважением,
Анатолий

Re: Не могу настроить отслеживание транзакций

Студент ✭ ✭ ✭
По корзине вроде все понятно, осталось протестировать. По событиям еще кое-что хочется прояснить с правилами активации (это же "триггер" по их терминологии?)

"Правило активации: event = addToCart"
Я правильно понимаю, что мне нужно сделать триггер "Пользовательское событие"? А в условиях активации этого триггера указать "новая переменная = addToCart", где "новая переменная" - это пользовательская переменная уровня данных с именем {{event}}?


"...необходимо, чтобы после добавления информации в dataLayer выполнялся запрос к серверу Google.Analytics (hit). Вместе с этим запросом и "улетят" данные по тому же добавлению товара в корзину..."
Как сделать этот запрос? Я думал dataLayer.push сразу отправляет все в гугл.

Re: Не могу настроить отслеживание транзакций

Ведущий участник
Правило активации: Да, Вы на верном пути. Вот так все будет выглядеть - http://prntscr.com/8mjml7

"Как сделать этот запрос?" - запрос как раз и делает тег GA "Событие".
dataLayer.push() лишь отправляет данные в GTM, а GTM уже отправляет данные в GA.



С уважением,
Анатолий

Re: Не могу настроить отслеживание транзакций

Студент ✭ ✭ ✭

Настроил:

1. Тег Universal Analytics так http://prntscr.com/8mss8b

2. Тег для отслеживания покупок так: http://prntscr.com/8mst0d он срабатывает по условию "DOM ready", которое настроено так: http://prntscr.com/8mst8a

3. Тег для отслеживания добавления в корзину так: http://prntscr.com/8mstgp он срабатывает по условию "Добавление в корзину", которое настроено на срабатывание пользовательского события так: http://prntscr.com/8mstpw

 

В режиме отладки вижу, что на странице "Спасибо за покупку" срабатывает только тег отслеживания корзины, а основной тег UA не срабатывает http://prntscr.com/8mstxm Но при этом в отчетах отобразилась и сработавшая цель "Оформление заказа" и в отчете по эл. торговле появилась транзакция. Это нормально, что основной тег UA не срабатывает?

Еще не срабатывает тег для отслеживания добавления в корзину.

 

Дальше интереснее: публикую изменения (сайт тестовый - можно пробовать всякие штуки) и оформляю заказ. Смотрю что выдает GA Debug на странице "спасибо за покупку" и в нем нет информации о том, что он что-то куда-то отправил. Соответственно в отчетах GA нет сработавшей цели и транзакции.

Далее просто обновляю страницу "спасибо за покупку" и в GA Debug появляются строки вида http://prntscr.com/8mswv4 А в отчетах GA появляется сработавшая транзакция, но цель не сработала, может не доехала еще в гугл (хотя странно - транзакция же пришла). Почему он с первой загрузки страницы не отправил данные? Контейнер подключен сразу после <body>, dataLayer.push добавлен на страницу таким образом:

 

<script type="text/javascript">
    //$(document).load(function(){
        if (typeof dataLayer != undefined) {
            dataLayer = [];
        }

        //Загрузка плагина электронной торговли
        if (typeof dataLayer != undefined) {

        //Указываем информацию о транзакции
        dataLayer.push({
          'ecommerce': {
            'purchase': {
              'actionField': {
                'id': '904820',
                'affiliation': 'mg',
                'revenue': '13322',
                'tax': '2032.17'
              },
              'products': [
                            {
                    'id': '530520',
                    'name': 'Стол компьютерный NS \"СК-101\", 1471х1100х630 мм, ДСП, цвет \"бук\"',
                    'price': '5716.00',
                    'quantity': '1'
                },
...

 

В добавлении в корзину после публикации ничего не изменилось - не срабатывает, в отчете по событиям в GA ничего не появляется.

Re: Не могу настроить отслеживание транзакций

Ведущий участник
Подскажите адрес сайта.



С уважением,
Анатолий

Re: Не могу настроить отслеживание транзакций

Студент ✭ ✭ ✭

Анатолий, я нашел ошибку - она в коде была.

В корзине:

 

<script type="text/javascript">
//$(document).load(function(){
if (typeof dataLayer != undefined) { -----------------------------------------!!!!!!
dataLayer = [];
}
//Загрузка плагина электронной торговли
if (typeof dataLayer != undefined) {
//Указываем информацию о транзакции
dataLayer.push({

При добавлении

if (typeof dataLayer != undefined) { --------------------------------!!!
            dataLayer = [];
        }
        if (typeof dataLayer != undefined) {
            dataLayer.push({

в первых условиях замена != на == решили проблемы

 

Вам огромное спасибо! Наставили на путь истины Веселый Теперь еще обвешаю просмотр карточки товара,  подумаю как отличать добавление в корзину из списка товаров и из карточки и т.п.

 

Re: Не могу настроить отслеживание транзакций

Ведущий участник

Денис, очень рад, что смог помочь. Веселый
Обращайтесь еще.

 

Относительно карточки товара и добавления в корзину: можно попробовать использовать параметр "list" в котором, обычно, указываются списки товаров (пока, клик по товару и т.д.).

 

 

Значение Тип Обязательно? Описание
id string Да* Идентификатор или код товара. Пример: P67890. *Должно быть установлено либо это поле, либо поле name.
name string Да* Название товара. Пример: футболка Android. *Должно быть установлено либо это поле, либо поле id.
list string Нет Список или коллекция, куда входит товар. Пример: "Результаты поиска".
brand string Нет Бренд, к которому относится товар. Пример: Google.
category string Нет Категория, к которой относится товар. Пример: "Одежда". Вы можете указать до пяти уровней иерархии, используя символ косой черты (/) в качестве разделителя. Пример: "Одежда/Мужская одежда/Футболки".
variant string Нет Вариант товара. Пример: "Черный".
position number Нет Позиция товара в списке или коллекции. Пример: 2.
price currency Нет Цена товара. Пример: 29.20.

 

У Вас будет интересная статистика по добавлению товаров в корзину из разных "списков товаров". Указывать "Карточку товара" как отдельный список - это несколько "костыльное решение", но зато у Вас будет статистика по добавлению товаров в корзину из карточки товара (правда, без статистики по показу товара и клика по нему). Пример - http://prntscr.com/8mteft
Я так сделал на одном из проектов Веселый




С уважением,
Анатолий