Что такое идентификатор клиента при отправке данных отслеживания в google analytics через протокол измерения?
Я хочу использовать новый протокол измерения Google для отправки событий отслеживания с моего сервера вместо JavaScript.
на этой странице указано, что требуется идентификатор клиента:
https://developers.google.com/analytics/devguides/collection/protocol/v1/devguide#required
и эта страница говорит, что это необязательно:
https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#visitor
плюс, формат, определенный в эти документы отличаются - первая страница дает целое число в качестве примера и просто говорит, что это "уникальное значение", а вторая ссылка говорит, что это должен быть UUID.
Если я отправлю либо идентификаторы пользователей, либо сгенерированные UUID на моем бэкэнде, как Google узнает, чтобы связать этого посетителя с существующим сеансом посетителей? Похоже, мне нужно будет получить внутреннюю ссылку GA на существующего пользователя.
любая помощь ценится-спасибо!
3 ответов:
Integer или UUID
The
cidявляется эквивалентом второго значения в_utmacookie при использовании отслеживания javascript. В JS tracking это случайное целое число (генерируемоеMath.round(2147483647 * Math.random())). Но он строится и отправляется как строка : поэтому вы можете использовать оба формата (integer или UUID).Обязательный/Дополнительный
при отслеживании js запрос, отправленный с отсутствующим идентификатором пользователя, игнорируется серверами аналитики. Так предположим, что это необходимо.
связать веб-посетителя с действиями протокола измерения
если вы хотите связать своего бэкэнд-пользователя с посетителем, ранее отслеживаемым с помощью Analytics javascript
ga.js, вы можете получитьcidзначение_utmaпеченье. Но я не рекомендую его; каждый раз, когда он меняется (изменение терминала или браузера, очистка файлов cookie и т. д.), вы потеряете связь с предыдущим вашим клиентом действия.обновление
The
analytics.jsне существовало, когда был задан вопрос.cidтеперь хранится в cookie_ga. Вы можете получить его в javascript с помощью:ga(function(tracker) { var clientId = tracker.get('clientId'); });на момент написания этого, когда вы получите clientId от трекера, как в приведенном выше коде, он не даст вам UUID, а два случайных 32-битных целых числа в формате "X. Y". Эта реализация может измениться на UUID в будущем.
или установить его с вашим собственным значением (например, бэкэнд генерируется UUID):
ga('create', 'UA-XXXXX-Y', {'clientId': 'your_client_id'});
В Rails:
def save_google_analytics_client_id if current_user && cookies["_ga"] client_id = cookies["_ga"].split(".").last(2).join(".") if current_user.google_analytics_client_id != client_id current_user.google_analytics_client_id = client_id current_user.save end end end
Я использую узел с модулем express и universal-analytics и решил использовать cid, встроенный в файл cookie _ga, а не создавать свою собственную серверную сторону cid.
мой сервер.js выглядит так...
app.use(function(req, res, next) { if(req.session && (!req.session.cid) && req.cookies._ga){ //Use the cid already embedded in the _ga cookie and save to session so I can access from socket routes var gaSplit = req.cookies._ga.split('.'); req.session.cid = gaSplit[2] + "." + gaSplit[3]; }; next(); });потом, позже, я могу сделать это..
ua = require('universal-analytics') var visitor = ua('UAXXX', req.session.cid)HTH
Comments