Tue. Oct 15th, 2024

Cómo evitar que la frecuencia de muestreo de la velocidad del sitio sesgue las dimensiones y métricas personalizadas


Analítica common puede recolectar Sincronización de la página datos de los usuarios que cargan sus páginas. Estos datos se rellenan en el Comportamiento -> Velocidad del sitio -> Tiempos de página informe, y es una característica muy útil para optimizar su sitio internet.

Sin embargo, esta generosa función tiene un lado oscuro. La forma en que funciona la recopilación de tiempos de página es que cuando Página vista Los clics se envían desde el sitio, una muestra de estos (1% por defecto) son seguidos automáticamente por un timing hit que incluye datos de rendimiento de la página obtenidos de la API de sincronización de navegación.

Hasta ahora todo bien. Así es como se supone que debería funcionar. Si has configurado siteSpeedSampleRate hasta 100, la primera solicitud de vista de página de cada página será seguida automáticamente por este hito de tiempo.

Sin embargo, el hit de sincronización copia su información del hit de vista de página. Básicamente, todas las dimensiones y métricas personalizadas se copian de la vista de página. Afortunadamente, elementos como los metadatos de comercio electrónico mejorado no se copian en el hit de sincronización.

Como puede ver, el hit de tiempo debajo de la vista de página tiene la misma dimensión personalizada y la misma métrica personalizada que el hit de vista de página. Esto es molesto, especialmente si usa dimensiones personalizadas con alcance de hit o prácticamente cualquier tipo de métrica personalizada. Esto es inflación de datos que no puede controlar.

Por lo tanto, necesitamos una forma de restablecer las dimensiones personalizadas y las métricas personalizadas para el impacto temporal.

Estoy agradecido a Clément Simon por ayudarme a encontrar la siguiente solución.


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!

Solución: customTask

Si has estado leyendo mis artículos recientes, es posible que lo hayas visto venir. Considero que… customTask ser una de las características más versátiles agregadas recientemente a analytics.js.

Nosotros lo usaremos customTask para verificar si el tipo de impacto es un impacto temporal y, si lo es, nos aseguraremos de que no se envíen dimensiones personalizadas ni métricas personalizadas con el impacto.

análisis.js

Esta es la situación con analytics.js antes tú haces el cambio:

ga('create', 'UA-12345-1', {siteSpeedSampleRate: 100});
ga('set', 'dimension1', 'My Worth');
ga('ship', 'pageview', {metric1: 20);

Esto crea un rastreador, establece una dimensión personalizada y luego envía una solicitud de vista de página con una métrica personalizada. Dado que estás muestreando los tiempos de página al 100 %, la visita a la página será seguida instantáneamente por una visita de tiempo que también contiene estas dos definiciones personalizadas.

Para solucionarlo, esto es lo que harás:

ga('create', 'UA-12345-1', {siteSpeedSampleRate: 100});
ga('set', 'dimension1', 'My Worth');

ga('set', 'customTask', perform(mannequin) {
  var tempFieldObject = {};
  var i = 1;
  if(mannequin.get('hitType') === 'timing') {
    whereas (i !== 201) {
      tempFieldObject('dimension' + i) = undefined;
      tempFieldObject('metric' + i) = undefined;
      i++;
    }
    mannequin.set(tempFieldObject);
  }
});

ga('ship', 'pageview', {metric1: 20});

Esto borra todas las posibles dimensiones personalizadas y métricas personalizadas del momento oportuno, y de esta forma se evita la inflación de datos.

Administrador de etiquetas de Google

Para solucionar esto en Administrador de etiquetas de GoogleNecesitarás un Variable de JavaScript personalizaday necesitarás agregar un nuevo campo en tu etiqueta Vista de página.

La variable JavaScript personalizada tiene el siguiente código:

perform() {
  return perform(mannequin) {
    var tempFieldObject = {};
    var i = 1;
    if(mannequin.get('hitType') === 'timing') {
      whereas (i !== 201) {
        tempFieldObject('dimension' + i) = undefined;
        tempFieldObject('metric' + i) = undefined;
        i++;
      }
      mannequin.set(tempFieldObject);
    }
  };
}

Y luego lo agregas a tu etiqueta de esta manera:

Cualquiera que sea el método que utilice, el customTask La implementación purgará todas las dimensiones personalizadas y métricas personalizadas del tiempo generado automáticamente.

Resumen

Este fue solo un consejo rápido para solucionar un posible problema de integridad de datos en su sitio. Por supuesto, es raro que tenga problemas con la duplicación de dimensiones personalizadas (a menos que la use contra el sitio). ga:hits métrica), pero a nivel agregado la inflación de métricas personalizadas puede ser problemática.

Este no es el único aspecto en el que la frecuencia de muestreo de la velocidad del sitio puede causar estragos en sus datos. Con Google Tag Supervisor y las visitas a páginas “virtuales”, es posible que esté inflando considerablemente los datos de tiempo de las páginas, y he escrito sobre cómo resolver este problema. aquí.

Tenga en cuenta también que se trata de correcciones del lado del cliente para algo que, en mi opinión, analytics.js debería evitar desde el principio. No entiendo por qué el management de tiempo de página simplemente copia todo de la vista de página. Me gustaría que fuera configurable, como mínimo.

Related Post

Leave a Reply

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