Passaggio 3: monitoraggio delle conversioni

Implementazione

Riepilogo

Un'implementazione del monitoraggio delle conversioni prevede tre componenti:

  1. Raccogliere il rwg_token dal punto di accesso della pagina di destinazione / dell'app.
  2. Mantenimento del rwg_token per la finestra di attribuzione appropriata
  3. Invio di un evento di conversione al momento del pagamento

Questa implementazione del monitoraggio delle conversioni non richiede l'utilizzo di Google Analytics o di qualsiasi altro script JavaScript di terze parti.

Prima di iniziare a lavorare all'implementazione del monitoraggio delle conversioni, devi decidere se monitorare le conversioni a livello di dispositivo o di utente:

  • Il livello del dispositivo include l'utilizzo di cookie del browser, archiviazione locale, archiviazione locale dell'app o qualsiasi altro metodo che possa mantenere attivo il token per la finestra di attribuzione di 30 giorni. Poiché il token viene memorizzato localmente sul dispositivo dell'utente, se l'utente cambia il dispositivo in uso, cancella i cookie o lo spazio di archiviazione locale o utilizza la navigazione privata o la modalità di navigazione in incognito, l'evento di conversione potrebbe non essere attribuito correttamente. Quando utilizzi il monitoraggio delle conversioni a livello di dispositivo, devi implementarlo di nuovo su ogni piattaforma supportata (incluso il mobile).
  • Il livello utente include la persistenza nel database dell'applicazione, tramite un sistema di analisi lato server o altri sistemi lato server. Poiché il token viene memorizzato sul lato server, se l'utente cambia il dispositivo in uso, cancella la cache/i cookie o utilizza la navigazione privata o la modalità di navigazione in incognito, l'evento di conversione verrà comunque attribuito quando l'utente accede di nuovo. Quando utilizzi il monitoraggio delle conversioni a livello di utente, a seconda dell'architettura del sistema potresti essere in grado di implementarlo una volta lato server e riutilizzarlo su tutte le piattaforme supportate.

Raccogliere i rwg_token

Ogni volta che Google mostra un action_link che hai fornito tramite i feed, l'URL verrà modificato in modo da includere un parametro di query univoco: rwg_token. Il valore rwg_token è una stringa codificata che contiene alcuni metadati sul link su cui ha fatto clic l'utente. Memorizzerai questo token e lo restituirai come parte dell'evento di conversione.

In ogni pagina di destinazione / punto di contatto dell'app, devi analizzare il valore impostato per il parametro di query rwg_token e memorizzarlo. I requisiti per memorizzare questo parametro sono descritti nel passaggio Mantenimento della persistenza di rwg_token.

Di seguito è riportato un esempio di come questo token può essere analizzato per il monitoraggio a livello di dispositivo tramite il browser. In alternativa, puoi raccogliere questo token lato server quando rispondi alla richiesta:

<script>
  var query = location.search.substring(1);
  var params = query.split('&');
  var rwgToken = undefined;
  for (var i = 0; i < params.length; ++i) {
    var pair = params[i].split('=');
    if (pair[0] == 'rwg_token') {
      rwgToken = decodeURIComponent(pair[1]);
      break;
    }
  }
</script>

Mantenimento della rwg_token

Dovrai mantenere il parametro URL rwg_token, che verrà aggiunto a tutti i link di azioni da te forniti, per una durata totale di 30 giorni. Il valore di rwg_token deve essere memorizzato e restituito senza modifiche. Se esiste un token esistente mantenuto da una visita precedente, il vecchio token deve essere sostituito e la finestra di 30 giorni per lo spazio di archiviazione deve essere reimpostata.

Quando esegui la persistenza del token, puoi archiviarlo a livello di dispositivo o di utente:

  • Il livello del dispositivo include l'utilizzo di cookie del browser, spazio di archiviazione locale, spazio di archiviazione locale dell'app o qualsiasi altro metodo che possa mantenere il token per la finestra di attribuzione di 30 giorni.
  • Il livello utente include la persistenza nel database dell'applicazione tramite un sistema di analisi lato server o altri sistemi lato server.

Di seguito è riportato un esempio di monitoraggio delle conversioni a livello di dispositivo, con memorizzazione di questo token in un browser web tramite un cookie proprietario. Questo esempio presuppone che tu abbia analizzato il valore del token in una variabile come nell'esempio precedente. Per utilizzare questo esempio, dovrai aggiornare "rootdomain" con il tuo dominio.

