Monitoraggio delle conversioni

Implementazione

Riepilogo

L'implementazione del monitoraggio delle conversioni prevede tre fasi:

  1. Raccolta di rwg_token dalla pagina di destinazione o dal punto di ingresso dell'app.
  2. Mantenere rwg_token per la finestra di attribuzione appropriata
  3. Inviare un evento di conversione al momento del pagamento

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

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

  • Il livello di dispositivo include l'utilizzo dei cookie del browser, dello spazio di archiviazione locale, dello spazio di archiviazione locale dell'app o di qualsiasi altro metodo che possa mantenere il token per la finestra di attribuzione di 30 giorni. Poiché il token viene memorizzato localmente sul dispositivo dell'utente, se quest'ultimo cambia il dispositivo che sta utilizzando, cancella i dati di archiviazione/i cookie locali 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. Dal momento che il token viene archiviato sul lato server, se l'utente cambia il dispositivo che sta utilizzando, cancella i propri cookie/di archiviazione locale o utilizza una navigazione privata o la modalità di navigazione in incognito, l'evento di conversione viene comunque attribuito una volta che l'utente esegue di nuovo 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 in corso...

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 memorizzare questo token e ritrasmetterlo come parte dell'evento di conversione.

Su ogni pagina di destinazione o punto di ingresso dell'app devi analizzare e archiviare il valore impostato per il parametro di query rwg_token. I requisiti per la memorizzazione 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, puoi 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>

Mantenere rwg_token

Ti verrà richiesto di salvare il parametro URL rwg_token, che verrà aggiunto a tutti i link di azione da te forniti, 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 dopo una visita precedente, è necessario sostituire il token precedente e reimpostare il periodo di 30 giorni per l'archiviazione.

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

  • Il livello di dispositivo include l'utilizzo dei cookie del browser, dello spazio di archiviazione locale, dello spazio di archiviazione locale dell'app o di 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 il 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 "rootdomain" al 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 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 su come effettuare questa richiesta di pubblicazione:

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 di attribuzione delle conversioni

Lo standard obbligatorio di 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.

In base a questa finestra di attribuzione, è previsto che venga inviato un evento di conversione in uno dei seguenti scenari:

  • Un utente segue un link di azione diretta ed effettua un ordine nella stessa sessione
  • Un utente segue un link di azione diretta e torna da un altro canale entro 30 giorni per effettuare un ordine.
  • Un utente segue un link di azione diretta e poi effettua un ordine in un altro negozio, nell'ambito della stessa sessione o di una sessione diversa 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 come permanente del token), devi fornire l'attribuzione cross-device. In altre parole, un utente che segue un link all'azione dal desktop e poi completa la transazione su un dispositivo mobile (utilizzando lo stesso account utente) dovrebbe 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 un'attribuzione cross-device. In questo caso, ogni dispositivo avrebbe un token separato se l'utente avesse seguito un link di azione sul dispositivo e ogni dispositivo seguirebbe le regole di attribuzione separatamente.