Thu. Dec 5th, 2024

Enviar la longitud de la carga útil de Google Analytics como dimensión personalizada


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 buildHitTaskque 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 customTasksolo 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 sendHitTaskque 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 /accumulatey 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:

  1. 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.

  2. 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, worthy 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.

Related Post

Leave a Reply

Your email address will not be published. Required fields are marked *