Migra de analytics.js a gtag.js (Universal Analytics)

En esta guía, se explica el proceso de migración de una implementación existente de analytics.js de Universal Analytics para usar gtag.js.

Descripción general

analytics.js cuenta con dos mecanismos principales para enviar datos a Google Analytics:

  1. monitores

    Los rastreadores especifican qué propiedad estás midiendo.

  2. tipos de hits

    Los tipos de hits especifican qué tipo de interacción mides.

En gtag.js, las propiedades se especifican a través del comando config o como un parámetro para un comando.

A diferencia de analytics.js, gtag.js no usa herramientas de seguimiento para enviar datos a Google Analytics. Envía datos a las propiedades de Google Analytics que se identifican por los IDs que establecen el comando config. Los nombres de eventos proporcionados a gtag.js especifican los tipos de datos que se envían a Google Analytics.

Para migrar de analytics.js a gtag.js, haz lo siguiente en cada página web de tu sitio:

Reemplaza el fragmento analytics.js por el fragmento gtag.js

Reemplaza el fragmento de analytics.js en tu página web:

<!-- Google Analytics -->
<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'TAG_ID', 'auto');
  ga('send', 'pageview');
</script>
<!-- End Google Analytics -->

con el siguiente fragmento gtag.js:

<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=TAG_ID"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'TAG_ID');
</script>

Cómo medir las vistas de página

analytics.js utiliza herramientas de seguimiento para enviar páginas vistas a Google Analytics. Una herramienta de seguimiento tiene el ID de medición de una propiedad de Google Analytics. gtag.js envía vistas de página a una propiedad de Google Analytics identificada por el TAG_ID especificado en un comando config.

Cómo medir las vistas de página con la herramienta de seguimiento predeterminada

Quita el siguiente código de analytics.js que usa la herramienta de seguimiento predeterminada para send las vistas de página en Google Analytics:

// Creates the default tracker.
ga('create', 'TAG_ID', 'auto');

// Uses the default tracker to send a pageview to the
// Google Analytics property with tag ID of 'TAG_ID'.
ga('send', 'pageview');

El siguiente código del fragmento gtag.js envía automáticamente una página vista a la propiedad de Google Analytics con un ID de etiqueta de TAG_ID:

gtag('config', 'TAG_ID');

Cómo medir las vistas de página con segmentos específicos

Reemplaza el siguiente código de analytics.js que usa la herramienta de seguimiento especificada para enviar páginas vistas a Google Analytics:

ga('create', 'TAG_ID', 'auto', 'trackerName');
ga('trackerName.send', 'pageview');

con el siguiente comando event de gtag.js:

gtag('event', 'page_view', { 'send_to': 'TAG_ID' });

Mide eventos

Como se mencionó antes, analytics.js usa herramientas de seguimiento para enviar eventos a Google Analytics. Una herramienta de seguimiento tiene el ID de seguimiento de una propiedad de Google Analytics. Por el contrario, gtag.js envía eventos a una propiedad de Google Analytics que identifica el TAG_ID especificado en un comando config.

Mide eventos con la herramienta de seguimiento predeterminada

Reemplaza el siguiente código de analytics.js que usa la herramienta de seguimiento predeterminada para send eventos en Google Analytics:

ga('create', 'TAG_ID', 'auto');
ga('send', 'event', [eventCategory], [eventAction], [eventLabel], [eventValue], [fieldsObject]);

con el siguiente comando gtag.js event:

gtag('event', eventName, eventParameters);

donde eventName es el nombre del evento que deseas registrar.

Ejemplo:

analytics.js:

// Creates the default tracker.
ga('create', 'TAG_ID', 'auto');

// Uses the default tracker to send the event to the
// Google Analytics property with a tag ID of `TAG_ID`.
ga('send', 'event', 'Videos', 'play', 'Fall Campaign');

gtag.js:

// Sends the event to the Google Analytics property with a
// tag ID of `TAG_ID` set by the config command in
// the gtag.js snippet.
gtag('event', 'play', {
  'event_category': 'Videos',
  'event_label': 'Fall Campaign'
});

Mide eventos con segmentos específicos

Reemplaza el siguiente código de analytics.js que usa la herramienta de seguimiento especificada para enviar eventos a Google Analytics:

ga('create', 'TAG_ID', 'auto', 'trackerName');
ga('trackerName.send', 'event', [eventCategory], [eventAction], [eventLabel], [eventValue], [fieldsObject]);

