Creación de enlaces

El complemento de creación de enlaces simplifica el proceso de implementación del seguimiento multidominio, tal como se describe en la Guía de seguimiento multidominio para analytics.js.

Descripción general

Para realizar el seguimiento 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 URL 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 plugin de creación de enlaces agrega un parámetro de creación de enlaces a las URL que apuntan al dominio de destino. El parámetro de creación de enlaces contiene el ID de cliente, y también la marca de tiempo actual y los metadatos del navegador codificados en el mismo. La marca de tiempo y los metadatos se utilizan para evitar problemas de intercambio de URL.

El parámetro de creación de enlaces se parecerá a:

_ga=1.199239214.1624002396.1440697407

En el dominio de destino, se proporciona el campo allowLinker, que si es true, solicita a analytics.js que compruebe si hay en la URL parámetros de creación de enlaces. 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 creación de enlaces permite agregar el parámetro de creación de enlaces a la URL en los enlaces y formularios de la página tanto de forma automática como manual. En la mayoría de los casos, se recomienda el modo automático.

Agregar parámetros de creación de enlaces de forma automática

Si quieres configurar la creación automática de enlaces en diferentes dominios en el dominio de origen para que las URL apunten al dominio de destino, debes solicitar el complemento de creación de enlaces y llamar al método autoLink.

Se puede llamar al método autoLink mediante la cola de comandos.

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

Si tu sitio web tiene formularios que apuntan al dominio de destino, debes especificar el parámetro opcional decorateForms y establecerlo en true.

Uso

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

Parámetros

Nombre Tipo Obligatorio Descripción
dominios Array[RexExp|string] Matriz de cadenas o expresiones regulares correspondientes al hostname de una URL que indica a qué dominios debe aplicarse la creación automática de enlaces. Si se pasa una cadena, analytics.js realizará una concordancia de cadena secundaria, lo que significa que example.com coincidirá con enlaces que apunten a blog.example.com.
useAnchor boolean no Si es true, se agregará el parámetro de creación de enlaces a la parte fija de la URL y no a la parte de la consulta.
decorateForms boolean no Si es true, el plugin de creación de enlaces agregará un parámetro de creación de enlaces 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);

Agregar parámetros de creación de enlaces de forma manual

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

decorate

Se puede llamar al método decorate 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 creación de enlaces 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 El elemento <a> o <form> al que se va a adjuntar el parámetro de creación de enlaces.
useAnchor boolean no Si es true, se agregará el parámetro de creación de enlaces 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 creación de enlaces que usará un objeto de seguimiento.

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

Configurar un sitio web para aceptar parámetros de creación de enlaces

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

Para indicar a la página de destino que busque los parámetros de creación de enlaces, establece el campo allowLinker en true al crear el objeto de seguimiento:

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

Seguimiento bidireccional multidominio

Se considera un seguimiento unidireccional multidominio un flujo de usuario en el que el usuario siempre empieza en el dominio de origen y solo después se dirige al dominio de destino. Las instrucciones anteriores se refieren a este tipo de flujo de usuario.

En los casos en que no se sabe qué dominio visitarán tus usuarios en primer lugar, debes implementar el seguimiento bidireccional multidominio, en el que cada dominio se configura para funcionar como origen o destino.

Para llevar el cabo el seguimiento bidireccional multidominio, debes habilitar la creación de enlaces automática en ambos dominios y configurarlos para que acepten los parámetros de creación de enlaces.

En origen.com:

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

En destino.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 esto, puedes enumerar todos los posibles dominios de los que quieres realizar el seguimiento en el método autoLink, lo cual te permitirá utilizar el mismo fragmento de código en todos los dominios:

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