En este documento se describe cómo enviar datos a Google Analytics mediante el Protocolo de medición.
Descripción general
El envío de datos a Google Analytics mediante el Protocolo de medición se divide en dos partes:
- El transporte: dónde y cómo se envían los datos.
- La carga: los datos que se envían.
En este documento se describe cómo dar formato a ambas partes.
Transporte
Extremo de la URL
Para enviar datos mediante el Protocolo de medición, envía solicitudes HTTP al extremo siguiente:
https://www.google-analytics.com/collect
Todos los datos deben enviarse de forma segura con el protocolo HTTPS.
Puedes enviar datos mediante solicitudes POST o GET.
Con POST
Te recomendamos que envíes datos a través de POST porque permite una carga mayor. Si te decantas por POST, emite la siguiente solicitud HTTP:
User-Agent: user_agent_string POST https://www.google-analytics.com/collect payload_data
Donde:
- user_agent_string: es una cadena de agente de usuario con formato que se usa para calcular las dimensiones siguientes: navegador, plataforma y funciones para dispositivos móviles.
Si este valor no está configurado, no se calcularán los datos anteriores.
- payload_data: atributo
BODY
de la solicitud POST. El cuerpo debe incluir justo una carga codificada de URI y no puede superar los 8.192 bytes. - IP Address – Is implicitly sent in the HTTP request and is used to compute all the geo / network dimensions in Google Analytics.
GET
En los entornos en los que no se pueden enviar datos POST, también puedes enviar solicitudes HTTP GET al mismo extremo:
GET /collect?payload_data HTTP/1.1 Host: https://www.google-analytics.com User-Agent: user_agent_string
Donde los datos de carga útil se envían como parámetros de consulta de URI con escape. La longitud de la URL codificada no puede superar los 8000 bytes.
Prevenir el almacenamiento en memoria caché
En algunos entornos, por ejemplo, los navegadores, puede que las solicitudes HTTP GET se almacenen en la memoria caché.
Cuando esto sucede, puede que las solicitudes posteriores se recuperen de la memoria caché y no se envíen a Google Analytics. Para impedir que se active el almacenamiento en memoria caché, el protocolo de medición proporciona un parámetro especial (z
) que se puede establecer con un número aleatorio. Esto garantiza que todas las solicitudes del protocolo de medición sean únicas y que las solicitudes posteriores no se recuperen de la memoria caché.
Si utilizas la prevención de almacenamiento en memoria caché, te recomendamos que agregues el parámetro correspondiente como el último de la carga.
https://www.google-analytics.com/collect?payload_data&z=123456
Códigos de respuesta
El protocolo de medición devuelve un código de estado 2xx
si se recibe la solicitud HTTP. Pero no devuelve un código de error si los datos de carga tienen un formato incorrecto o si los datos de la carga son incorrectos o Google Analytics no los procesa.
Si no recibes un código de estado 2xx
, NO tienes que reintentar la solicitud, sino detener la solicitud HTTP y corregir cualquier error.
Datos de la carga
Todos los datos que Google Analytics recopila mediante el protocolo de medición se envían como carga. La carga tiene el mismo formato que una cadena de consulta URL donde cada parámetro tiene una clave y un valor, está separado por un carácter =
y cada par está delimitado con un carácter &
.
Por ejemplo:
key1=val1&key2=val2
Cada carga tiene reglas que la rigen: los valores necesarios, la codificación del URI, los parámetros que se pueden enviar juntos y la longitud del parámetro. Además, cada parámetro tiene un tipo específico que exige un formato concreto. En las siguientes secciones se analizan estas reglas.
Consulta la referencia de parámetros para obtener una lista completa de todos los parámetros que puedes enviar mediante el protocolo de medición.
Valores necesarios para todos los hits
Los siguientes parámetros deben estar presentes en cada carga:
Nombre | Parámetro | Ejemplo | Descripción |
---|---|---|---|
Versión del protocolo | v |
v=1 |
La versión del protocolo. El valor debe ser 1 . |
ID de seguimiento | tid |
tid=UA-123456-1 |
El ID que señala la propiedad de Google Analytics a la que hay que enviar los datos. |
ID de cliente | cid |
cid=xxxxx |
Un ID único para un usuario en particular. |
Tipo de hit | t |
t=pageview |
El tipo de interacción recopilada para un usuario concreto. |
Los datos de Client ID
y Hit Type
son los valores que se asignan directamente al modelo de datos de Google Analytics.
Si quieres hacer un seguimiento del usuario 5555
que ha entrado en /pageA
, en /pageB
y en /pageC
, tienes que enviar las tres cargas siguientes:
v=1&tid=UA-123456-1&cid=5555&t=pageview&dp=%2FpageA v=1&tid=UA-123456-1&cid=5555&t=pageview&dp=%2FpageB v=1&tid=UA-123456-1&cid=5555&t=pageview&dp=%2FpageC
Ten en cuenta que el carácter /
se ha codificado como %2F
.
Valores de codificación de URLs
Todos los valores que se envían a Google Analytics deben estar codificados para URL y para UTF-8.
Para enviar la clave dp
con el valor /my page €
, primero tienes que asegurarte de que esté codificado para UTF-8 y después para URL. El resultado es la cadena final:
dp=%2Fmy%20page%20%E2%82%AC
Si alguno de los caracteres está mal codificado, se cambia por el carácter Unicode de sustitución xFFFD
.
Valores necesarios para ciertos tipos de hit
Algunos parámetros solo se pueden enviar con tipos de hit específicos.
Por ejemplo, para el tipo de hit pageview
es necesario que el parámetro de ruta de página (dp
) también esté establecido. En la referencia de parámetros se describen los parámetros necesarios para cada tipo de hit.
Longitud máxima
Algunos de los valores de texto del protocolo de medición tienen longitudes de bytes máximas específicas. Por ejemplo, el campo del referente del documento dr
tiene una longitud máxima de 2048 bytes. Si alguno de los valores supera la longitud máxima, se trunca automáticamente. Si un carácter multibyte supera la longitud máxima, se trunca todo el carácter.
Tipos de datos admitidos
Cada campo de datos del protocolo de medición pertenece a un tipo específico con sus propias reglas de validación. Si alguno de los valores del parámetro no cumple las reglas de validación, Google Analytics ignora el parámetro en cuestión y no lo procesa. El resto de parámetros se procesa con normalidad.
El protocolo de medición admite los siguientes tipos de datos:
Ten en cuenta que cada campo de datos concreto puede tener sus propias restricciones. Consulta la referencia de campos para obtener una lista completa de todos los campos de datos y de los tipos aceptados.
Texto
Se utiliza para representar cadenas. En los campos de texto se lleva a cabo procesamiento adicional. Se eliminan todos los espacios en blanco iniciales y finales. El funcionamiento interno de dos o más caracteres de espacio en blanco (incluidos el espacio, el tabulador, los saltos de línea, etc.) se reduce a un solo carácter de espacio. Esta transformación se aplica al texto sin procesar antes de que se produzca un truncamiento. Por ejemplo:
Hello World
Se convierte en:
Hello World
Moneda
Se utiliza para representar el valor total de una moneda. Se utiliza un punto decimal como delimitador entre la parte entera y la parte fraccionaria de la moneda. La precisión es de seis decimales como máximo. El siguiente valor es válido para un campo de moneda:
1000.000001
Cuando el valor se envía a Google Analytics, se elimina todo el texto hasta el primer dígito, el carácter -
o el carácter .
(decimal). Por lo tanto:
$-55.00
Se convierte en:
-55.00
Booleano
Se utiliza para determinar si un valor es verdadero o falso. Los valores válidos son:
1
: verdadero,0
: falso.
Entero
Se utiliza para representar un número entero. El valor se guarda como un entero int64 con signo.
Número
Se utiliza para representar un número entero o un número de punto flotante.