con el siguiente comando event de gtag.js:

gtag('event', eventName, {
  'send_to': 'TAG_ID',
  'parameter1': 'value1',
  'parameter2': 'value2',
  // ...
});

Ejemplo:

analytics.js:

// Creates a tracker named <b>clientTracker</b>.
ga('create', 'TAG_ID', 'auto', 'clientTracker');

// Uses tracker clientTracker to send the event to the
// Google Analytics property with a tag ID of TAG_ID.
ga('clientTracker.send', 'event', 'Videos', 'play', 'Fall Campaign');

gtag.js:

// Send the event to the Google Analytics property
// with a tag ID of 'TAG_ID'.
gtag('event', 'play', {
  'send_to': 'TAG_ID',
  'event_category': 'Videos',
  'event_label': 'Fall Campaign'
});

Envía dimensiones y métricas personalizadas

Reemplaza cualquier comando send de analytics.js en tus páginas web que envíe dimensiones personalizadas a Google Analytics:

ga('send', 'hitType', { 'dimension&lt;Index&gt;':  'dimension_value'});

con el siguiente código gtag.js:

gtag('config', 'TAG_ID', {
  'custom_map': {'dimension<Index>': 'dimension_name'}
});
gtag('event', 'any_event_name', {'dimension_name': 'dimension_value'});

Reemplaza TAG_ID con tu propio ID de Analytics.

Reemplaza cualquier comando send de analytics.js de tus páginas web que envíe métricas personalizadas a Google Analytics:

ga('send', 'hitType', { 'metric<Index>':  'metric_value'});

con el siguiente código gtag.js:

gtag('config', 'TAG_ID', {
  'custom_map': {'metric<Index>': 'metric_name'}
});
gtag('event', 'any_event_name', {'metric_name': 'metric_value'});

Reemplaza TAG_ID por el ID de tu etiqueta.

Mide los tiempos de los usuarios

Reemplaza cualquier comando send de analytics.js en tus páginas web que realice un seguimiento de los tiempos de los usuarios:

ga('send', 'timing', 'timingCategory', 'timingVar', timingValue, 'timingLabel');

con el siguiente comando gtag.js event:

gtag('event', 'timing_complete', {
  'name': 'timingVar',
  'value': timingValue,
  'event_category': 'timingCategory',
  'event_label': 'timingLabel'
});

Mide excepciones

Reemplaza cualquier comando send de analytics.js en tus páginas web que realice un seguimiento de excepciones:

ga('send', 'exception', {
  'exDescription': 'error_message',
  'exFatal': false  // set to true if the exception is fatal
});

con el siguiente comando gtag.js event:

gtag('event', 'exception', {
  'description': 'error_message',
  'fatal': false  // set to true if the exception is fatal
});

Cómo asignar campos de analytics.js a parámetros de gtag.js

En las siguientes tablas, se asignan los campos de analytics.js a los parámetros correspondientes de gtag.js.

Eventos

Campo analytics.js Parámetro gtag.js
eventAction event_action
eventCategory event_category
eventLabel event_label
eventValue value

Dimensiones y métricas personalizadas

Campo analytics.js Parámetro gtag.js
dimension<Index> dimension<Index>
metric<Index> metric<Index>

en el que <Index> es un número entero no negativo que representa el índice de la dimensión o métrica personalizada.

Tiempos de usuario

Campo analytics.js Parámetro gtag.js
timingCategory event_category
timingLabel event_label
timingValue value
timingVar name

Medición de excepciones

Campo analytics.js Parámetro gtag.js
exDescription description
exFatal fatal

Datos de acciones de Comercio electrónico mejorado

Campo analytics.js Parámetro gtag.js
id transaction_id
affiliation affiliation
revenue value
tax tax
shipping shipping
coupon coupon
list list_name
step checkout_step
option checkout_option

Datos de la promoción

Campo analytics.js Parámetro gtag.js
creative creative_name
position (impresión, producto) list_position
position (promoción) creative_slot

Acciones de productos y promociones

Campo analytics.js Evento gtag.js
add add_to_cart
checkout (primer paso) begin_checkout
checkout (cualquier paso posterior) checkout_progress
checkout_option set_checkout_option
click select_content (sin promociones)
detail view_item
promo_click select_content (con promociones)
purchase purchase
refund refund
remove remove_from_cart

ID de cliente e ID de usuario

Campo analytics.js Parámetro gtag.js
clientId client_id
userId user_id