1. Introduzione
Ultimo aggiornamento: 2021-06-08
Cosa creerai
In questo codelab, imparerai come inviare eventi esterni a GA4 utilizzando Measurement Protocol.
Questo codelab presuppone che tu abbia già implementato un'app con Google Analytics per Firebase. Se vuoi scoprire come eseguire l'integrazione con Google Analytics for Firebase, consulta prima questo codelab. Se vuoi imparare a creare un'app con Firebase, consulta l'articolo sulla chat ottimizzata per la creazione di codelab per Android di Firebase.
Cosa imparerai a fare
- Procedura per effettuare la tua prima chiamata MP
- Informazioni sui parametri richiesti per la chiamata
- Invia e convalida la 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 a cui apportare modifiche
- Account GA4
- Facoltativo - Ambiente di sviluppo Python (o Colab)
2. Raccogli i campi obbligatori
Crea un API secret in GA4
Vai a GA4 e crea il tuo nuovo API secret in Amministrazione > Stream di dati > scegli il tuo stream > Measurement Protocol > Crea
Puoi fornire un nickname qualsiasi e verrà visualizzato il valore del secret, 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". Il collegamento a Google Analytics dovrebbe essere visibile e puoi anche navigare direttamente da lì.
Raccogli app_instance_id
Per raccogliere il tuo ID app_instance_id puoi utilizzare uno dei seguenti metodi.
- Utilizzo di BigQuery Export
- Recupero nativo nel codice sorgente dell'app
Entrambe le opzioni sono illustrate dettagliatamente di seguito
- Utilizzare BigQuery Export
Se hai attivato BigQuery Export, 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 che l'opzione è stata abilitata per circa 24-48 ore.
- In BigQuery, puoi controllare la presenza di user_pseudo_id nella tabella. Questo è l'app_instance_id che puoi utilizzare nella chiamata
- Eseguire il recupero in modo nativo nel codice sorgente dell'app
Se la tua app è stata creata con Java, puoi utilizzare una stringa di questo tipo per recuperare 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 della tua infrastruttura
3. Costruzione della chiamata
Puoi creare una chiamata di esempio utilizzando il generatore di eventi in GA4. Ciò richiede l'accesso e l'abilitazione dei 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 recuperarlo, vai ad Amministrazione > Stream di dati > scegli il tuo stream . Dovrebbe essere visualizzato come mostrato di seguito
- app_instance_id: hai già recuperato questo valore
- user_id non è obbligatorio. Per il momento puoi lasciarlo vuoto
- Categoria: modifica questa impostazione in "Personalizzata". dal menu a discesa e inserisci il nome dell'evento che preferisci (non utilizzare alcun evento raccolto automaticamente). Qui utilizziamo "test_from_codelab"
Facoltativamente, puoi anche scegliere di fornire parametri evento e/o proprietà utente facendo clic sui pulsanti di seguito.
Una volta inseriti tutti i dati, dovresti vedere una schermata simile a questa, con il pulsante "Convalida evento"
Una volta raggiunto questo obiettivo, fai clic su "CONVALIDA EVENTO" , il pulsante evidenziato in arancione. Dovrebbe essere visualizzato il messaggio riportato di seguito, in cui viene specificato che l'evento è valido. Inoltre, dovrebbe essere visualizzato il pulsante "INVIA A GA". A questo punto, se l'evento non è valido, lo strumento ti indicherà il campo esatto in cui si verifica il problema, in modo da poterlo 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
Dopo aver inviato l'evento, puoi accedere al tuo account GA4 e controllare In tempo reale. Dovresti vedere l'evento
La propagazione degli eventi dalla visualizzazione In tempo reale alla scheda dei report sugli eventi effettivi potrebbe richiedere circa 24 ore, quindi non preoccuparti se non la vedi subito nei report sugli eventi normali.
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 provato, puoi esaminare la chiamata API e il payload dell'evento per creare un'architettura simile in Python (o in qualsiasi altro linguaggio a tua scelta) che possa effettuare questa chiamata. Puoi quindi programmarlo e renderlo operativo in base alla frequenza desiderata. Per questa parte, puoi utilizzare qualsiasi IDE di tua scelta che supporti Python o semplicemente un notebook Google Colab che non richiede alcuna installazione sul tuo dispositivo
Facendo riferimento al generatore di eventi GA4, noterai che l'endpoint è l'esempio riportato di seguito.
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 tradurre questo codice in Python utilizzando qualcosa di simile
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 eseguito con i valori corretti, dovresti vedere l'evento riflesso in tempo reale in GA4.
6. Complimenti
Complimenti, hai utilizzato correttamente Measurement Protocol in GA4. Ora puoi creare potenti architetture di soluzioni per inviare dati più significativi a Google Analytics e migliorare le attività di marketing e le analisi aziendali. Per sfruttare al meglio questa opportunità, ti consigliamo anche di collegarti a Google Ads e di importare questi eventi come conversioni. Per istruzioni dettagliate, consulta il passaggio 6 di questo codelab. Ai fini del monitoraggio delle conversioni, Google Ads mostra solo i dati associati agli 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
Hai appreso
- 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