2016-08-08 6 views
0

В настоящее время я пытаюсь реализовать Диспетчер тегов Google, но я столкнулся с проблемой, так как GTM добавляет теги прямо перед закрывающим тегом тела.Почему менеджер тегов Google добавляется в конце тела?

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

Есть ли способ исправить это поведение и почему Google делает это так? Я понимаю, что это помогает с неблокированием, но они могут также просто разместить асинхронные атрибуты на скриптах, и он почти сделает то же самое?

Пример: У меня есть Facebook Пиксель как один из моих тегов в GTM, и мне нужно иметь возможность сделать конкретный вызов, когда я загружаю определенную страницу в качестве своего вида.

fbq('track', 'Search'); 

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

Любое обходное решение для этого поведения?

+0

удалить async attr или пересмотреть способ использования – YOU

+0

Мы можем только догадываться, когда дело доходит до намерений Googles. Я предлагаю вам перефразировать ваш вопрос, чтобы решить вашу актуальную проблему («как я могу получить доступ к переменным в GTM из сценария, загруженного в голову страницы»), что, вероятно, более ответственно, чем «почему было разработано такое программное обеспечение». –

ответ

1

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

Вы также можете использовать код из ниже и видеть, когда _fbq.loaded переменная установлена ​​истина , https://gist.github.com/chrisjhoughton/1dc91dd7bd95717e08d3

Вам нужно будет создать триггер, основанный на этой переменной javascript. Надеюсь, что это поможет

Смежные вопросы