Envoyer des événements d'application à GA4 à l'aide du protocole de mesure

1. Introduction

Dernière mise à jour:08/06/2021

Objectifs de l'atelier

Dans cet atelier de programmation, vous allez apprendre à envoyer des événements externes à GA4 à l'aide du protocole de mesure.

Cet atelier de programmation suppose que vous avez déjà implémenté Google Analytics pour Firebase dans une application. Pour savoir comment intégrer Google Analytics pour Firebase, consultez d'abord cet atelier de programmation. Pour savoir comment créer une application avec Firebase, consultez l'atelier de programmation Firebase Android : créer une discussion conviviale.

Points abordés

  • Étapes à suivre pour effectuer votre premier appel à un député
  • Comprendre les paramètres requis pour l'appel
  • Envoyer et valider votre appel d'essai
  • Créer un exemple de script en Python pour passer l'appel

Prérequis

  • Votre application Android ou iOS
  • N'importe quel IDE pour apporter des modifications
  • Compte GA4
  • Facultatif : environnement de développement Python (ou Colab)

2. Collecter les champs obligatoires

Créer un code secret d'API dans GA4

Accédez à GA4 et créez votre code secret d'API en accédant à Administration > Flux de données > choisissez votre flux > Protocole de mesure > Créer.

6e4afca63054d291.png

c9e9ccd2ffba98eb.png

e714cd969fca4a4d.png

Vous pouvez fournir n'importe quel pseudo. La valeur secrète s'affichera et vous pourrez l'utiliser dans votre appel.

Si vous ne savez pas comment accéder à GA4, vous pouvez accéder à votre projet Firebase, accéder à "Paramètres du projet" > "Intégrations" > "Google Analytics", puis cliquer sur "Gérer". La connexion Google Analytics devrait être visible. Vous pouvez également y accéder directement.

73b4d77a57eddfba.png

Collecter app_instance_id

Vous pouvez utiliser l'une des méthodes ci-dessous pour collecter votre app_instance_id.

  1. Utiliser BigQuery Export
  2. Récupérer des données de manière native dans le code source de votre application

Ces deux méthodes sont expliquées en détail ci-dessous.

  1. Utiliser BigQuery Export

Si vous avez activé BigQuery Export , vous pouvez suivre les étapes ci-dessous.

  • Se connecter à Firebase
  • Accédez à Paramètres du projet > Intégrations > BigQuery.
  • Cliquez sur "Afficher dans BigQuery" à côté de l'ensemble de données.

Remarque : L'ensemble de données ne sera disponible qu'après environ 24 à 48 heures d'activation du bouton.

63d061088b622961.png

  • Dans BigQuery, vous pouvez rechercher user_pseudo_id dans la table. Il s'agit de l'app_instance_id que vous pouvez utiliser dans votre appel.

4b1b80bdc2884581.png

  1. Récupération native dans le code source de votre application

Si votre application est compilée à l'aide de Java, vous pouvez utiliser quelque chose comme ceci pour récupérer 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();
            }
        }
    });

Pour Kotlin, vous pouvez essayer ce qui suit :

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()

Si vous avez une application iOS, vous pouvez utiliser ce qui suit en 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
*/

Vous trouverez ci-dessous d'autres liens en fonction de votre infrastructure.

3. Créer l'appel

Vous pouvez créer un exemple d'appel à l'aide du Générateur d'événements dans GA4. (Pour ce faire, vous devez être connecté et avoir activé les cookies). Assurez-vous que l'option est définie sur "firebase".

fd78d961f3e48238.png

Vous devez remplir les champs suivants :

  • api_secret : déjà créé précédemment dans GA4
  • firebase_app_id : pour obtenir cette valeur, accédez à Administration > Flux de données > choisissez votre flux . Il devrait s'afficher comme suit :

