Passaggio 3. Monitoraggio delle conversioni

Implementazione

Riepilogo

L'implementazione del monitoraggio delle conversioni prevede tre passaggi:

  1. Raccolta di rwg_token dalla pagina di destinazione o dal punto di ingresso dell'app.
  2. Continuare il 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 altri JavaScript di terze parti.

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

  • Il livello di dispositivo include l'utilizzo dei cookie del browser, dell'archiviazione locale, dell'archiviazione locale dell'app o di qualsiasi altro metodo in grado di mantenere 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 che utilizza, cancella i cookie/lo spazio di archiviazione locale o utilizza una modalità di navigazione privata o 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 nuovamente su ogni piattaforma supportata (inclusi i dispositivi mobili).
  • Il livello utente include la memorizzazione nel database dell'applicazione tramite un sistema di analisi lato server o altri sistemi lato server. Poiché il token viene archiviato sul lato server, se l'utente cambia il dispositivo che utilizza, cancella i cookie o lo spazio di archiviazione locale oppure se utilizza la navigazione privata o la modalità di navigazione in incognito, l'evento di conversione viene comunque attribuito una volta che l'utente esegue nuovamente l'accesso. Quando utilizzi il monitoraggio delle conversioni a livello di utente, a seconda dell'architettura del sistema potresti essere in grado di implementarlo una volta sul lato server e riutilizzarlo su tutte le piattaforme supportate.

Raccolta di 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 ricerca univoco: rwg_token. Il valore rwg_token è una stringa codificata che contiene alcuni metadati sul link su cui l'utente ha fatto clic. Dovrai archiviare questo token e passarlo come parte dell'evento di conversione.

Su ogni pagina di destinazione / punto di ingresso dell'app devi analizzare il valore impostato per il parametro di query rwg_token e archiviarlo. I requisiti per l'archiviazione di questo parametro sono descritti nel passaggio Mantenere rwg_token.

Di seguito è riportato un esempio di come è possibile analizzare questo token per il monitoraggio a livello di dispositivo tramite il browser. In alternativa, potresti raccogliere questo token sul 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>

Persistente di rwg_token

Ti verrà chiesto di salvare in modo permanente il parametro URL rwg_token, che verrà aggiunto a tutti i link di azione forniti da te, per una durata totale di 30 giorni. Il valore di rwg_token deve essere archiviato e restituito senza alcuna modifica. Se esiste già un token salvato in una visita precedente, è necessario sostituire il token precedente e reimpostare la finestra di 30 giorni per l'archiviazione.

Se il token viene mantenuto, puoi archiviarlo a livello di dispositivo o di utente:

  • Il livello di dispositivo include l'utilizzo di cookie del browser, archiviazione locale, archiviazione locale dell'app o qualsiasi altro metodo in grado di mantenere il token per la finestra di attribuzione di 30 giorni.
  • Il livello utente include la memorizzazione 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, in cui viene memorizzato 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, devi aggiornare "dominio principale" nel 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 archiviato sul server e associato all'utente.

Invio di dati sulle conversioni

Quando un utente completa una transazione attribuibile a un link di Google Place Action, devi inviare una richiesta POST HTTP 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 con codifica JSON nel formato:

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

Sia nell'ambiente sandbox che in quello di produzione, dovrai fornire un valore rwg_token valido quando invii un evento di conversione. A scopo di test nell'ambiente sandbox, puoi utilizzare il seguente token di test.

ADQ7psRE9YyDSVR6YpfD-fYdxoFYVKS1xeTvXdSxqF8a3bnk0W62eMEnUjoNPwjhNHG0elwBnM1awTjr9vXET8yOowCeuODjwA==

Di seguito è riportato un esempio completo di monitoraggio delle conversioni a livello di dispositivo (utilizzando un cookie sul dispositivo dell'utente) in JavaScript e su come effettuare questa richiesta di 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 superficie in cui si trova) dal meccanismo di archiviazione lato server e inviarlo utilizzando gli stessi endpoint di produzione o sandbox.

Requisiti di 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 prevede che venga inviato un evento di conversione in uno dei seguenti scenari:

  • Un utente segue un link per l'azione di un luogo ed effettua un ordine nella stessa sessione.
  • Un utente segue un link di azione di un luogo e poi torna da un canale diverso entro la finestra di 30 giorni per effettuare un ordine.
  • Un utente segue un link di azione di contatto e poi effettua un ordine in un negozio diverso, nella stessa sessione o in un'altra sessione in un periodo di 30 giorni.

Inoltre, prevediamo che gli eventi di conversione vengano inviati da tutte le piattaforme a cui un utente può arrivare da un link di azione diretta. Tra cui:

  • Applicazioni web desktop o mobile
  • App mobile, tramite un link diretto all'app o un intent di app registrato per il tuo dominio

Se il token è archiviato a livello di utente (consulta la sezione relativa alla manomissione del token), si prevede che venga fornita l'attribuzione cross-device. In altre parole, un utente che segue un link alle azioni dal computer e poi completa la transazione sui dispositivi mobili (utilizzando lo stesso account utente) dovrebbe attivare un evento di conversione.

Se il token viene archiviato esclusivamente a livello di dispositivo, ad esempio nei cookie del browser, non è previsto l'attribuzione cross-device. In questo caso, se l'utente avesse seguito un link di azione sul dispositivo, ogni dispositivo avrebbe un token separato e ogni dispositivo seguiva le regole di attribuzione separatamente.