Analytics
Сейчас в сети: 1.1K
Сейчас в сети: 1.1K
Вопросы настройки тегов, правила и макросы, администрирование GTM
Подсказки
star_border
Ответить

Порядок активации тегов в GTM

Студент ✭ ✭ ✭

Добрый день.

 

Подскажите, пожалуйста, как решить такой вопрос: нужно чтобы тег Б, активировался только в том случае, если до этого сработал тег А.

Стандартный функционал который есть в ГТМ (расширенные настройки - правила активации тегов) не подходят, там активации происходит моментально. 

 

Нужно чтобы работало так:

1. Нажал на кнопку "1" сработал тег А,  потом нажал на кнопку "2"  сработал тег Б.

2. Нажал на кнопку "1" не сработал тег А, потом нажал на кнопку "2" и не сработал тег Б, из-за того что до этого не сработал тег А.

 

Надеюсь понятно объяснил)

Спасибо за любую помощь.

1 Ответ экспертаverified_user

Утвержденные решения
Лучший ответ.
Решение
Утвердил автор темы Виталий С
ноября 2016

Порядок активации тегов в GTM

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

вместе или после  нужного тега, который активируется по первому условию, запускаете тег с произвольным HTML:
<script>
windows.clickOk="ok";
</script>
Это создаст глобальную переменную javascript, которая будет содержать "ok"

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


Все ответы

Порядок активации тегов в GTM

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

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

 

Порядок активации тегов в GTM

Студент ✭ ✭ ✭

По второму варианту, а что если и таймер не подходит? То есть я не знаю, когда может быть выполнен первый скрипт точно?

 

Ладно, опишу чуть более конкретно задачу. 

 

Есть поп-ап окно (форма подписки на сайте), реализовано все через ajax, урл не меняется. Человек кликает на кнопку, проверяет на что он подписывается и нажимает "сохранить", потом или регистрируется на сайте или входит в свой акк.

События настроены, виртуальные страницы настроены, чтобы видеть в аналитике воронку и с какого шага вышли люди.

 

Проблема в том, что код на сайте реализован так (и события настроены так), что есть формы, которые мешают корректности эксперимента, и события "входят" во второй и третий шаг, вот тут скрин где понятнее - http://joxi.ru/52aYZ1PUG8aDP2  . Поэтому и встала задача сделать так, чтобы исключить входы на втором и третьем шаге (например, путем жесткой привязки выполнения текущего события к предыдущему событию)

 

Порядок активации тегов в GTM

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

таймер может запускаться каждые 1-1000 миллисекунд, как настроите. 
Если так нужно, то я бы добавить переменные, например  clickOk и submitOk.

При срабатывании первого тега, clickOk = "ok"; (или 1, или что вам больше нравиться, но не undefined)
В условие активации второго тега добавляем проверку clickOk = "ok"
При срабатывании второго тега submitOk становиться равным "ok".
В условии срабатывания второго триггера уже ставим условие, что submitOk = "ok".
Таким образом тег не активируется, пока до него не был активирован другой тег, который создает переменную или присвистывает ей нужно значение.
В качестве переменных можно использовать глобальную переменную javascript или переменную уровня данных. 

Порядок активации тегов в GTM

Студент ✭ ✭ ✭

Спасибо за подробный ответ!

 

А не подскажите как сделать так, чтобы "При срабатывании первого тега, clickOk = "ok" ?

 

Порядок активации тегов в GTM

Студент ✭ ✭ ✭

Я так и не смог реализовать "При срабатывании первого тега, переменной clickOk присваивается значение "ok".

 

Как это сделать, куда смотреть, подскажите плз Веселый

 

Лучший ответ.
Решение
Утвердил автор темы Виталий С
ноября 2016

Порядок активации тегов в GTM

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

вместе или после  нужного тега, который активируется по первому условию, запускаете тег с произвольным HTML:
<script>
windows.clickOk="ok";
</script>
Это создаст глобальную переменную javascript, которая будет содержать "ok"

Порядок активации тегов в GTM

Студент ✭ ✭ ✭

Спасибо, правда, ваш вариант почему-то не отработал. Но он подтолкнул к решению, которое помогло. Отработал этот вариант:

<script type="text/javascript">
dataLayer.push({ 'clickOK':'ok' });
</script>

 

Спасибо!

 

Порядок активации тегов в GTM

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

видимо вы создали переменную уровня данных, а не яваскрипт. Главное что есть результат, а способов достижений много.

Рад был помочь!

 

Порядок активации тегов в GTM

Студент ✭ ✭ ✭

"а способов достижений много" - да, это я уже понял! Веселый

 

Про переменную - вы правы, уже и с этим разобрался, действительно создал только переменную уровня данных, а глобальной javascript - не было. Поэтому и не отрабатывало.

 

Еще раз спасибо!