19801c8e5cb29222.png

  • app_instance_id : vous avez déjà récupéré cette valeur
  • user_id n'est pas obligatoire. Vous pouvez le laisser vide pour le moment.
  • Catégorie : remplacez cette valeur par "Personnalisé" dans le menu déroulant, puis saisissez le nom de l'événement de votre choix (n'utilisez pas d'événement collecté automatiquement). Ici, nous utilisons "test_from_codelab".

54cce53df64d697.png

Vous pouvez également fournir des paramètres d'événement et/ou des propriétés utilisateur en cliquant sur les boutons ci-dessous.

16a8f531a3894021.png

Une fois que vous avez rempli tous les champs, vous devriez obtenir un résultat semblable à celui-ci, avec un bouton "Valider l'événement".

475801f25c3caf26.png

Cliquez ensuite sur le bouton "VALIDER L'ÉVÉNEMENT", en orange. Le message ci-dessous devrait s'afficher, indiquant que l'événement est valide. Un bouton "ENVOYER À GA" devrait également s'afficher. À ce stade, si l'événement s'affiche comme non valide, l'outil vous indique le champ exact où le problème se trouve. Vous pouvez le corriger et réessayer.

23e4e6800705b4aa.png

Vous pouvez maintenant cliquer sur le bouton. Un événement de test devrait être envoyé à GA4.

4. Valider des événements dans GA4

Une fois l'événement envoyé, vous pouvez accéder à votre compte GA4 et consulter la section "Temps réel". L'événement devrait s'afficher.

994b51ca46bb1973.png

La propagation des événements de la vue en temps réel vers l'onglet des rapports sur les événements peut prendre environ 24 heures. Ne vous inquiétez pas si vous ne les voyez pas immédiatement dans les rapports sur les événements habituels.

Si vous rencontrez des problèmes ou des divergences, il peut être utile de consulter les limites connues du protocole de mesure ici.

5. Créer un script Python

Maintenant que vous l'avez testé, vous pouvez examiner l'appel d'API et la charge utile de l'événement pour créer une architecture similaire en Python (ou dans n'importe quel langage de votre choix) qui peut effectuer cet appel. Vous pouvez ensuite planifier cette opération à la fréquence souhaitée et la mettre en œuvre. Pour cette partie, vous pouvez utiliser n'importe quel IDE de votre choix compatible avec Python ou simplement un notebook Google Colab, qui ne nécessite aucune installation sur votre appareil.

En revenant à l'outil de création d'événements GA4, vous constaterez que le point de terminaison est le suivant :

POST /mp/collect?firebase_app_id=XXXX&api_secret=XXXX 
HTTP/1.1
Host: www.google-analytics.com

La charge utile de l'événement était la suivante :

{
  "app_instance_id": XXXX,
  "non_personalized_ads": false,
  "events": [
    {
      "name": "test_from_codelab",
      "params": {
        "test_param": "test_123"
      }
    }
  ]
}

Vous pouvez traduire cela en Python en utilisant quelque chose comme ceci

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)

Une fois que vous l'aurez exécuté avec les valeurs appropriées, l'événement devrait s'afficher en temps réel dans GA4.

6. Félicitations

Félicitations, vous avez utilisé le protocole de mesure dans GA4. Vous pouvez désormais créer des architectures de solutions puissantes pour envoyer des données plus pertinentes à Google Analytics et améliorer vos analyses marketing et commerciales. Pour en tirer le meilleur parti, nous vous suggérons également d'associer votre compte à Google Ads et d'importer ces événements en tant que conversions. Pour en savoir plus, consultez l'étape 6 de cet atelier de programmation. À des fins de suivi des conversions, Google Ads n'affiche que les données associées aux IDFA ou aux ID d'appareil collectés à partir du SDK Firebase au cours des 60 derniers jours. N'oubliez pas qu'il s'agit toujours d'une API alpha. Veillez à consulter les limites listées ici , qui doivent être traitées avant le lancement complet.

Ce que vous avez appris

  • Collecter les bonnes variables pour effectuer des appels MP
  • Envoyer et valider des événements de test
  • Créer un script pour envoyer des appels MP