<script>
  if (typeof rwg_token !== 'undefined') {
    document.cookie =
    "_rwg_token=" + rwg_token + ";max-age=2592000;domain=rootdomain.com;path=/";
  }
</script>

Quando utilizzi il monitoraggio delle conversioni a livello di utente, rwg_token deve essere memorizzato sul server e associato all'utente.

Invio dei dati sulle conversioni

Quando un utente completa una transazione attribuibile a un link all'azione di Google Places, devi inviare una richiesta HTTP POST all' endpoint di conversione. Esistono due endpoint, uno per l'ambiente di produzione e uno per l'ambiente sandbox.

  • Produzione: https://www.google.com/maps/conversion/collect
  • Sandbox: https://www.google.com/maps/conversion/debug/collect

Il corpo del post deve essere un oggetto JSON codificato nel formato:

{
  'conversion_partner_id': partnerId,
  'rwg_token': <rwg_token_val>
}

Sia nell'ambiente sandbox sia in quello di produzione, ti verrà chiesto di fornire un valore rwg_token valido quando invii un evento di conversione. Per scopi di test nell'ambiente sandbox, puoi utilizzare il seguente token di test.

AJKvS9WeONmWKEwjG0--HdpzMq0yAVNL8KMxbb44QtbcxMhSx_NUud5b8PLUBFehAIxOBO-iYRIJOknEFkIJmdsofdVJ6uOweQ==

Di seguito è riportato un esempio completo di monitoraggio delle conversioni a livello di dispositivo (utilizzando un cookie sul dispositivo dell'utente) in JavaScript su come effettuare questa richiesta POST:

const partnerId = XXXXXXXXXX;
const endpoint = `https://www.google.com/maps/conversion/collect`;

const rwgTokenCookie = document.cookie
  .split('; ')
  .find(row => row.startsWith('_rwg_token='));

if (typeof rwgTokenCookie !== 'undefined') {
  const rwgTokenVal = rwgTokenCookie.split('=')[1];
  fetch(endpoint, {
    method: "POST",
    body: JSON.stringify({
      conversion_partner_id: partnerId,
      rwg_token: rwgTokenVal
    })
  });
}

Quando utilizzi il monitoraggio delle conversioni a livello di utente, devi recuperare il token associato all'utente (indipendentemente dalla piattaforma su cui si trova) dal meccanismo di archiviazione lato server e inviarlo utilizzando gli stessi endpoint di produzione o sandbox.

Requisiti per l'attribuzione delle conversioni

Lo standard richiesto da Google per l'attribuzione delle conversioni è una finestra di attribuzione di 30 giorni per qualsiasi interazione con un link a un luogo, in qualsiasi negozio.

Questa finestra di attribuzione indica che ci aspettiamo che un evento di conversione venga inviato in uno dei seguenti scenari:

  • Un utente segue un link di azione di luogo e effettua un ordine nella stessa sessione
  • Un utente segue un link all'azione di inserimento e poi ritorna da un altro canale entro il periodo di 30 giorni per effettuare un ordine.
  • Un utente segue un link all'azione di ricerca di un luogo e poi effettua un ordine in un altro negozio, all'interno della stessa sessione o di un'altra sessione, entro un periodo di 30 giorni.

Inoltre, ci aspettiamo che gli eventi di conversione vengano inviati da tutte le piattaforme su cui un utente può arrivare da un link Azione diretta. Che include:

  • Applicazioni web desktop o mobile
  • App mobile tramite un link diretto dell'app o un intento per app registrato per il tuo dominio

Se il token viene archiviato a livello di utente (consulta la sezione Mantenere il token), è previsto che tu fornisca l'attribuzione cross-device. In altre parole, un utente che segue un link di azione da un computer e poi completa la transazione da dispositivo mobile (utilizzando lo stesso account utente) deve attivare un evento di conversione.

Se il token viene memorizzato esclusivamente a livello di dispositivo, ad esempio nei cookie del browser, non è previsto che tu fornisca l'attribuzione cross-device. In questo caso, ogni dispositivo avrebbe un token distinto conservato se l'utente avesse seguito un link di azione su quel dispositivo e ogni dispositivo seguirebbe le regole di attribuzione separatamente.