Генерировать события Google Analytics (запросы __utm.gif) на стороне сервера.
-
06-07-2019 - |
Вопрос
Я готов использовать Google Analytics для отслеживания статистики использования моего клиент-серверного приложения (на компьютере пользователя нет браузера!).
Так что я думаю, если кто-нибудь когда-нибудь пытался создавать запросы к __utm.gif из серверного кода.
Я нашел некоторую информацию о запросе и соответствующих файлах cookie на сайте сайт Google но нет подробностей о значениях файлов cookie, передаваемых в переменной «utmcc».
Я понимаю, что не смогу «создать» часть информации, которую сервер Analytics получает из самого запроса (одну для всех:исходный IP-адрес!).Я не могу генерировать запросы с клиентского компьютера.
Есть ли у кого-нибудь опыт работы с этим сценарием?Любая подробная информация или ресурс?Любой рабочий фрагмент кода (подойдет любой язык!:)?
Решение
Недавно я задал аналогичный вопрос, и кто-то дал мне ссылку, и я нашел еще одну с того же сайта:
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.Когда из этой библиотеки вызывается функция отслеживания, делается запрос к GIF-файлу на серверах GA по одному из следующих 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.
Ссылки в этом ответе оказались немного ненадежными, поэтому вот некоторые другие ресурсы, которые могут быть полезны:
- Серверная часть Google Analytics для PHP
- Параметры URL-адреса GIF (Страница устранения неполадок Google)
Другие советы
Через несколько лет после того, как этот вопрос был опубликован, появился новый метод. Р>
В Google Analytics теперь есть протокол измерений. Вы должны одобрить это, потому что это поддерживается и задокументировано, в отличие от других решений, которые пытаются эмулировать протокол, который не полностью поддерживается. Р>
Чтобы использовать его, вам нужно создать новое веб-свойство с поддержкой Universal Analytics. Р>
Полная информация о протоколе измерений в документации для разработчиков . р>
Проверяя мои файлы cookie в Firefox на сайте, который является известным пользователем Google Analytics, я вижу, что он хранит 3 значения (все три начинаются с двух подчеркиваний):
- __utmc — 9-значное целое число (вероятно)
- __utma — очень длинное целое число с добавленными точками (начинается с 9 цифр выше)
- __utmz — длинная строка, разделенная точкой (начинается с 9 цифр из utmc)
Я предполагаю, что utmc — это идентификатор вашего сеанса отслеживания.
В качестве альтернативы, если вы работаете в AWS, вы можете использовать пользовательские метрики в CloudWatch, которые очень просты в использовании, но вам нужно заботиться обо всем, в зависимости от того, чего вы хотите достичь с помощью " серверной части " Метрика это может быть именно то, что вам нужно. Р>
Интересное требование ...
Лучше всего было бы попытаться немного перестроить JavaScript-аналитику Google ...
С помощью firefox и firebug перейдите на веб-сайт, который использует аналитику Google, затем откройте firebug и посмотрите на GET, отправленный в Google Analytics. Если после этого вы сможете создать запрос HttpRequest с теми же параметрами и заголовками, вы сможете обмануть аналитику Google, полагая, что вы переходите с веб-страницы.
Вставьте сценарий в страницу HTML с переменными местозаполнителями для заголовка страницы и т. д., затем загрузите страницу на стороне сервера встроенного экземпляра IE. Сценарий GA позволяет отслеживать события страницы, указав параметры для основной функции отслеживания, поэтому все, что вам нужно сделать, это сохранить HTML-страницу шаблона в памяти, заменить заполнители и загрузить страницу во встроенный экземпляр IE. Экземпляр IE будет анализировать и выполнять javascript, как если бы это была обычная страница, и бинго, у вас есть отслеживание.
Это теоретически, конечно, и не проверено.