Implementazione
Riepilogo
L'implementazione del monitoraggio delle conversioni è composta da tre elementi:
-
Raccolta di
rwg_tokendal punto di accesso alla pagina di destinazione / all'app. -
Persistenza del
rwg_tokenper la finestra di attribuzione appropriata - 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 codice 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 di 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. Poiché il token verrebbe memorizzato localmente sul dispositivo dell'utente, se l'utente cambia il dispositivo che utilizza, cancella lo spazio di archiviazione locale/i cookie 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 superficie supportata (inclusa quella 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 dispositivo, cancella l'archiviazione locale/i cookie o utilizza la navigazione privata o in incognito, l'evento di conversione verrà comunque attribuito una volta che l'utente avrà eseguito di nuovo l'accesso. Quando utilizzi il monitoraggio delle conversioni a livello utente, a seconda dell'architettura del sistema, potresti essere in grado di implementarlo una sola 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 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 accesso all'app devi analizzare il valore impostato
per il parametro di query rwg_token e memorizzarlo. I requisiti per
l'archiviazione di questo parametro sono descritti nel passaggio Memorizzazione 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 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>
Persisting the rwg_token
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 di rwg_token deve essere
memorizzato e restituito senza modifiche.
Se esiste un token persistente di una visita precedente, il
token precedente deve essere sostituito e la finestra di 30 giorni per l'archiviazione
deve essere reimpostata.
Quando rendi persistente il token, puoi memorizzarlo a livello di dispositivo o di utente:
- Il livello di dispositivo include l'utilizzo di cookie del browser, spazio di archiviazione locale, spazio di archiviazione locale dell'app o qualsiasi altro metodo che possa rendere persistente 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, che memorizza 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 "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 utente, il 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 Azione locale di Google, 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 codificato in formato JSON nel formato:
{
'conversion_partner_id': partnerId,
'rwg_token': <rwg_token_val>
}
Negli ambienti sandbox e di produzione dovrai fornire un 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 di 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 utente, devi recuperare il token associato all'utente (indipendentemente dalla piattaforma che utilizza) 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 di un luogo, in qualsiasi negozio.
Questa finestra di attribuzione significa che ci aspettiamo che un evento di conversione venga inviato in uno dei seguenti scenari:
- Un utente segue un link di azione per un luogo ed effettua un ordine nella stessa sessione
- Un utente segue un link di azione locale e poi torna da un canale diverso entro la finestra di 30 giorni per effettuare un ordine.
- Un utente segue un link di azione locale e poi effettua un ordine in un negozio diverso, nella stessa sessione o in una sessione diversa entro un periodo di 30 giorni.
Inoltre, ci aspettiamo che gli eventi di conversione vengano inviati da tutte le superfici in cui un utente può atterrare da un link Azione diretta. Che include:
- Applicazioni web per computer o dispositivi mobili
- App mobile, tramite un link diretto dell'app o un intent dell'app registrato per il tuo dominio
Se il token è memorizzato a livello utente (vedi persistenza del token), è previsto che tu fornisca l'attribuzione cross-device. ovvero un utente che segue un link di azione dal computer e poi completa la transazione sul dispositivo mobile (utilizzando lo stesso account utente) deve attivare un evento di conversione.
Se il token è 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 separato memorizzato se l'utente avesse seguito un link di azione su quel dispositivo e ogni dispositivo seguirebbe le regole di attribuzione separatamente.