Skip links

Comment détecter automatiquement la disponibilité des données GA4 dans BigQuery 

L'exportation des données brutes GA4 vers BigQuery permet d'aller au delà des rapports d'analyse standard disponible dans l'interface Google Analytics.

L’exportation des données brutes GA4 vers BigQuery permet d’aller au-delà des rapports d’analyse standard disponible dans l’interface Google Analytics.

Avec Google Analytics 4, Google donne la possibilité à tous les utilisateurs d’exporter les données brutes GA dans BigQuery.  Cette fonctionnalité était jusque-là réservée aux utilisateurs de GA 360. Exporter les données brutes GA4 vers BigQuery permet de mener des analyses plus abouties et plus approfondies et de construire des reportings plus détaillés que ce que peut offrir l’interface GA4. Au delà de cela, avoir les données brutes permet l’ouverture des possibilités quasi-infinies en matière uses cases dans la mesure où il est possible d’enrichir ces données comportement onsite avec des données provenant de différentes sources (CRM, Finance, Pricing, Météo, Merchandising, etc). Et ceci peut se faire avec la puissance de BigQuery. 

Deux méthodes d’exports de ces données vers BigQuery sont proposées par Google : 

  • Une exportation quotidienne : Une table à J-1 avec les données de la veille est crée automatiquement tous les jours dans le dataset analytics crée lorsque vous configurez l’export des données 
  • Une exportation en flux continu : Une table intraday est mise à disposition dans votre dataset avec les données du jour mis à disposition en ‘presque temp réel’ par Google. 

Disponibilité des données 

Bien qu’étant utile aux analyses avancées et à l’automatisation de reportings plus fournis et pointus les tables créées mis à disposition par Google avec les données de la veille ne sont pas disponibles à une heure fixe dans BigQuery. Autrement, les données peuvent être mises à disposition Lundi dernier à 10h, Mardi à 11h, Mercredi à 8h30, Jeudi à 13h ou encore Vendredi à 13h. Pour le coup, lorsque vous souhaitez mettre en place des pipelines de reporting ou lorsque vous souhaitez lancer des mises à jour d’analyses avancées, il est parfois difficile voire impossible de déterminer une heure fixe de lancement/déclenchement de votre pipeline. 

Il faut donc pouvoir détecter à quel moment les données sont disponibles dans BigQuery et ensuite lancer tous les traitements et les pipelines à partir du moment où les données sont mises à disposition par Google dans votre dataset. Pour ce faire, Google Cloud Platform (GCP)  met à disposition une suite d’outils permettant de : 

  • Détecter l’insertion de la table GA4 J-1 dans BigQuery avec Cloud Logging / Explorateur de journaux
  • Transporter l’information de disponibilité de la table via Pub / Sub
  • Grâce à cette information, déclencher une Cloud Function qui permettra de déclencher un script Python, Node js, PHP, ou autre.

Une Cloud Function pourrait ainsi nous permettre déclencher via une API une enchainement de transformation de données via DBT suivant le schéma suivant :

Cloud Logging & Explorateur de journaux 

Ce composant GCP permet d’analyser tous les logs du compte GCP, donc d’identifier tous les changements, toutes les requêtes, toutes les insertions de nouvelles tables BigQuery au sein de votre environnement GCP. 

Il est possible de créer une requête pour filtrer les logs et ne faire apparaître que les logs générés par une activité spécifique.  La requête suivante permet de filtrer que les logs d’insertion des données GA4 dans le dataset GA4.

				
					resource.labels.dataset_id="INSERT YOUR ANALYTICS DATASET ID"
protoPayload.methodName="google.cloud.bigquery.v2.JobService.InsertJob"
protoPayload.authorizationInfo.permission="bigquery.tables.create"
				
			

L’exécution de cette requête affiche tous les logs d’insertion de la table GA4 sur une période prédéfinie : 

Récepteur , Cloud Pub/Sub et Cloud Functions

Sur la base de cette requête , on crée une récepteur qui va déclencher un Pub/Sub : 

 

La Cloud function va donc se baser sur ce pub / sub pour exécuter un script. Ci dessous la configuration de la Cloud Function : 

Avant de passer à l’étape de création du Récepteur et de la Cloud function, l’étape la plus importante reste la détection de l’insertion de nouvelles tables GA4 dans BigQuery.

Leave a comment

Explore
Drag