Загрузка и выполнение традиционного (синхронного) фрагмента кода отслеживания Google Analytics в качестве первого элемента DOM - PullRequest
1 голос
/ 01 августа 2011

Google говорит, что при использовании традиционного (синхронного) фрагмента кода отслеживания ga.js вы должны убедиться, что он выполняется как последний элемент DOM.

Помещая скрипт в конец тела страницы, вы гарантируете, что код отслеживания будет выполнен как последний элемент DOM. Если загрузка какой-либо страницы по какой-либо причине прерывается, возможно, что запрос GIF для этого просмотра страницы не будет выполнен. Однако если вы разместите код отслеживания в верхней части страницы, любые прерывания загрузки могут в любом случае привести к неполным или неточным отчетам, поскольку код отслеживания полагается на данные страницы для своих отчетов.

http://code.google.com/apis/analytics/docs/tracking/gaTrackingOverview.html

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

Да, я знаю, что есть асинхронный фрагмент. Но я экспериментирую с вещью, которая выиграет от запуска сниппета (ниже) в качестве первого элемента в DOM.

<script src="http://www.google-analytics.com" >
<script>
  try{
    var pageTracker = _gat._getTracker("UA-xxxxxx-x");
    pageTracker._trackPageview();
  } catch(err) {}
</script>

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

ОБНОВЛЕНИЕ: Спасибо за ответ, Матиас! Так что поправьте меня, если я ошибаюсь, но единственное, что может произойти, если я добавлю код отслеживания в голову, это то, что я могу получить неточные отчеты, когда загрузка страницы прерывается на полпути.

В противном случае, если страница полностью загружена, отслеживание будет работать отлично?

Итак, это все, что они имеют в виду, «поскольку код отслеживания опирается на данные страницы для своих отчетов».

1 Ответ

3 голосов
/ 01 августа 2011

Размещая скрипт в конце тела страницы, вы гарантируете, что код отслеживания будет выполнен как последний элемент DOM.Если загрузка какой-либо страницы по какой-либо причине прерывается, возможно, что запрос GIF для этого просмотра страницы не будет выполнен.

Они означают, что если загрузка страницы прерывается на полпути (проблема с сетью / сервером, пользователь уходит со страниц до полной загрузки или пользователь нажимает кнопку «Стоп» и т. Д.)и фрагмент GA находится рядом с закрывающим тегом </body>, есть вероятность, что он еще не будет загружен, поэтому он никогда не будет выполнен.GA не регистрирует просмотр страницы.

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

Если вы поместите фрагмент GA в <head>, он будет загружен и выполнен быстрее.Однако это также означает, что будет регистрироваться «посещение», даже если страница загружена не полностью (следовательно, «неточно»).

Это одна из причин, по которой я предпочитаю сохранятьскрипт около </body>.Именно поэтому мы делаем это в HTML5 Boilerplate .

PS. Пожалуйста, используйте (оптимизированный) асинхронный фрагмент Google Analytics вместо старого / блокирующего кода отслеживания.,Это всегда лучший вариант.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...