manager - ¿Cuál es la identificación del cliente al enviar datos de seguimiento a Google Analytics a través del protocolo de medición?
onclick ga (3)
Estoy utilizando un nodo con un módulo de análisis rápido y universal y he elegido usar el cid incrustado en la cookie _ga en lugar de generar mi propio lado del servidor cid.
mi servidor.js se ve así ...
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();
});
Luego, más adelante, puedo hacer esto ...
ua = require(''universal-analytics'')
var visitor = ua(''UAXXX'', req.session.cid)
HTH
Quiero utilizar el nuevo protocolo de medición de Google para enviar eventos de seguimiento desde mi servidor en lugar de JavaScript.
Esta página dice que se requiere la identificación del cliente: https://developers.google.com/analytics/devguides/collection/protocol/v1/devguide#required
Y esta página dice que es opcional: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#visitor
Además, el formato definido en estos documentos es diferente: la primera página da un entero como ejemplo y simplemente dice que es "un valor único", mientras que el segundo dice que debe ser un UUID.
Si envío identificadores de usuario o UUID generados en mi back-end, ¿cómo sabrá Google para vincular ese visitante a una sesión de visitante existente? Parece que tendría que recuperar la referencia interna de GA a un usuario existente.
Cualquier ayuda es apreciada, ¡gracias!
En 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
Entero o UUID
El cid
es el equivalente del segundo valor en la cookie _utma
cuando usa el seguimiento de JavaScript. En js tracking, es un entero aleatorio (generado por Math.round(2147483647 * Math.random())
). Pero está diseñado y enviado como una cadena: para que pueda usar ambos formatos (entero o UUID).
Requerido / Opcional
Con el seguimiento de js, los servidores de Analytics ignoran una solicitud enviada con un ID de usuario faltante. Entonces asuma que es requerido.
Enlace visitante web con acciones de protocolo de medición
Si desea vincular a su usuario back-end con un visitante previamente rastreado con Analytics javascript ga.js
, puede obtener el valor cid
de la cookie _utma
. Pero no lo recomiendo; cada vez que cambia (cambio de terminal o navegador, limpieza de cookies, etc.), perderá el vínculo con las acciones previas de su cliente.
Actualizar
analytics.js
no existía cuando se formuló la pregunta. cid
ahora está almacenado en la cookie _ga
. Puedes obtenerlo en javascript con:
ga(function(tracker) {
var clientId = tracker.get(''clientId'');
});
Al escribir esto, cuando obtiene el ID de cliente del rastreador como en el código anterior, no le dará un UUID sino dos enteros aleatorios de 32 bits en el formato "XY". Esta implementación puede cambiar al UUID en el futuro.
O configúrelo con su propio valor (como un UUID generado por el backend):
ga(''create'', ''UA-XXXXX-Y'', {''clientId'': ''your_client_id''});