Quizás lo sabías, quizás no, pero las solicitudes enviadas desde tu sitio internet (o aplicación) a Análisis de Google tener un tamaño máximo. O, más específicamente, el carga útil El tamaño (es decir, el cuerpo del contenido actual de la solicitud) tiene un máximo.
Este tamaño máximo de la carga útil es 8192 bytesEsto significa, básicamente, que la cadena de parámetros completa enviada a los servidores de Google Analytics no puede tener más de 8192 caracteres. El problema es que, si la carga útil supera este límite, Google Analytics simplemente elimina el hitNo hay ninguna advertencia, ningún error, nada. El hit simplemente no se envía. Si está ejecutando el Depurador de Google Analytics extensión del navegador, usted poder En realidad veo una advertencia cuando se excede el tamaño de la carga útil:
Si ve esta advertencia, significa que el impacto se canceló debido a que se excedió la longitud de 8192 de la carga útil.
Tenga en cuenta que si está utilizando Protocolo de medición Para enviar datos directamente a Google Analytics, esta limitación de tamaño se aplica a Cuerpo de la solicitud POSTSi está enviando los datos con una solicitud GET, el tamaño máximo de la URL completa /recopilar es 8000 bytes.
De todas formas, en este artículo te mostraré cómo enviar el tamaño de la carga útil (o al menos una aproximación muy cercana) como una dimensión personalizada a Google Analytics con cada visita. De esa manera podrás verificar si te estás acercando a esta limitación y así podrás tomar precauciones para evitar exceder el tamaño máximo. Lo haremos con customTask
(¿qué más?) y Administrador de etiquetas de Google.
ACTUALIZAR:Echa un vistazo a Angela Grammatas Excelente articulo sobre el mismo tema. Ella utiliza una táctica ligeramente diferente, agregando los datos en el
buildHitTask
que funciona igual de bien.
incógnita
El boletín informativo de Simmer
Suscríbete a la Boletín informativo de Simmer ¡Para recibir las últimas noticias y contenidos de Simo Ahava en tu bandeja de entrada de correo electrónico!
SOLICITUD IMPORTANTE
Antes de empezar, tengo una petición que hacer. Hace algún tiempo, alguien se puso en contacto conmigo (creo que period un googlero) y me compartió una solución related. No logro encontrar esta comunicación en ningún lado, porque ni siquiera recuerdo a través de qué medio se pusieron en contacto conmigo (he revisado mi buzón de correo sin éxito).
Esta solución definitivamente se inspiró en la thought de esta persona, por lo que quiero darle crédito a quien lo merece. Por lo tanto, si recuerdas haberme contactado con una solución en la que solías trabajar y que lograba algo related, no dudes en ponerte en contacto conmigo y actualizaré este artículo con mi agradecimiento por tu ejemplo inspirador.
Envíe la longitud de la carga útil del impacto utilizando customTask
Si no sabes qué customTask
es, por favor revisa mi guía sobre el tema. En pocas palabras, customTask
permite modificar, entre otras cosas, la solicitud enviada a Google Analytics antes Se envía agregando información dinámicamente a la carga útil. Esta información puede ser cualquier cosa, desde un Carga útil depurada de PII hacia Identificación del cliente.
customTask
trabaja con un Variable de JavaScript personalizadaPara enviar la longitud de la carga útil del hit como una dimensión personalizada, primero deberá crear uno nuevo con alcance de impacto Dimensión personalizada en el administrador de Google Analytics. Una vez que lo haya creado, tome nota de la índice asignado a la nueva dimensión.
Luego, en Google Tag Supervisor, crea una nueva Variable de JavaScript personalizadaPonle un nombre descriptivo, por ejemplo customTask – longitud de la carga útil del hitEsto es lo que debes agregar dentro:
operate() {
// Change this index to match that of the Customized Dimension you created in GA
var customDimensionIndex = 10;
return operate(mannequin) {
var globalSendTaskName = '_' + mannequin.get('trackingId') + '_sendHitTask';
var originalSendHitTask = window(globalSendTaskName) = window(globalSendTaskName) || mannequin.get('sendHitTask');
mannequin.set('sendHitTask', operate(sendModel) {
attempt {
var originalHitPayload = sendModel.get('hitPayload');
var hitPayload = sendModel.get('hitPayload');
var customDimensionParameter = '&cd' + customDimensionIndex;
// If hitPayload already has that Customized Dimension, notice this within the console and don't overwrite the prevailing dimension
if (hitPayload.indexOf(customDimensionParameter + '=') > -1) {
console.log('Google Analytics error: tried to ship hit payload size in an already assigned Customized Dimension');
originalSendHitTask(sendModel);
} else {
// In any other case add the Customized Dimension to the string
// along with the entire size of the payload
hitPayload += customDimensionParameter + '=';
hitPayload += (hitPayload.size + hitPayload.size.toString().size);
sendModel.set('hitPayload', hitPayload, true);
originalSendHitTask(sendModel);
}
} catch(e) {
console.error('Error sending hit payload size to Google Analytics');
sendModel.set('hitPayload', originalHitPayload, true);
originalSendHitTask(sendModel);
}
});
};
}
Para configurar esto customTask
solo necesitas actualizar el customDimensionIndex
variable con el número de índice de su dimensión personalizada (en mi ejemplo, el índice es 10
).
Esta función interrumpe sendHitTask
que es la tarea que se utiliza para enviar la solicitud a Google Analytics. La carga útil enviada a Google Analytics se adjunta con la dimensión personalizada que ha creado y el valor de esa dimensión personalizada se establece en toda la longitud de la carga útil. Por lo tanto, cuando una etiqueta que utiliza esta customTask
incendios, la solicitud a Google Analytics contendrá la longitud de la carga útil como el valor de la dimensión personalizada que le asignó.
Para agregarlo a sus etiquetas, utilice un Variable de configuración de Google Analytics o anular la configuración de cualquier etiquetaDesplácese hacia abajo para Más configuraciones > Campos a configurary agregue un nuevo campo.
Nombre del campo: Tarea personalizada
Valor: {{customTask – longitud de la carga útil del hit}}
Ahora, cualquier etiqueta que tenga este campo configurado agregará la longitud de la carga útil del impacto como una dimensión personalizada a la solicitud.
Puedes comprobarlo abriendo el Purple pestaña de las herramientas para desarrolladores de su navegador. La etiqueta está representada por una solicitud a /accumulate
y al hacer clic en esta solicitud, puede ver que el parámetro Dimensión personalizada está incluido con la longitud de la carga útil:
Otras concepts
En realidad podrías reescribir el customTask
para agregar algo de lógica adicional si se está acercando a la 8192 Tamaño máximo en bytes. Por ejemplo, no resulta de mucha ayuda agregar la longitud de la carga útil como una dimensión personalizada si la carga útil nunca se envía debido a que se excede el requisito de tamaño.
Al agregar algún código personalizado, podrías hacer cosas como:
-
Cuando la longitud de la carga útil sea igual o superior a 8192 bytes, elimine los campos innecesarios de la carga útil hasta que la longitud sea inferior al límite.
-
Cuando la longitud de la carga útil sea igual o superior a 8192 bytes, envíe una nueva visita a Google Analytics que contenga información clave de la carga útil “rota”, solo para que pueda tener una thought del alcance del problema.
Una razón típica para exceder la longitud de la carga útil es si está enviando Comercio electrónico mejorado datos de impresión o simplemente carritos de compra muy grandes. Solo se necesitan entre 50 y 60 productos para acercarse al límite de 8192 bytes. A menos que pueda reducir el tamaño de la carga útil del producto utilizando medios habituales, podría hacer algo como eliminar todos los campos no críticos de los objetos del producto (por ejemplo, model
, class
, variant
), y solo incluya el id
, identify
, worth
y amount
.
O puede eliminar todos los datos del producto excepto id
En estos casos, y luego utilizar Importación de datos para actualizar los datos adicionales.
Resumen
Bueno, parece que sí customTask
al rescate de nuevo. Es una función muy potente y me encanta el hecho de que puedas obtener todo meta con sus datos de Google Analytics.
Incluir en la carga útil detalles que de otro modo quedarían ocultos es una excelente forma de agregar un nivel completamente nuevo de oportunidades de depuración a su recopilación de datos.
El hecho de que se alcance el límite de tamaño de la carga útil es un problema que no te avisará si surge un problema. La interfaz de usuario de Google Analytics no podrá informarte sobre este problema porque las solicitudes nunca se envían a GA en primer lugar. Con esta dimensión personalizada, puedes agregar esta información a la carga útil como una dimensión personalizada y luego prepararte con anticipación para la eventualidad de que puedas alcanzar el tamaño máximo de la carga útil en algún momento.