Как работает встроенный Google Analytics Javascript? - PullRequest
10 голосов
/ 21 августа 2010

Мне просто интересно общая идея, как работает встроенный Google Analytics Javascript? Например, как они рассчитывают, как долго вы посещаете сайт? Разве встроенный Javascript звонит домой каждый раз, когда кто-то посещает сайт? ... Мне просто нужно знать общую картину

Спасибо.

Редактировать: как работает следующее?

<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-xxxxxx-x");
pageTracker._trackPageview();
</script>

1 Ответ

20 голосов
/ 21 августа 2010

Первый блок сценария создает тег сценария, который загружает файл ga.js с серверов Google. Этот скрипт собирает данные о веб-странице, вас и вашем браузере, собирает информацию о том, откуда вы пришли (информация о реферере) и т. Д. Все это собирается при каждом обращении.

Сценарий создает глобальный _gat объект. Некоторые методы _gat (например, _trackPageview) делают запрос _utm.gif на сервер Google каждый раз, когда они загружаются.

Сам запрос состоит в том, как Google получает ваше предполагаемое местоположение (через запрашивающий IP-адрес) и ваш браузер (через строку вашего пользовательского агента, отправляемую в заголовках запроса). Запрос _utm.gif означает, что скрипт запрашивает прозрачный gif-файл 1x1 с серверов Google. Каждый запрос содержит всю информацию, добавленную в строку запроса. Серверы Google обрабатывают свои журналы запросов и используют информацию об этом запросе для обработки данных и восстановления сеанса на основе совпадений.

Этот запрос, например на stackoverflow.com, выглядит следующим образом:

http://www.google-analytics.com/__utm.gif?utmwv=4.7.2&utmn=909339250&utmhn=stackoverflow.com&utmcs=UTF-8&utmsr=1920x1080&utmsc=24-bit&utmul=en-us&utmje=1&utmfl=10.1%20r82&utmdt=Newest%20'google-analytics'%20Questions%20-%20Stack%20Overflow&utmhid=456625342&utmr=0&utmp=%2Fquestions%2Ftagged%2Fgoogle-analytics&utmac=UA-5620270-1&utmcc=__utma%3D140029553.1672509655.1273785261.1282328140.1282335818.167%3B%2B__utmz%3D140029553.1282158995.159.95.utmcsr%3Dgoogle%7Cutmccn%3D(organic)%7Cutmcmd%3Dorganic%7Cutmctr%3Dforce%2520download%2520image%2520in%2520php%2520stackoverflow%3B&gaq=1

Если вы установили этот скрипт внизу каждой страницы, каждый раз, когда кто-то загружает страницу, в которую будет вставлен скрипт, загружайте ga.js (что, вероятно, будет кэшировано), читайте предыдущие куки (файлы с префиксом utm) и отправить обновленную информацию на серверы Google (через запрос _utm.gif).

Расчет времени на сайте довольно частичен; он выводит время на странице на основе вашего просмотра.

Итак, если вы загружаете index.html в 12:00:00 и отправляете запрос _utm.gif на сервер Google, а затем в 12:01:30 вы загружаете about.html, он выводит, что вы потратили 1:30 на index.html. Это также означает, что у большинства сеансов будет 0 второй раз на странице для окончательного просмотра страницы сеанса.

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