Analytics

До сих пор

Иногда, в Диспетчере тегов Google и в режиме отладки, вы увидите теги отображаются со статусом — прежнему работает, и вы (в конце концов) обратите внимание, что эти теги не делать то, что они должны делать.

'Still

Когда вы видите это сообщение на тег, это технически это означает:

Этот тег не удалось сигнал Диспетчера тегов от Google, что это “сделано”.

Объяснение Техническое, естественно, слишком простым, чтобы быть полезным. В этой статье я буду исследовать то, что “сделано” означает, и как особенно теги аналитика Google и проявляется такое поведение.

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

Когда бирка “Сделано”?

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

Например, возьмем пользовательский тег в HTML , который выглядит так:

<скрипт>
консоль.журнала('Привет!');
</скрипт>

Когда пришло время запустить этот тег, Диспетчера тегов от Google вставляет этот тег в конец тега<body>и в объектной модели документа, и затем браузер продолжает выполнять код в <Script>и в блок.

Как это все выполняться синхронно, когда в браузере написано Здравствуйте! к консоли, он готов перейти на следующий сценарий и ждут, чтобы быть выполнены, и ГТМ поэтому знаю, что этот тег сейчас “сделано”. Режим предварительного просмотра покажет, что бирка будет иметь успеха.

А что если у нас есть асинхронную операцию в середине тега?

Давайте смоделируем асинхронный с простым тайм-аут.

<скрипт>
 окна.функции функции setTimeout(функция() {
консоль.журнала('Привет!');
 }, 5000);
</скрипт>

На этот раз, когда тег в JavaScript-код выполняется, браузер ждет пять секунд, прежде чем писать в консоль. Так, когда ГТМ завершения бирка сигнала? Нет, не через 5 секунд, а после того, как браузер достигает конца функции через setTimeout выражение.

С асинхронными операциями, Диспетчера тегов Google и не ждать. Как с синхронными сценариев, когда браузер доходит до конца блока кода, тег сменил, независимо от того, сколько асинхронные операции ждем завершения.

Можно настроить Диспетчер тегов от Google, чтобы ждать для завершения асинхронной операции с использованием обратных вызовов. Есть четыре различных обратных вызовов можно использовать, в зависимости от варианта использования, для сигнала Диспетчер тегов от Google, что тег идет своим ходом:

  1. окна.google_tag_manager[{{контейнер идентификатор}}].onHtmlSuccess({{формат в HTML код}}) — это функция обратного вызова, вы могли бы использовать в теге последовательности в сигнал в следующий тег в последовательности, что нынешний тег завершен успешно. Он требует код контейнера и код HTML с идентификатором встроенные переменные, чтобы быть активирован.

  2. окна.google_tag_manager[{{контейнер идентификатор}}].onHtmlFailure({{формат в HTML код}}) — это функция обратного вызова, вы могли бы использовать в теге последовательности в сигнал в следующий тег в последовательности, что нынешний тег не в своем исполнении.

  3. данных.gtmOnSuccess() — это функция обратного вызова, вы могли бы использовать в пользовательских тегов шаблоны для сигнала тег завершен успешно.

  4. данных.gtmOnFailure() — это функция обратного вызова, вы могли бы использовать в пользовательских тегов шаблоны для сигнала тег не в своем исполнении.

Поэтому, если мы хотели, чтобы браузер дождаться функции через setTimeout вызов завершить, мы могли бы использовать это так:

<скрипт>
 окна.функции функции setTimeout(функция() {
консоль.журнала('Привет!');
 окна.google_tag_manager[{{контейнер идентификатор}}].onHtmlSuccess({{HTML-код, идентификатор}});
 }, 5000);
</скрипт>

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

Так почему теги пребывания в “по-прежнему работает” государства?

Если вы помните из предыдущей главы, если тег не имеет обратных вызовов, ГТМ будет завершение сигнал, когда он достигает конца блока кода или если блок кода вызывает ошибку синтаксиса. Таким образом, нет никакого пути для тега такой сигнал, чтобы он “еще работает”, а если браузер не достигнет конца блока кода и код не выдает ошибку, это означает, что код застрял в бесконечный цикл или утечка памяти, и весь браузер замерзнут в результате.

Однако, как только вы добавить google_tag_manager[...] обратные вызовы в пользовательский тег в HTML или данных обратных вызовов в пользовательский тег шаблона, ГТМ будет активно ждать этих обратных вызовов, чтобы выполнить перед подачей бирка Сделано.

Эрго, если браузер не достигает этих обратных вызовов, когда они тем не менее присутствуют в коде, ГТМ никогда не получит завершения сигнала и останется в “еще работает” государства.

Вот пример, в который приведет в теге застрять “еще работает” Лимбо.

<скрипт>
 если нет (значение false) {
 окна.google_tag_manager[{{контейнер идентификатор}}].onHtmlSuccess({{HTML-код, идентификатор}});
}
</скрипт>

Браузер никогда не достигнет выражение В если {...} блок, потому что ложь никогда не оценить верно. Таким образом, ГТМ обнаружил успех обратного вызова записываются в блоке кода, и он с нетерпением ждет его в исполнение, но он никогда не будет. Таким образом, в ГТМ вид, тег постоянно работает.

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

С теге шаблоны, это то же самое. Если вы выполните это:

если нет (значение false) {
данных.gtmOnSuccess();
}

