Monitoraggio delle conversioni

Avviso: assicurati che i dati sulle conversioni non contengano informazioni che consentono l'identificazione personale (PII) dell'utente.

Implementazione

Riepilogo

L'implementazione del monitoraggio delle conversioni si compone di tre elementi:

  • Raccogliere rwg_token e merchant_id dalla pagina di destinazione o dal punto di ingresso dell'app.
  • Mantieni i valori rwg_token e merchant_id per la finestra di attribuzione appropriata.
  • Confronta i merchant_id persistenti e i merchant_id al momento della conversione (prenotazione completata).
  • Invio di un evento di conversione al momento della conversione (prenotazione completata).

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

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

  • A livello di dispositivo include l'utilizzo di cookie del browser, spazio di archiviazione locale, archiviazione locale dell'app o qualsiasi altro metodo in grado di rendere persistente il token per la finestra di attribuzione di 30 giorni. Poiché il token verrebbe memorizzato localmente sul dispositivo dell'utente, se l'utente cambia il dispositivo che sta utilizzando, cancella lo spazio di archiviazione locale o i cookie oppure utilizza una navigazione privata o in 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 nuovamente su tutte le piattaforme supportate (inclusi i dispositivi mobili).
  • Il livello utente include il suo mantenimento nel database dell'applicazione, tramite un sistema di analisi lato server o altri sistemi lato server. Poiché il token verrebbe memorizzato sul lato server, se l'utente cambia il dispositivo che sta utilizzando, cancella i cookie o l'archiviazione locale oppure sta utilizzando una navigazione privata o in incognito, l'evento di conversione viene comunque attribuito quando 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 sola volta sul lato server e di riutilizzarlo su tutte le piattaforme supportate.

Raccolta di rwg_token in corso...

Ogni volta che Google mostra un link action_link fornito tramite i feed, questo URL viene modificato per includere un parametro di ricerca univoco: rwg_token. Il valore rwg_token è una stringa codificata che contiene alcuni metadati relativi al link su cui l'utente ha fatto clic, ma nessun dato utente. Devi archiviare questo token e ripassarlo come parte dell'evento di conversione.

In ogni pagina di destinazione o 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 Permanente 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 sul lato server quando rispondi alla richiesta:

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;
  }
}

Raccolta di merchant_id in corso...

Se implementi la logica di monitoraggio delle conversioni nel frontend, nella pagina di destinazione devi implementare uno script personalizzato che individui e acquisisca merchant_id. Di solito, merchant_id potrebbe essere già presente sulla pagina di destinazione o nell'URL, quindi puoi acquisirlo da lì. In caso contrario, devi trovare un modo per esporli da qualche parte in modo che siano appropriati, il che probabilmente implicherebbe modifiche di backend.

Se implementi la logica di monitoraggio delle conversioni nel backend, potresti trovare l'merchant_id insieme ai dati che eseguono query al tuo sistema interno per generare la pagina frontend.

Questo merchant_id deve essere uguale a quello che hai condiviso con Google nel tuo feed.

rwg_token e merchant_id persistenti

Dovrai mantenere 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 dell'attributo rwg_token deve essere archiviato e restituito senza alcuna modifica.

Insieme a rwg_token, dovrai archiviare il valore merchant_id associato al link di azione.

Se è già presente un token esistente di una visita precedente, i valori rwg_token e merchant_id precedenti devono essere sostituiti e la finestra di 30 giorni per l'archiviazione deve essere reimpostata.

Se mantieni la coppia precedente, puoi archiviare i valori a livello di dispositivo o di utente:

  • A livello di dispositivo include l'utilizzo di cookie del browser, spazio di archiviazione locale, archiviazione locale dell'app o qualsiasi altro metodo in grado di rendere persistente il token per la finestra di attribuzione di 30 giorni.
  • Il livello utente include il suo mantenimento 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, che memorizza questi valori in un browser web utilizzando 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.com al tuo dominio.

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

Quando utilizzi il monitoraggio delle conversioni a livello di utente, rwg_token + merchant_id devono essere archiviati sul server e associati all'utente.

Invio dei dati sulle conversioni

Quando un utente completa una transazione attribuibile a un link Azione Google Place, 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>,
  "merchant_changed": 1|2
}

Esempio (commerciante non modificato con il token di prova per il partner 20123456):

{
  "conversion_partner_id": 20123456,
  "rwg_token": "AJKvS9WeONmWKEwjG0--HdpzMq0yAVNL8KMxbb44QtbcxMhSx_NUud5b8PLUBFehAIxOBO-iYRIJOknEFkIJmdsofdVJ6uOweQ",
  "merchant_changed": 2
}

Il valore merchant_changed viene utilizzato per determinare se il commerciante è stato modificato rispetto al commerciante di reindirizzamento iniziale. Esistono due valori che possono essere trasmessi

Valore della modifica del commerciante Requisito
1 Questo valore deve essere utilizzato quando un utente ha lasciato il sito web del commerciante originale e completato un acquisto tramite la tua piattaforma con un commerciante diverso
2 Questo valore deve essere utilizzato quando il cliente ha completato una transazione tramite l'entità originale (commerciante).

Sia nell'ambiente sandbox che in quello di produzione devi fornire un valore rwg_token valido durante l'invio di un evento di conversione. A scopo di test, utilizza il seguente token di test in entrambi gli ambienti fino al lancio:

AJKvS9WeONmWKEwjG0--HdpzMq0yAVNL8KMxbb44QtbcxMhSx_NUud5b8PLUBFehAIxOBO-iYRIJOknEFkIJmdsofdVJ6uOweQ==

Di seguito è riportato un esempio completo del monitoraggio delle conversioni a livello di dispositivo (utilizzo di un cookie sul dispositivo dell'utente) in JavaScript che spiega 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,
      merchant_changed: merchantChanged
    })
  });
}

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 obbligatorio di Google per l'attribuzione delle conversioni è una finestra di attribuzione di 30 giorni per qualsiasi interazione con un link a luoghi, in qualsiasi negozio.

Questa finestra di attribuzione indica che Google si aspetta che venga inviato un evento di conversione in uno dei seguenti scenari:

  • Un utente segue un link di azione diretta ed effettua un ordine per lo stesso commerciante nella stessa sessione. (Valore di modifica del commerciante = 2)
  • Un utente segue un link di azione diretta e poi torna da un canale diverso entro il periodo di 30 giorni per effettuare un ordine per lo stesso commerciante. (Valore di modifica del commerciante = 2)
  • Un utente segue un link di azione diretta, quindi effettua un ordine in un altro negozio, all'interno della stessa sessione o di una sessione diversa in un periodo di 30 giorni. ( Valore modifica commerciante = 1)

Inoltre, Google si aspetta che gli eventi di conversione vengano inviati da tutte le piattaforme a cui un utente può essere indirizzato da un link di azione locale. Tra cui:

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

Se il token viene archiviato a livello di utente (vedi il passaggio permanente del token), dovrebbe fornire l'attribuzione cross-device. In altre parole, un utente che segue un link di azione dal computer 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 è prevista l'attribuzione cross-device. In questo caso, ogni dispositivo avrebbe un token separato se l'utente avesse seguito un link di azione su quel dispositivo e ogni dispositivo seguirebbe le regole di attribuzione separatamente.