Когда данные отправляются в Google после dataLayer.push - PullRequest
1 голос
/ 16 января 2020

У меня есть приложение для электронной торговли на одной странице, и мне нужно настроить воронку электронной торговли Google. Мое приложение устанавливает шаги последовательности в менеджере тегов dataLayer

Ничто в документации не указывает, когда слой данных фактически отправляется в Менеджер тегов Google.

window.dataLayer начинает страницу с:

  event: 'checkout',
  ecommerce: {
    checkout: { actionField: {step: 1, option: 'Checkout Options'}}
  }

при первом нажатии кнопки

$(document).one('click','#button-payment-address', function () {
        window.dataLayer.push({
            'event': 'checkout',
            'ecommerce': {
                'checkout': {
                    'actionField': {
                        'step': 2,
                        'option': 'Billing Details'
                    }
                }
            }
        });
}); 

Уровень данных становится:

event: 'checkout',
ecommerce: {
    checkout: { actionField: {step: 2, option: 'Billing Details'}}
}

На второй кнопке

$(document).one('click', "#button-shipping-address",  function(){
        window.dataLayer.push({
            'event': 'checkout',
            'ecommerce': {
                 'checkout': {
                    'actionField': {
                       'step': 3,
                       'option': 'Delivery Details'
                    }
                }
            }
        }); 
        console.log(window.dataLayer);
}); 

DataLayer становится:

  event: 'checkout',
  ecommerce: {
    checkout: { actionField: {step: 3, option: 'Delivery Details'}}
  }

И так далее ...

Когда отправляется dataLayer или есть способ принудительно отправить, повторно инициализировать dataLayer и затем pu sh следующий шаг?

ОБНОВЛЕНИЕ: я искал под Firefox DevTools / network / XHR для трафика c и не смог найти ни одного. В разделе DevTools / network / images отображаются данные, публикуемые при каждом нажатии.

1 Ответ

0 голосов
/ 16 января 2020

Добавление данных в dataLayer никуда не отправляет. Это просто делает данные доступными структурированным способом из GTM. Всякий раз, когда вы вводите * data-ключ * с именем «event» в dataLayer, GTM сканирует структуру dataLayer и обновляет свою внутреннюю модель данных с измененными или добавленными значениями.

Это создает в основном пространство имен для ваших переменных. Переменные могут быть перезаписаны, поэтому вам следует убедиться, что вы не используете повторно существующее имя и случайно не назначаете новое значение переменной и т. Д. Каждый раз, когда создаете новую переменную JS. Если вместо этого вы добавляете данные в dataLayer, то вам просто нужно позаботиться о том, чтобы у вас не было второй переменной dataLayer.

Сказав это, ваш случай несколько отличается. У вас есть специальная структура данных для расширенной электронной коммерции Google Universal Analytics. По крайней мере один из ваших просмотров страниц Google Analytics или тегов событий должен быть настроен для включения расширенной электронной торговли с настройкой, которая извлекает данные из слоя данных.

Если у вас нет тегов в GTM, тогда данные не будут отправлены вообще.

...