Разберем процесс настройки порядка выполнения или активации тегов в Google Tag Manager.
До недавнего времени одним из ограничений, которое впрочем решалось, было назначение порядка выполнения или активации тегов. Ранее я уже описывал способ, который позволяет управлять этим порядком, но теперь есть встроенная возможность прямо указать порядок активации тегов.
Связано это с тем, что в Google Tag Manager используется асинхронный порядок загрузки, это значит, что при срабатывании правила, теги связанные с ним активируются одновременно, как спортсмены стартуют на соревнованиях. Иногда возникает необходимость изменить этот порядок.
Для того, чтобы узнать в каком порядке будут выполняться ваши теги посмотрите на колонку Приоритет в списке тегов:
По умолчанию теги в этом списке сортируются по имени, чтобы изменить это нажмите на заголовок столбца. Справа от заголовка имеется изображение стрелки, оно указывает порядок сортировки По убыванию или По возрастанию.
Обратите внимание на важный момент: чем больше значение приоритета, тем раньше выполнится тег. Вы можете использовать и отрицательные значение, но любое значение приоритета должно быть целым числом.
По умолчанию приоритет тега равен нулю.
Еще одно замечание — порядок выполнения тегов актуален, если по одному или набору правил происходит активация нескольких тегов (см. изображение выше). Если теги активируются по разным правилам, то они будут выполняться в порядке срабатывания правила.
Как указать приоритет тега? В нижней части настройки тега есть блок Дополнительные настройки:
Маленькое замечание, на изображении вы видите два одноименных пункта, для настройки приоритета используйте нижний, верхний актуален и имеется не у всех тегов и служит для указания параметров определенных типов тегов, например, Google Analytics.
Отобразится поле, в которое нужно ввести ваше значение, после чего нажать на кнопку Сохранить:
Повторите действие для всех нужных тегов и опубликуйте версию контейнера или перейдите в режим отладки Google Tag Manager.
Для демонстрации работы Приоритета тегов я создал три тега, которые передают данные в dataLayer. Вот результат работы если тег А имеет приоритет 1, B приоритет 2, C приоритет 3:
Как видно тег C был активирован первым. Изменим приоритеты. Тег А теперь имеет приоритет 10, B приоритет 1, C приоритет 5:
Теперь тег A первый, C второй, а тег B с низшим приоритетом выполнен третьим.