Генерация событий Google Analytics (__utm.gif запросы) на стороне сервера - PullRequest
29 голосов
/ 22 июня 2009

Я готов использовать Google Analytics для отслеживания статистики использования моего клиент-серверного приложения (без браузера на компьютере пользователя!).

Так что я думаю, что кто-нибудь когда-нибудь пытался создать запрос к __utm.gif из серверного кода.

Я нашел некоторую информацию о запросе и соответствующих файлах cookie на веб-сайте google , но нет сведений о значениях файлов cookie, передаваемых в переменной "utmcc".

Я понимаю, что не смогу "обработать" некоторую информацию, которую сервер Analytics получает из самого запроса (один для всех: исходный IP-адрес!). Я не могу генерировать запросы с клиентского компьютера.

Кто-нибудь имеет опыт работы с этим сценарием? Любая подробная информация или ресурс? Любой рабочий фрагмент кода (любой язык подойдет! :)?

Ответы [ 7 ]

30 голосов
/ 03 июля 2009

Я недавно задал похожий вопрос, и кто-то дал мне ссылку, и я нашел другую с того же сайта:

http://www.vdgraaf.info/wp-content/uploads/image-url-explained.txt
http://www.vdgraaf.info/wp-content/uploads/urchin-image.txt (включено здесь)

Код Google Analytics предоставляется в виде библиотеки JS, ga.js. Когда из этой библиотеки вызывается функция отслеживания, на серверы GA отправляется запрос в файл gif по одному из следующих URL-адресов:

http://www.google-analytics.com/__utm.gif //from http pages
https://ssl.google-analytics.com/__utm.gif //from https pages

Ниже приведены параметры, которые могут использоваться в запросе для предоставления GA подробной информации:

?utmwv=1 //Urchin/Analytics version
&utmn=634440486
&utmcs=UTF-8 //document encoding
&utmsr=1440x900 //screen resolution
&utmsc=32-bit //color depth
&utmul=nl //user language
&utmje=1 //java enabled
&utmfl=9.0%20%20r28 //flash
&utmcr=1 //carriage return
&utmdt=Linklove » The optimum keyword density //document title
&utmhn=www.vdgraaf.info //document hostname
&utmr=http://www.google.nl/search?q=seo+optimal+keyword+density&sourceid=navclient-ff&ie=UTF-8&rlz=1B3GGGL_nlNL210NL211 //referer URL
&utmp=/the-optimum-keyword-density.html //document page URL
&utmac=UA-320536-6 //Google Analytics account
&utmcc= //cookie settings
    __utma=
                    21661308. //cookie number
                    1850772708. //number under 2147483647
                    1169320752. //time (20-01-2007) cookie first set
                    1172328503. //time (24-02-2007) cookie previous set
                    1172935717. //time (03-03-2007) today
                    3;+
    __utmb=
                    21661308;+ //cookie number
    __utmc=
                    21661308;+ //cookie number
    __utmz=
                    21661308. //cookie number
                    1172936273. //time (03-03-2007) today
                    3.
                    2.
        utmccn=(organic)| //utm_campaign
        utmcsr=google| //utm_source
        utmctr=seo+optimal+keyword+density| //utm_term
        utmcmd=organic;+ //utm_medium

Помните, что значения &utmcc должны быть закодированы в URL.

<Ч />

Ссылки в этом ответе оказались немного ненадежными, поэтому вот некоторые другие ресурсы, которые могут быть полезны:

5 голосов
/ 13 октября 2009

Вы можете попробовать http://code.google.com/p/serversidegoogleanalytics/. это работает для меня (в сочетании с Zend Framework для HTTP-запроса).

3 голосов
/ 12 августа 2013

Спустя годы после публикации этого вопроса появился новый метод.

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

Чтобы использовать его, вам необходимо создать новое веб-свойство с поддержкой Universal Analytics.

Полная информация о протоколе измерений в документации разработчика .

1 голос
/ 16 октября 2012

В качестве альтернативы, если вы работаете в AWS, вы можете использовать пользовательские метрики в CloudWatch, которые очень просты в использовании, но вам нужно позаботиться обо всем, в зависимости от того, чего вы хотите достичь с помощью «серверных» метрик может быть именно то, что вам нужно.

1 голос
/ 22 июня 2009

Из проверки моих файлов cookie в Firefox на сайте, который является известным пользователем Google Analytics, я вижу, что он хранит 3 значения (все 3 начинаются с 2 подчеркиваний):

  • __ utmc - 9-значное целое число (вероятно)
  • __ utma - очень длинное целое с добавленными периодами (начинается с 9 цифр и выше)
  • __ utmz - разделенный период длинной строки (начинается с 9 цифр из utmc)

Полагаю, utmc - это ваш идентификатор сеанса отслеживания.

0 голосов
/ 03 июля 2009

Вставьте сценарий в HTML-страницу с переменными местозаполнителями для заголовка страницы и т. Д., Затем загрузите страницу на стороне сервера встроенного экземпляра IE. Сценарий GA позволяет отслеживать события страницы, указав параметры для основной функции отслеживания, поэтому все, что вам нужно сделать, это сохранить HTML-страницу шаблона в памяти, заменить заполнители и загрузить страницу во встроенный экземпляр IE. Экземпляр IE будет анализировать и выполнять javascript, как если бы это была обычная страница, и бинго, у вас есть отслеживание.

Это теоретически, конечно, и не проверено.

0 голосов
/ 22 июня 2009

Интересное требование ...

Лучше всего было бы попытаться немного реверсировать javascript Google Analytics ...

С помощью firefox и firebug перейдите на веб-сайт, который использует аналитику Google, затем откройте firebug и посмотрите на GET, отправленный в Google Analytics. Если затем вы сможете создать запрос HttpRequest с теми же параметрами и заголовками, вы сможете обмануть аналитику Google, заставляя вас думать, что вы переходите с веб-страницы.

...