Linker

Il plug-in linker semplifica il processo di implementazione della misurazione interdominio, come descritto nella Guida alla misurazione interdominio per analytics.js.

Panoramica

La misurazione interdominio funziona condividendo un ID client univoco tra un dominio di origine e uno di destinazione. Si tratta di una procedura in due passaggi:

  1. Il dominio di origine deve garantire che tutti gli URL che rimandano al dominio di destinazione contengano l'ID client del dominio di origine.
  2. Il dominio di destinazione deve essere in grado di verificare la presenza di un ID client nell'URL una volta che un utente vi accede.

A questo scopo, il plug-in linker aggiunge un parametro linker agli URL che rimandano al dominio di destinazione. Il parametro linker contiene l'ID client, nonché il timestamp corrente e i metadati del browser codificati al suo interno. Il timestamp e i metadati vengono utilizzati per evitare problemi con la condivisione degli URL.

Il parametro linker sarà simile al seguente:

_ga=1.199239214.1624002396.1440697407

Nel dominio di destinazione viene fornito il campo allowLinker, che quando true indica ad analytics.js di verificare i parametri di un linker nell'URL. Se il parametro linker viene trovato ed è valido, estrae l'ID client dal parametro e lo memorizza.

Il plug-in Linker consente l'aggiunta sia automatica che manuale del parametro linker agli URL nei link e nei moduli sulla pagina. Nella maggior parte dei casi, è consigliato il metodo automatico.

Aggiunta automatica dei parametri del linker

Per impostare il collegamento automatico interdominio sul dominio di origine per gli URL che rimandano al dominio di destinazione, devi require il plug-in linker e chiamare il relativo metodo autoLink.

Il metodo autoLink può essere chiamato tramite la coda di comandi.

Una volta eseguito, analytics.js rimane in ascolto dei clic sui link che rimandano al dominio (o ai domini) di destinazione e aggiunge il parametro linker a questi link immediatamente prima dell'inizio della navigazione. È necessario attendere che un utente faccia clic su un link per aggiungere il parametro linker perché i parametri scadono dopo due minuti.

Il parametro facoltativo decorateForms deve essere specificato e impostato su true se sul tuo sito sono presenti moduli che rimandano al dominio di destinazione.

Utilizzo

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

Parametri

Nome Tipo Obbligatorio Descrizione
domains Array[RexExp|string] yes Un array di stringhe o espressioni regolari da abbinare al hostname di un URL che indica a quali domini deve essere applicato il collegamento automatico. Se viene passata una stringa, analytics.js eseguirà una corrispondenza di sottostringa, il che significa che example.com corrisponderà ai link che rimandano a blog.example.com.
useAnchor boolean no Se il valore è true, il parametro linker viene aggiunto alla parte di ancoraggio dell'URL anziché alla parte della query.
decorateForms boolean no Se il valore è true, il plug-in linker aggiunge un parametro linker agli invii di moduli che rimandano alle destinazioni corrispondenti al parametro domain.

Esempio

// 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);

Aggiungere manualmente i parametri del linker

Puoi aggiungere manualmente il parametro linker a un determinato elemento <a> o <form> con il metodo decorate. Questo metodo è necessario solo se non utilizzi il metodo autoLink descritto sopra.

decorate

Il metodo decorate può essere chiamato tramite la coda di comandi.

È importante assicurarsi che il metodo decorazione venga chiamato il più vicino possibile al momento della navigazione, perché i parametri del linker scadono dopo due minuti. La maggior parte delle volte questo metodo deve essere chiamato in un gestore di eventi.

Utilizzo

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

Parametri

Nome Tipo Obbligatorio Descrizione
element HTMLElement yes L'elemento <a> o <form> a cui aggiungere il parametro linker.
useAnchor boolean no Se il valore è true, il parametro linker viene aggiunto alla parte di ancoraggio dell'URL anziché alla parte della query.

Esempio

// 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

Oltre al metodo decorate, puoi ottenere manualmente il parametro linker che verrà utilizzato da un tracker tramite il campo linkerParam.

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

Configurare un sito per accettare i parametri del linker

Quando un utente arriva a una pagina sul dominio di destinazione con un parametro linker nell'URL, analytics.js deve sapere per cercare questo parametro.

Puoi indicare alla pagina di destinazione di cercare i parametri del linker impostando il campo allowLinker su true durante la creazione del tracker:

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

Misurazione interdominio bidirezionale

Un flusso in cui gli utenti iniziano sempre dal dominio di origine e solo successivamente passano al dominio di destinazione, considerato come misurazione interdominio unidirezionale. Le istruzioni riportate sopra presuppongono questo tipo di flusso utente.

Se non sai quale dominio verrà visitato per primo dagli utenti, devi implementare la misurazione interdominio bidirezionale, in cui ciascun dominio è configurato per funzionare come origine o destinazione.

Per implementare la misurazione interdominio bidirezionale, devi abilitare il collegamento automatico su entrambi i domini e configurarli entrambi in modo che accettino i parametri del linker.

Il giorno source.com:

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

Il giorno destination.com:

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

Utilizzo di un unico snippet in tutti i domini

Per semplificare ulteriormente la procedura, puoi elencare tutti i domini possibili da misurare nel metodo autoLink, in modo da utilizzare lo stesso snippet di codice su ogni dominio:

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