Invia eventi dell'app a GA4 utilizzando Measurement Protocol

1. Introduzione

Ultimo aggiornamento: 08-06-2021

Cosa costruirai

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 imparare come integrarti 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 tua 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 per Android o iOS
  • Qualsiasi IDE per apportare modifiche
  • Conto GA4
  • Facoltativo - Ambiente di sviluppo Python (o Colab )

2. Raccogli i campi obbligatori

Crea segreto API in GA4

Passa a GA4 e crea il tuo nuovo segreto API navigando su Admin > Data Streams > scegli il tuo stream > Measurement Protocol > Crea

8dee89e850ae90bb.png

d0be19d8112435a2.png

de5a80a1445d3a14.png

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

Nel caso in cui 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 di Google Analytics dovrebbe essere visibile e puoi anche navigare direttamente 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
  • Passa 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'interruttore è stato abilitato per circa 24-48 ore

1dc4e93dee33316f.png

  • In BigQuery, puoi controllare user_pseudo_id nella tabella. Questo è l'app_instance_id che puoi utilizzare nella tua 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 altri collegamenti a seconda della tua infrastruttura

3. Costruire la chiamata

È possibile creare una chiamata di esempio utilizzando Event Builder in GA4. (Ciò richiede l'accesso e l'abilitazione dei cookie). 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 a Admin > Data Streams > scegli il tuo stream . 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: cambia in "Personalizzato" dal menu a discesa e inserisci il nome dell'evento a tua scelta (non utilizzare alcun evento raccolto automaticamente ). Qui stiamo usando "test_from_codelab"

cf580a708bb0a8a2.png

Facoltativamente, puoi anche scegliere di fornire i parametri dell'evento e/o le proprietà dell'utente facendo clic sui pulsanti sottostanti

da59bb982f6f906a.png

Dopo aver compilato tutto, dovresti vedere qualcosa del genere, con un pulsante per "Convalida evento"

39676ab485d17dc0.png

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

1d63d1e067c46294.png

Ora puoi fare clic sul pulsante e dovrebbe inviare 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 arrivare

7b9e9a0f74b64757.png

Potrebbero essere necessarie circa 24 ore prima che gli eventi si propaghino dalla visualizzazione in tempo reale alla scheda di segnalazione degli eventi effettivi, quindi non devi preoccuparti se non lo vedi immediatamente nella normale segnalazione 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 a tua scelta) in grado di effettuare questa chiamata. È quindi possibile programmarlo alla frequenza desiderata e renderlo operativo. Per questa parte, puoi utilizzare qualsiasi IDE a tua scelta che supporti Python o semplicemente utilizzare un notebook Google Colab che non richiede alcuna installazione sul tuo dispositivo

Facendo riferimento a GA4 Event Builder, 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 carico utile 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 del genere

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)

Dopo averlo eseguito con i valori corretti, dovresti vedere l'evento riflettersi in tempo reale in GA4 in modo simile.

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 tue analisi di marketing e business. Per sfruttare al meglio tutto ciò, ti suggeriamo anche di connetterti a Google Ads e di importare questi eventi come conversioni. Puoi fare riferimento al passaggio 6 in 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 alfa 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