Переменные dataLayer менеджера тегов Google не определены

Когда моя страница отображается, я отправляю некоторые данные в DataLayer Google Tag Manager (GTM):

dataLayer.push({
    event: "MY_EXPERIMENT", 
    variant: "A",
    result: "FORM_DISPLAYED"
});

Когда форма отправлена, я нажимаю некоторые новые данные:

dataLayer.push({
    event: "MY_EXPERIMENT", 
    variant: "A",
    result: "FORM_SUBMITTED"
});

Я создал переменные dataLayer в GTM и вставил их в поля категории / действия / метки моего тега в GTM. Одна из переменных настроена так:

Тег запускается по URL-пути, и в режиме предварительного просмотра он работает.

Тем не менее, когда я смотрю событие на живой панели Google Analytics, в столбцах категории / метки / события отображается только "неопределенное". Мне кажется, переменные настроены неправильно, но я все просмотрел и, кажется, просто отлично.

Что я делаю неправильно?

2 ответа

Трудно сказать без скриншотов или дополнительных подробностей, но, скорее всего, происходит то, что ваши теги запускаются слишком рано. Вы сказали, что тег события GA запускается на основе пути URL. Скорее всего, это означает, что вы используете All Pages вызвать в GTM с дополнительным фильтром, чтобы стрелять только на определенных страницах. Тем не менее, вы, скорее всего, выполняете только те толчки dataLayer после кода контейнера GTM. Это означает, что во время запуска тегов эти нажатия на dataLayer еще не выполнялись, и поэтому вы получаете undefined в значениях переменных.

Чтобы это исправить, вы должны изменить триггер вашего тега события GA с All Pages к Custom Event, В вашем случае имя пользовательского события будет MY_EXPERIMENT,

Я понял это. Я не установил флажок "Использовать слой данных" в разделе "Дополнительные параметры" -> "Электронная коммерция" в своем теге событий в GTM. Трудно найти флажок, и я не видел его документированного в каких-либо учебниках. Но это решило мою проблему!

Извините за отсутствие скриншотов.

Другие вопросы по тегам