Google Analytics 4 : Limitations des données dans les tables Intraday Big Query

Si vous collectez des données dans GA4, vous utilisez certainement des exports vers BigQuery.

Vous avez donc peut-être déjà remarqué qu’à un moment donné, les données n’étaient pas exactement les mêmes entre les 2 outils.

Chez Datama, nous avons mis en place un scénario pour l’un de nos clients (appelé Client A) :

Les données GA4 sont requêtées dans BigQuery puis connectées à notre outil Datama Detect, qui déclenche automatiquement un email d’anomalie si les données sont incomplètes.

Depuis quelques semaines, nous avons commencé à recevoir ces emails de détection de plus en plus fréquemment.

Après une première analyse, nous avons remarqué une divergence entre les tables partitionnées et les événements intraday & interday.

Nous avons précédemment mis en place une requête programmée (via BigQuery) pour récupérer les données GA4 à une heure fixe. Le résultat est une table partitionnée en jours.

Rappel: Intraday vs. Interday

Notre cas client

En théorie, les données de la table intraday sont censées « passer » en interday après un jour.

Nous avons donc décidé de copier les tableaux deux fois par jour (à 9 heures et à 18 heures) pendant une semaine afin d’analyser l’évolution de la complétion des données.

Nous avons sélectionné 4 événements :

  • Nombre de sessions
  • Nombre de transactions
  • Nombre d’Out of stock (événement personnalisé)
  • Nombre d’itemViews (événement personnalisé)

Nos constats

Tout d’abord, voyons comment les données sont complétées après la première copie (jour+1 AM) :

  • Alors que nous aurions pu espérer être proches de 100% des données disponibles, ce n’est pas le cas pour la majorité des événements (à quelques exceptions près). La plupart des événements ont même 5 à 15% de données manquantes, ce qui n’est pas négligeable.

  • Pour l’événement Transactions, les données sont déjà disponibles à 100% pour 3 dates (22.06 au 24.06), avant même le passage de l’intraday à l’interday.

  • Les événements personnalisés (Out of stock, itemViews) ont tendance à être moins complets à des dates équivalentes.

Avons-nous des données complètes après 1 jour ?

Si l’on examine la deuxième copie (Jour+1 PM), la réponse est oui.

Analyse complémentaire & enseignements

Comme indiqué ci-dessous, nous recevions de plus en plus d’e-mails de détection d’anomalies indiquant que nos données étaient incomplètes.

Notre première réaction a été de retarder de quelques heures notre requête programmée dans BigQuery.

Mais maintenant que nous savons que les données sont entièrement disponibles après une journée entière, nous devons répondre à cette question :

Pouvons-nous savoir exactement quand notre table a été créée dans BigQuery ?

En fait, cette simple requête fournit cette information :

				
					SELECT
  table_name,
  creation_time,
  CAST(creation_time AS DATETIME) AS creation_time
FROM
  `nameofyourdataset.analytics_xxxx.INFORMATION_SCHEMA.TABLES`-- change name of dataset to your own
WHERE
  table_name BETWEEN 'events_202402%' AND 'events_202408%'-- change period to what you need
  AND table_name NOT LIKE '%intraday%'
ORDER BY
  table_name ASC;
				
			

Nous avons appliqué cette requête à notre cas et voici ce que nous avons appris :

Entre mai et juin, les tables ont commencé à être créées de plus en plus tard. En conséquence, notre requête programmée a commencé à interroger les données « trop tôt », déclenchant des courriels d’anomalie. 

À la mi-juillet, nous avons modifié l’heure d’interrogation de 09h00 à 12h00, ce qui n’a résolu que partiellement le problème. 

En fait, nous pouvons voir ici, par exemple, que le fait de déplacer la requête à 18 heures nous permettrait d’avoir les données interday complétées dans tous les cas.

Pour s’assurer qu’il ne s’agissait pas d’un cas isolé pour un seul client, nous avons étendu la recherche à 5 autres clients, tous disposant d’un compte GA4 360 (contrairement au client A qui dispose d’un compte gratuit).

Nous pouvons constater que la tendance générale est globalement la même.

L’heure de la création a été de plus en plus tardive au cours des trois derniers mois (vers 9 heures du matin en moyenne il y a six mois, aujourd’hui après 10 heures).

En outre, si l’on examine la répartition des heures, on constate que :

  • La plage horaire varie de 3 heures du matin à 6 heures du soir ! Cela montre à quel point GA4 peut être imprévisible.
  • +Plus de 70 % des tables sont créées entre 6 heures et 10 heures du matin, mais le temps de réalisation reste très variable.

Pour aller plus loin…

Il convient de noter que ces recherches ont été menées avec un compte BigQuery gratuit, et que les résultats peuvent différer avec un compte Premium. 

Par ailleurs, depuis le 24 avril, GA4 360 prend désormais en charge l’exportation BigQuery « Fresh daily », qui permet aux entreprises de recevoir des mises à jour périodiques par lots de l’ensemble des données, terminées à une heure garantie chaque jour.

Une autre option consiste également à déclencher un job basé sur la complétion de la table intrady. En d’autres termes, il s’agit d’obtenir les données de GA4 dans BigQuery dès qu’elles sont disponibles et que l’export est terminé. C’est le principe de Pub-Sub que nous expérimenterons prochainement. 

Restez connectés !

Partagez l'article

Abonnez-vous à notre newsletter