Этот шаблон всегда будет иметь свои теги застрять в “по-прежнему работает” государство, поскольку нет никакого способа, чтобы достичь этого обратного вызова.

Урок здесь?

Всякий раз, когда вы используете пользовательские обратные вызовы в виде HTML-теги, или всякий раз, когда вы создаете пользовательские шаблоны тегов, убедитесь, что по крайней мере некоторые обратного вызова всегда достигается.

Погугли по тегам “еще работает”

Многие из нас испытали на себе “еще работает” явление с помощью тегов Гугл аналитика.

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

Они теге шаблоны, где успех обратного вызова вызывается, как только аналитики Гугл тега узнать о методе достигается. Это узнать о том, что автоматически добавляется к Диспетчер тегов Google в (с сохранением всех узнать о том, что вы добавляете вручную в теге).

'Still

Поэтому, когда аналитики Гугл тег “еще работает”, значит, его узнать было так и не дошли.

Как это происходит? Вот три самые распространенные причины.

1. Используя неправильный переменной в поле идентификатор отслеживания

Этот идентификатор отслеживания в поле ваш Гугл тегами (в Диспетчере тегов Google или Yandex) зарезервирован для отслеживания. Отслеживание ИД-это ваш отель УА-ХХХХХХ-й строки.

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

Она по-прежнему очень часто можно увидеть людей добавить Гугл Аналитику переменных параметров для отслеживания идентификатор поля. В результате отслеживания поле Код значение разрешения для объекта (вашего Google-аналитика и настройки), а не требуемый на УА-ХХХХХ-й строки.

'Still

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

Лучший способ отладить это, чтобы использовать аналитику Google и расширение для браузера отладчик и проверить выходную консоль. Если вы видите что-то вроде этого, нарушается настройки:

'Still

Как это исправить?

Простой. Никогда не использовать аналитику Гугл настройки переменной нигде , кроме аналитики Гугл настройки поля. Всегда проверьте и дважды проверьте, что идентификатор отслеживания поле содержит значение или переменную, которая решает УА-ХХХХХХ-й.

2. В ГА() метод захвачен каким-то другим кодом, работающим на сайте

Если какой-то другой инструмент перекрывает Джорджия() метод, это означает, что нет больше такого понятия, как “Гугл Аналитика хит”, или “Гугл Аналитика трекер”, и, как следствие, узнать о том, что никогда не достигается. Диспетчер тегов Google не видит обратного вызова в коде и, следовательно, ждет его, а потому, что глобальный метод уже не работает, этот метод не дошли.

'Still

Простой способ проверить это-открыть консоль для JavaScript на Вашей странице, и выполнив следующую команду:

консоль.журнал ([окно['GoogleAnalyticsObject']].ответа);

Если метод не был перезаписан, вы должны увидеть номер 42 написано в консоли. Это признак того, что библиотека analytics.js до сих пор работает с глобальный метод.

Если вы видите что-нибудь еще, скорее всего, либо не определена , либо ошибка, то это будет означать, что что-то не так с глобальным методом.

Внимание! Блокировщики должны не иметь право голоса здесь. Если Гугл Аналитика и конечной точки, то узнать о том, что все же будет достигнуто, а если всю analytics.js библиотека заблокирован, Джорджия() команда никогда не будет вызван, в первую очередь.

Как это исправить?

Вы можете изменить глобальное имя метода, например, my_ga в Гугле тегами (в ГТМ) за счет расширения Расширенная настройка и обновление глобальной функции имя поля. Это должно быть сделано последовательно на все ваши теги, так что вы можете использовать аналитику Гугл настройки переменной.

'Still

Если вы используете analytics.js вы можете переименовать имя метода в сниппете.

3. Несуществующий оптимизировать контейнер загружается на сайте

Это супер раздражает. Это ошибка Бона ФИДЕ на мой взгляд, и я сообщил об этом как таковой.

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

Проблема в том, что в случае оптимизации контейнер не существует (Вы ее удалили или у вас опечатка в код контейнера), плагин нагрузка не решен и обработки (Джорджия) очереди приостанавливается.

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

Вы можете увидеть это, снова используя аналитику Google и расширение отладчика. В консоли вы увидите что-то вроде этого:

'Still

Как это исправить?

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

Далее, убедитесь, что у вас есть контейнер код правильно, который прописан в теге.

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

Резюме

За все хорошее, что режим отладки Диспетчера тегов от Google, то оно оставляет желать лучшего в плане детализации и определения, где кроется проблема.

Шаблоны Родные, особенно черные ящики. Нет никакого способа, чтобы знать, почему тег Гугл Аналитика и сигналы окончания тайм-аута или без проб и ошибок тестирования.

С инструкциями, приведенными в этой статье, вы должны быть в состоянии отладки и исправить эти досадные “по-прежнему работает” проблем вы можете иметь с вашим тегам.

Мне Дайте знать в комментариях, если вы столкнетесь с случае использования не предусмотренных настоящей статьей. Я с радостью обновлю текст, Спасибо вам, что помогли выявить неисследованные случае проблема!

Related posts

Создаем простой сервис коллтрекинга, часть 1

admin

В IT растет цензура, а мы не замечаем — разрешают только улыбаться и молчать

admin

Немного про Google Home Hub, или как я купил фоторамку за 130 Евро

admin

Leave a Comment