1. Introduzione
Ultimo aggiornamento: 2021-06-08
Cosa creerai
In questo codelab imparerai a inviare eventi esterni a GA4 utilizzando Measurement Protocol.
Questo codelab presuppone che tu abbia già implementato un'app con Google Analytics for Firebase. Se vuoi scoprire come eseguire l'integrazione con Google Analytics for Firebase, consulta prima questo codelab. Se vuoi scoprire come creare un'app con Firebase, consulta Firebase Android Codelab-Build Friendly Chat.
Cosa imparerai a fare
- Passaggi per effettuare la prima chiamata di Measurement Protocol
- Parametri obbligatori per la chiamata
- Invio e convalida della chiamata di prova
- Crea uno script di esempio in Python per effettuare la chiamata
Che cosa ti serve
- La tua app per Android o iOS
- Qualsiasi IDE per apportare modifiche
- Account GA4
- (Facoltativo) Ambiente di sviluppo Python (o Colab)
2. Raccogliere i campi obbligatori
Crea un API secret in GA4
Vai a GA4 e crea il nuovo API secret in Amministrazione > Stream di dati > scegli il tuo stream > Measurement Protocol > Crea.
Puoi fornire qualsiasi nickname e verrà visualizzato il valore del segreto, che potrai utilizzare nella chiamata.
Se non sai come accedere a GA4, puoi visitare il tuo progetto Firebase, controllare Impostazioni progetto > Integrazioni > Google Analytics e fare clic su "Gestisci". La connessione a Google Analytics dovrebbe essere visibile e puoi navigare direttamente da lì.
Raccogliere app_instance_id
Puoi utilizzare uno dei seguenti metodi per raccogliere l'ID istanza app.
- Utilizzo di BigQuery Export
- Recupero nativo nel codice sorgente dell'app
Entrambi sono spiegati in dettaglio di seguito.
- Utilizzo di BigQuery Export
Se hai attivato l'esportazione in BigQuery , puoi seguire i passaggi riportati di seguito.
- Accedi a Firebase
- Vai a Impostazioni progetto > Integrazioni > BigQuery
- Fai clic su "Visualizza in BigQuery" vicino al set di dati.
Nota : il set di dati sarà disponibile solo dopo l'attivazione del pulsante di attivazione/disattivazione per circa 24-48 ore.
- In BigQuery, puoi verificare la presenza di user_pseudo_id nella tabella. Questo è l'app_instance_id che puoi utilizzare nella chiamata
- Recupero nativo nel codice sorgente dell'app
Se la tua app è creata utilizzando Java, puoi utilizzare un codice simile a questo per recuperare l'app_instance_id
FirebaseAnalytics.getInstance(this).getAppInstanceId().addOnCompleteListener(new OnCompleteListener<String>() {
@Override
public void onComplete(@NonNull Task<String> task) {
if (task.isSuccessful()) {
String user_pseudo_id = task.getResult();
}
}
});
Per Kotlin, puoi provare quanto segue
Thread {
Firebase.analytics.appInstanceId.addOnSuccessListener { user_pseudo_id ->
Log.d("Firebase", "user_pseudo_id using appInstanceId is $user_pseudo_id")
/*
Store the value to your server or do something with the retrieved id
*/
}
}.start()
Se hai un'app per iOS, puoi utilizzare quanto segue in Swift
let user_pseudo_id = Analytics.appInstanceID()
print("user_pseudo_id = \(user_pseudo_id)")
/*
Store the value to your server or do something with the retrieved id
*/
Di seguito sono riportati altri link a seconda dell'infrastruttura
3. Costruire la chiamata
Puoi creare una chiamata di esempio utilizzando Event Builder in GA4. (è necessario effettuare l'accesso e abilitare i cookie). Assicurati che il pulsante di attivazione/disattivazione sia impostato su "firebase".
Dovrai compilare i seguenti campi
- api_secret: già creato in precedenza in GA4
- firebase_app_id: per ottenere questo valore, puoi andare ad Amministrazione > Stream di dati > scegli il tuo stream . Dovrebbe essere visualizzato come di seguito
- app_instance_id: hai già recuperato questo valore
- user_id non è obbligatorio. Per il momento puoi lasciarlo vuoto
- Categoria: cambia questa opzione in "Personalizzato" dal menu a discesa e inserisci il nome dell'evento che preferisci (non utilizzare alcun evento raccolto automaticamente). Qui utilizziamo "test_from_codelab"
Se vuoi, puoi anche scegliere di fornire parametri evento e/o proprietà utente facendo clic sui pulsanti di seguito.
Una volta compilato tutto, dovresti vedere qualcosa di simile, con un pulsante per "Convalida evento".
Una volta raggiunto questo punto, fai clic su "CONVALIDA EVENTO" , il pulsante evidenziato in arancione. Dovrebbe essere visualizzato il messaggio riportato di seguito, che specifica che l'evento è valido, e un pulsante "INVIA A GA". A questo punto, se l'evento risulta non valido, lo strumento ti indicherà il campo esatto in cui si verifica un problema, che potrai correggere e riprovare.
Ora puoi fare clic sul pulsante e dovrebbe essere inviato un evento di test a GA4.
4. Convalida degli eventi in GA4
Una volta inviato l'evento, puoi andare al tuo account GA4 e controllare la sezione In tempo reale. Dovresti vedere l'evento
Potrebbero essere necessarie circa 24 ore prima che gli eventi vengano propagati dalla visualizzazione in tempo reale alla scheda dei report sugli eventi effettivi, quindi non preoccuparti se non li vedi immediatamente nei report sugli eventi regolari.
Se riscontri problemi o discrepanze, potrebbe essere utile consultare le limitazioni note di Measurement Protocol qui.
5. Creazione di uno script Python
Ora che l'hai provata, puoi esaminare la chiamata API e il payload dell'evento per creare un'architettura simile in Python (o in qualsiasi linguaggio a tua scelta) che possa effettuare questa chiamata. Puoi quindi pianificarlo con la frequenza che preferisci e renderlo operativo. Per questa parte, puoi utilizzare qualsiasi IDE a tua scelta che supporti Python o semplicemente un notebook Google Colab che non richiede alcuna installazione sul tuo dispositivo.
Tornando allo strumento di creazione eventi GA4, vedrai che l'endpoint è il seguente:
POST /mp/collect?firebase_app_id=XXXX&api_secret=XXXX
HTTP/1.1
Host: www.google-analytics.com
Il payload dell'evento era il seguente
{
"app_instance_id": XXXX,
"non_personalized_ads": false,
"events": [
{
"name": "test_from_codelab",
"params": {
"test_param": "test_123"
}
}
]
}
Puoi tradurlo in Python utilizzando un codice simile a questo
import requests
import json
url = "https://www.google-analytics.com/mp/collect?firebase_app_id=XXXX&api_secret=XXXX"
payload = {
"app_instance_id": XXXX,
"non_personalized_ads": False,
"events": [
{
"name": "test_from_codelab",
"params": {
"test_param": "test_123"
}
}
]
}
r = requests.post(url,data=json.dumps(payload),verify=True)
print(r.status_code)
Una volta eseguita l'operazione con i valori corretti, dovresti vedere l'evento in tempo reale in GA4.
6. Complimenti
Congratulazioni, hai utilizzato correttamente Measurement Protocol in GA4. Ora puoi creare architetture di soluzioni efficaci per inviare dati più significativi a Google Analytics e migliorare l'analisi del marketing e dell'attività. Per sfruttare al meglio questa funzionalità, ti consigliamo anche di connetterti a Google Ads e di importare questi eventi come conversioni. Per istruzioni dettagliate, puoi consultare il passaggio 6 di questo codelab. Ai fini del monitoraggio delle conversioni, Google Ads mostrerà solo i dati associati all'IDFA o agli ID dispositivo raccolti dall'SDK Firebase negli ultimi 60 giorni. Tieni presente che si tratta ancora di un'API alpha e assicurati di esaminare le limitazioni elencate qui , che devono essere risolte prima del lancio completo.
Cosa hai imparato
- Come raccogliere le variabili giuste per effettuare chiamate MP
- Come inviare e convalidare gli eventi di test
- Come creare uno script per inviare chiamate MP