Vinculación

El complemento de vinculación simplifica el proceso de implementación de la medición multidominio, tal como se describe en la guía Medición multidominio de analytics.js.

Descripción general

Para llevar a cabo la medición multidominio, se comparte un ID de cliente único entre un dominio de origen y un dominio de destino. Este proceso consta de dos pasos:

  1. El dominio de origen debe garantizar que todas las URLs que apuntan al dominio de destino contienen el ID de cliente del dominio de origen.
  2. El dominio de destino necesita saber que debe buscar un ID de cliente en la URL cuando un usuario llegue ahí.

Para lograr esto, el complemento de vinculación añade un parámetro de vinculación a las URLs que apuntan al dominio de destino. El parámetro de vinculación contiene el ID de cliente, la marca de tiempo de ese momento y los metadatos del navegador codificados. La marca de tiempo y los metadatos se utilizan para evitar problemas cuando se comparten URLs.

El parámetro de vinculación será similar a este:

_ga=1.199239214.1624002396.1440697407

En el dominio de destino, se proporciona el campo allowLinker que, si tiene asignado el valor true, indica a analytics.js que compruebe si hay parámetros de vinculación en la URL. Si se encuentra un parámetro de creación de enlaces y es válido, extrae el ID de cliente del parámetro y lo almacena.

El complemento de vinculación permite añadir, tanto de forma automática como manual, el parámetro de vinculación a las URLs en los enlaces y formularios de la página. En la mayoría de los casos, se recomienda el modo automático.

Añadir parámetros de vinculación de forma automática

Si quieres configurar la vinculación automática multidominio en el dominio de origen para las URLs que apuntan al dominio de destino, debes solicitar el complemento de vinculación y llamar a su método autoLink.

El método autoLink se puede llamar mediante la cola de comandos.

Cuando analytics.js se ejecute, procesará los clics en los enlaces que apuntan al dominio (o dominios) de destino y les añadirá el parámetro de vinculación justo antes de comenzar la navegación. Para añadir el parámetro de vinculación, es necesario esperar a que un usuario haga clic en un enlace, ya que dicho parámetro caduca a los dos minutos.

Debes especificar el parámetro decorateForms opcional y asignarle el valor true si en tu sitio web hay formularios que apunten al dominio de destino.

Uso

ga('[trackerName.]linker:autoLink', domains, [useAnchor], [decorateForms]);

Parámetros

Nombre Tipo Obligatorio Descripción
domains Array[RexExp|string] Matriz de cadenas o expresiones regulares correspondientes al hostname de una URL que indica a qué dominios debe aplicarse la vinculación automática. Si se transfiere una cadena, analytics.js hará una concordancia de cadena secundaria, por lo que example.com también se corresponderá con los enlaces que apunten a blog.example.com.
useAnchor boolean no Si es true, el parámetro de vinculación se añadirá a la parte fija de la URL, y no a la parte de la consulta.
decorateForms boolean no Si es true, el complemento de vinculación añadirá un parámetro de vinculación a los envíos de formularios que apunten a destinos que coincidan con el parámetro domain.

Ejemplo

// Loads the Linker plugin
ga('require', 'linker');

// Instructs the Linker plugin to automatically add linker parameters
// to all links and forms pointing to the domain "destination.com".
ga('linker:autoLink', ['destination.com'], false, true);

Añadir parámetros de vinculación de forma manual

Para añadir de forma manual el parámetro de creación de enlaces a un elemento <a> o <form>, debes usar el método decorate. Este método solo es necesario si no se usa el método autoLink descrito anteriormente.

decorate

El método decorate se puede llamar mediante la cola de comandos.

Es importante asegurarse de que se llama al método decorate justo antes de la navegación, ya que los parámetros de vinculación caducan a los dos minutos. En la mayoría de las ocasiones se debe llamar a este método desde un gestor de eventos.

Uso

ga('[trackerName.]linker:decorate', element, [useAnchor]);

Parámetros

Nombre Tipo Obligatorio Descripción
element HTMLElement Elemento <a> o <form> al que se va a añadir el parámetro de vinculación.
useAnchor boolean no Si es true, el parámetro de vinculación se añadirá a la parte fija de la URL, y no a la parte de la consulta.

Ejemplo

// Loads the Linker plugin
ga('require', 'linker');

// Gets a reference to a link pointing to an external domain.
var destinationLink = document.getElementById('destination-link');

// Adds click handler that decorates `destinationLink`.
destinationLink.addEventListener('click', function() {
  ga('linker:decorate', destinationLink);
});

linkerParam

Además del método decorate, el campo linkerParam también permite obtener de forma manual el parámetro de vinculación que usará un objeto de seguimiento.

ga(function(tracker) {
  var linkerParam = tracker.get('linkerParam');
});

Configurar un sitio para que acepte parámetros de vinculación

Cuando un usuario llega a una página del dominio de destino que tiene un parámetro de vinculación en la URL, analytics.js necesita saber que debe buscar ese parámetro.

Para indicar a la página de destino que busque parámetros de vinculación, asigna el valor true al campo allowLinker al crear el objeto de seguimiento:

ga('create', 'UA-XXXXXX-X', 'auto', {
  allowLinker: true
});

Medición multidominio bidireccional

La medición multidominio unidireccional es un flujo de usuarios en el que el usuario siempre empieza en el dominio de origen y después se dirige al dominio de destino. Las instrucciones anteriores se refieren a este tipo de flujo de usuarios.

Si no sabes qué dominio visitarán los usuarios en primer lugar, debes implementar la medición multidominio bidireccional, en la que los dominios pueden funcionar como origen o destino.

Para aplicar la medición multidominio bidireccional, habilita la vinculación automática en ambos dominios y configúralos para que acepten los parámetros de vinculación.

En source.com:

ga('create', 'UA-XXXXX-Y', 'auto', {allowLinker: true});
ga('require', 'linker');
ga('linker:autoLink', ['destination.com']);

En destination.com:

ga('create', 'UA-XXXXX-Y', 'auto', {allowLinker: true});
ga('require', 'linker');
ga('linker:autoLink', ['source.com']);

Usar un único fragmento en todos los dominios

Para simplificar aún más la medición, puedes crear una lista con todos los dominios posibles que quieras medir en el método autoLink. Así, podrás usar el mismo fragmento de código en cada uno de ellos.

ga('create', 'UA-XXXXX-Y', 'auto', {allowLinker: true});
ga('require', 'linker');
ga('linker:autoLink', ['source.com', 'destination.com']);