Migrar el sistema de medición, de analytics.js a gtag.js

Si tienes experiencia con analytics.js, es recomendable que conozcas algunas de las diferencias entre analytics.js y gtag.js. En esta página te ofrecemos una descripción de algunas de estas diferencias clave e incluimos sugerencias sobre cómo migrar tu sistema de medición, de analytics.js a gtag.js.

Descripción general

analytics.js utiliza (1) objetos de seguimiento para enviar datos a Google Analytics y (2) tipos de hit para especificar los tipos de datos.

A diferencia de analytics.js, gtag.js no usa objetos de seguimiento para enviar datos a Google Analytics, sino que envía datos a las propiedades de Google Analytics identificadas con sus ID, los cuales se especifican en el comando config. Los nombres de eventos que se proporcionan a gtag.js especifican los tipos de datos que se envían a Google Analytics.

Para migrar el sistema de medición que utilizas, de analytics.js a gtag.js, sigue estos pasos en cada una de las páginas de tu sitio web:

Sustituir el fragmento de analytics.js por el fragmento de gtag.js

Localiza el fragmento de analytics.js de 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', 'GA_MEASUREMENT_ID', 'auto');
ga('send', 'pageview');
</script>
<!-- End Google Analytics -->

A continuación, sustitúyelo por el siguiente fragmento de gtag.js:

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

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

Sustituye GA_MEASUREMENT_ID por tu propio ID de Google Analytics.

Medir páginas vistas

Para enviar páginas vistas a Google Analytics, analytics.js utiliza objetos de seguimiento. Estos objetos de seguimiento tienen el ID de medición de una propiedad de Google Analytics. Por su parte, gtag.js envía páginas vistas a una propiedad de Google Analytics identificada mediante el parámetro GA_MEASUREMENT_ID, el cual se especifica en el comando config.

Medir páginas vistas con el objeto de seguimiento predeterminado

Retira el siguiente código de analytics.js, que utiliza el objeto de seguimiento predeterminado para enviar páginas vistas a Google Analytics con el comando send:

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

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

El siguiente código del fragmento de seguimiento global de gtag.js permite enviar automáticamente una página vista a la propiedad de Google Analytics que tiene el ID de seguimiento GA_MEASUREMENT_ID:

gtag('config', 'GA_MEASUREMENT_ID');

Medir páginas vistas con objetos de seguimiento especificados

Localiza el siguiente código de analytics.js, que utiliza el objeto de seguimiento especificado para enviar páginas vistas a Google Analytics:

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

A continuación, sustitúyelo por el siguiente comando event de gtag.js:

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

Medir eventos

Tal y como se ha mencionado anteriormente, analytics.js utiliza objetos de seguimiento para enviar eventos a Google Analytics. Estos objetos tienen el ID de seguimiento de una propiedad de Google Analytics. Por el contrario, gtag.js envía eventos a una propiedad de Google Analytics identificada mediante el parámetro GA_MEASUREMENT_ID, el cual se especifica en el comando config.

Medir eventos con el objeto de seguimiento predeterminado

Localiza el siguiente código de analytics.js que utiliza el objeto de seguimiento predeterminado para enviar eventos a Google Analytics con el comando send:

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

A continuación, sustitúyelo por el siguiente comando gtag.js event:

gtag('event', eventName, eventParameters);

En este comando, eventName es el nombre del evento que quieres registrar.

Ejemplo:

analytic.js:

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

// Uses the default tracker to send the event to the
// Google Analytics property with tracking ID GA_MEASUREMENT_ID.
ga('send', 'event', 'Videos', 'play', 'Fall Campaign');

gtag.js:

// Sends the event to the Google Analytics property with
// tracking ID GA_MEASUREMENT_ID set by the config command in
// the global tracking snippet.
gtag('event', 'play', {
  'event_category': 'Videos',
  'event_label': 'Fall Campaign'
});

Medir eventos con objetos de seguimiento especificados

Localiza el siguiente código de analytics.js, que utiliza el objeto de seguimiento especificado para enviar eventos a Google Analytics:

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

A continuación, sustitúyelo por el siguiente comando event de gtag.js:

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

Ejemplo:

analytics.js:

// Creates a tracker named clientTracker.
ga('create', 'GA_MEASUREMENT_ID', 'auto', 'clientTracker');

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

gtag.js:

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

Enviar dimensiones y métricas personalizadas

Localiza en tus páginas web los comandos send de analytics.js que envíen dimensiones personalizadas a Google Analytics:

ga('send', 'hitType', { 'dimension<Index>':  'dimension_value'});

A continuación, sustitúyelos por el siguiente código de gtag.js:

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

Sustituye GA_MEASUREMENT_ID por tu propio ID de Analytics.

Localiza en tus páginas web los comandos send de analytics.js que envíen métricas personalizadas a Google Analytics:

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

A continuación, sustitúyelos por el siguiente código de gtag.js:

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

Sustituye GA_MEASUREMENT_ID por tu propio ID de Analytics.

Medir los tiempos de usuario

Localiza en tus páginas web los comandos send de analytics.js que hagan un seguimiento de los tiempos de usuario:

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

A continuación, sustitúyelos por el siguiente comando gtag.js event:

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

Medir excepciones

Localiza en tus páginas web los comandos send de analytics.js que hagan un seguimiento de las excepciones:

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

A continuación, sustitúyelos por el siguiente comando gtag.js event:

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

Asignar campos de analytics.js a parámetros de gtag.js

Las tablas siguientes muestran los campos de analytics.js y sus parámetros de gtag.js correspondientes.

Eventos

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

Métricas y dimensiones personalizadas

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

En esta tabla, <Index> es un número entero positivo que representa el índice de la dimensión o métrica personalizadas.

Tiempos de usuario

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

Medición de excepciones

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

Datos de acciones de comercio electrónico mejorado

Campo de analytics.js Parámetro de 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 promociones

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

Acciones de producto y promoción

Campo de 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 de analytics.js Parámetro de gtag.js
clientId client_id
userId user_id