Invia eventi dell'app a GA4 utilizzando Measurement Protocol

1. Introduzione

Ultimo aggiornamento: 2021-06-08

Cosa costruirai

In questo codelab imparerai come inviare eventi esterni a GA4 utilizzando il protocollo di misurazione .

Questo codelab presuppone che tu abbia già implementato un'app con Google Analytics per Firebase. Se desideri sapere come eseguire l'integrazione con Google Analytics per Firebase, fai prima riferimento a questo codelab . Se vuoi imparare come creare un'app con Firebase, fai riferimento a Firebase Android Codelab-Build Friendly Chat .

Cosa imparerai

  • Passaggi per effettuare la prima chiamata MP
  • Comprendere i parametri richiesti per la chiamata
  • Invia e convalida la tua chiamata di prova
  • Crea uno script di esempio in Python per effettuare la chiamata

Di cosa avrai bisogno

  • La tua app Android o iOS
  • Qualsiasi IDE per apportare modifiche
  • Conto GA4
  • Facoltativo: ambiente di sviluppo Python (o Colab )

2. Raccogli i campi obbligatori

Crea il segreto API in GA4

Passa a GA4 e crea il tuo nuovo segreto API accedendo ad Amministrazione > Stream di dati > scegli il tuo flusso > Measurement Protocol > Crea

8dee89e850ae90bb.png

d0be19d8112435a2.png

de5a80a1445d3a14.png

Puoi fornire qualsiasi nickname e verrà visualizzato il valore segreto, che potrai utilizzare nella tua chiamata

Se non sei sicuro di 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 anche da lì

f0feed0557420678.png

Raccogli app_instance_id

Puoi utilizzare uno dei metodi seguenti per raccogliere il tuo app_instance_id.

  1. Utilizzo di BigQuery Export
  2. Recupero in modo nativo nel codice sorgente dell'app

Entrambi sono spiegati in dettaglio di seguito

  1. Utilizzo di BigQuery Export

Se hai abilitato l'esportazione BigQuery , puoi seguire i passaggi seguenti

  • Accedi a Firebase
  • Vai a Impostazioni progetto > Integrazioni > BigQuery
  • Fai clic su "Visualizza in BigQuery" accanto al set di dati

Nota: il set di dati sarà disponibile solo dopo che l'interruttore è stato abilitato per circa 24-48 ore

1dc4e93dee33316f.png

  • In BigQuery, puoi verificare la presenza di user_pseudo_id nella tabella. Questo è l'app_instance_id che puoi utilizzare nella chiamata

aa6d384e380a11e8.png

  1. Recupero in modo nativo nel codice sorgente dell'app

Se la tua app è stata creata utilizzando Java, puoi utilizzare qualcosa di simile 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 disponi di un'app 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 più collegamenti a seconda della tua infrastruttura

3. Costruire la chiamata

Puoi creare una chiamata di esempio utilizzando il generatore di eventi in GA4. (Ciò richiede che tu effettui il login e che i cookie siano abilitati). Assicurati che l'interruttore sia impostato su "firebase"

15440faa9ca6a1f1.png

Dovrai compilare i seguenti campi

  • api_secret: già creato in precedenza su GA4
  • firebase_app_id - Per ottenere questo, puoi accedere ad Amministrazione > Flussi di dati > scegli il tuo flusso . Dovrebbe essere visualizzato come di seguito

71174b16f86ff03e.png

  • app_instance_id: hai già recuperato questo valore
  • user_id non è obbligatorio. Puoi lasciarlo vuoto per ora
  • Categoria: modificala in "Personalizzato" dal menu a discesa e inserisci il nome dell'evento di tua scelta (non utilizzare eventi raccolti automaticamente ). Qui stiamo usando "test_from_codelab"

cf580a708bb0a8a2.png

Facoltativamente, puoi anche scegliere di fornire parametri evento e/o proprietà utente facendo clic sui pulsanti seguenti

da59bb982f6f906a.png

Una volta compilato tutto, dovresti vedere qualcosa di simile a questo, con un pulsante per "Convalidare evento"

39676ab485d17dc0.png

Una volta raggiunto questo, clicca su "CONVALIDA EVENTO", il pulsante evidenziato in arancione. Dovrebbe essere visualizzato il messaggio seguente, specificando che l'evento è valido, e ora vedrai un pulsante "INVIA A GA". A questo punto, se l'evento risulta non valido, lo strumento ti indicherà il campo esatto in cui si è verificato il problema e potrai risolverlo e riprovare

1d63d1e067c46294.png

Ora puoi fare clic sul pulsante e dovrebbe inviare un evento di prova a GA4

4. Convalida degli eventi in GA4

Una volta inviato l'evento, puoi accedere al tuo account GA4 e controllare in tempo reale. Dovresti vedere l'evento arrivare

7b9e9a0f74b64757.png

Potrebbero essere necessarie circa 24 ore affinché gli eventi si propaghino dalla visualizzazione in tempo reale alla scheda di reporting degli eventi effettivi, quindi non devi preoccuparti se non lo vedi immediatamente nei normali report degli eventi!

5. Costruire uno script Python

Ora che l'hai testato, puoi esaminare la chiamata API e il payload dell'evento per creare un'architettura simile in Python (o in qualsiasi linguaggio di tua scelta) in grado di effettuare questa chiamata. È quindi possibile programmarlo con la frequenza desiderata e renderlo operativo. Per questa parte, puoi utilizzare qualsiasi IDE di tua scelta che supporti Python o semplicemente utilizzare un notebook Google Colab che non richiede alcuna installazione sul tuo dispositivo

Facendo riferimento al Generatore di 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 usando 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 questo con i valori corretti, dovresti vedere allo stesso modo l'evento riflesso in tempo reale in GA4.

6. Congratulazioni

Congratulazioni, hai utilizzato con successo Measurement Protocol in GA4. Ora puoi creare potenti architetture di soluzioni per inviare dati più significativi a Google Analytics e migliorare le analisi di marketing e aziendali. Per sfruttare al meglio tutto ciò, suggeriamo anche di collegarsi a Google Ads e di importare questi eventi come conversioni. Puoi fare riferimento al passaggio 6 di questo codelab per istruzioni dettagliate al riguardo. 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 questa è ancora un'API alpha e assicurati di superare le limitazioni elencate qui che dovrebbero essere risolte prima del lancio completo

Hai imparato

  • Come raccogliere le variabili giuste per effettuare chiamate MP
  • Come inviare e convalidare eventi di test
  • Come creare uno script per inviare chiamate MP