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

6e4afca63054d291.png

c9e9ccd2ffba98eb.png

e714cd969fca4a4d.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ì

73b4d77a57eddfba.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

63d061088b622961.png

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

4b1b80bdc2884581.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"

fd78d961f3e48238.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

19801c8e5cb29222.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 alcun evento raccolto automaticamente ). Qui stiamo usando "test_from_codelab"

54cce53df64d697.png

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

16a8f531a3894021.png

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

475801f25c3caf26.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

23e4e6800705b4aa.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

994b51ca46bb1973.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!

Se riscontri problemi o discrepanze, potrebbe essere utile verificare qui le limitazioni note del protocollo di misurazione

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