Как в Google Tag Manager изменить порядок выполнения тегов

Если вам приходилось решать нестандартные задачи с помощью Google Tag Manager, то вероятно вы сталкивались с проблемой выполнения тегов в произвольном порядке. Точнее будет сказать не в произвольном, а в одновременном, поскольку Google Tag Manager выполняет теги в асинхронном режиме.

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

Решить подобную проблему стандартными средствами Google Tag Manager, на момент написания материала, не представляется возможным, поэтому приходится искать другие решения. Одним из них является использование переменных уровня данных.

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

Пример добавляемых строк:

Порядок действий:

  1. создается новый тег типа Пользовательский тег HTML, у которого в конце содержимого добавляются строки по приведенному примеру;
  2. создается новый тег, который должен быть выполнен после тега созданного в п. 1, и в правилах активации указывается следующее (согласно приведенного примера выше) event равно ваше_значение.

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

Пример кода

Пример кода

Затем в теге, где использую указанные функции среди правил активации тега использую следующее:

Пример правила активации тега

Пример правила активации тега

В результате теги выполняются таким образом, что к моменту вызова нужной функции они уже определены. Описанным способом можно изменять порядок выполнения тегов Google Tag Manager.

Несколько замечаний к описанному методу:

  • время активации тега по условию выполнения предшествующего несколько увеличивается;
  • удостоверьтесь, что все правила и содержимое тегов вы указали верно, используйте для этого отладчик;
  • выполнение условия не означает, что код первоначального тега был выполнен полностью.
Кейсы и инструкции по настройке в вашем ящике. Подпишитесь сейчас!
я даю согласие на обработку персональных данных

2 комментария(ев) к “Как в Google Tag Manager изменить порядок выполнения тегов

  1. Что-то такая конструкция не нравится GTM. Запушили событие в datalayer, а Tag Assistant пишет
    “Data layer fields should be quoted”
    Конструкция в правиле GTM

    $(document).ready(function () { $('body').activity({callBack: function () {
    dataLayer.push({'event': 'active_true'});
    yaCounterXXXXX.reachGoal('60_sec');
    }})});

    Событие в Метрику уходит, а в DataLayer нет.

    • @Артем, у Вас опечатка в строке event’: ‘active_true’ или ПОСЛЕ event уберите кавычку, или поставьте ДО

Добавить комментарий для Иван Отменить ответ

Current month ye@r day *