← Retour au blog
Articlespar Datama Team

GA4 et BigQuery : vers des données plus complètes avec les tables Fresh daily ?

Dans notre précédent article, nous avons exploré le comportement des tables partitionnées intraday et interday dans GA4 et leur évolution. Aujourd'hui, nous nous penchons sur une option disponible pour les comptes GA4…


Dans notre précédent article, nous avons exploré le comportement des tables partitionnées intraday et interday dans GA4 et leur évolution. Aujourd'hui, nous nous penchons sur une option disponible pour les comptes GA4 360 dans BigQuery : les tables « Fresh daily ». Elles offrent des mises à jour plus fréquentes et atteignent un niveau de complétion pertinent plus rapidement, se positionnant comme une alternative aux tables intraday pour les entreprises en quête des informations les plus fraîches possibles.

Dans cet article, nous comparons les tables « Fresh daily » aux tables intraday et interday en termes de disponibilité, de fréquence de mise à jour et de complétude, afin de mieux comprendre laquelle de ces options répond le mieux aux exigences d'une analyse de performance en « temps réel ».

Notre analyse porte principalement sur les métriques, car nous savons que Google ne garantit pas la complétion des dimensions liées à l'attribution des sessions (source, medium, campagne…) pour la table « Fresh daily ».

Méthodologie

Pour évaluer la performance des tables « Fresh daily », intraday et interday dans GA4, nous avons mené une analyse sur une semaine complète (du 29/09 au 03/10).

Chaque jour, nous avons extrait et comparé les données de 5 événements clés :

  • Sessions
  • Purchases (transactions)
  • Begin checkout
  • Revenue
  • Reach search (événement personnalisé)

Nous avons également programmé une requête pour suivre l'évolution de ces événements heure par heure sur trois jours supplémentaires (du 18/10 au 20/10), ce qui nous a permis d'analyser les écarts de complétude des données au fil de leur mise à jour dans chaque type de table.

Ce suivi nous permet de comprendre la rapidité et la précision avec lesquelles chaque table fournit l'information. En observant ces données sur plusieurs jours et à différents moments, nous avons pu mesurer la complétude de chaque type de table, les écarts entre elles et leur utilité respective selon les cas d'usage.

Résultats et analyse

1. Complétude des données

L'analyse révèle des écarts significatifs de complétude entre les 3 types de tables GA4. À J+1, les tables « Fresh daily » atteignent un taux de complétude moyen de 95 % à 99 %, tandis que les tables intraday stagnent entre 53 % et 76 %. Les tables interday, disponibles un peu plus tard, garantissent quant à elles une complétude de 100 %, mais nécessitent plusieurs jours pour être entièrement mises à jour.

En observant des événements spécifiques, on constate que la complétude varie selon le type de données collectées. Par exemple :

  • Métriques personnalisées et autres métriques standards : le taux de complétude des données « Fresh daily » est proche de 100 % à J+1, dépassant les données intraday de près de 25 %.

Niveau de complétion des métriques standards et personnalisées sur les tables Fresh daily et Intraday à J+1 (par rapport à interday, notre base 100)

  • Revenue : pour cet événement, l'écart est encore plus marqué. Les données Fresh daily sont quasiment complètes à J+1, tandis que les données de la table intraday se complètent bien plus lentement, ce qui la rend peu fiable pour des rapports précoces ou des décisions opérationnelles.

Niveau de complétion du Revenue sur les tables Fresh daily et Intraday à J+1 (par rapport à interday, notre base 100)

Cette première analyse suggère qu'à J+1, on ne peut pas se fier à intraday, contrairement à fresh daily, qui se rapproche des 100 %.

Cependant, il convient d'examiner d'abord l'évolution des données à J0 (notamment à des fins de détection d'anomalies) et jusqu'à J+2, afin d'établir le « cycle de vie » de chaque type de table.

2. Évolution des données sur les 3 types de tables, de J0 à J+2

En observant l'évolution des données dans les tables Fresh daily, intraday et interday de J0 à J+2, nous pouvons relever les points suivants :

  • Les tables intraday sont générées quelques heures avant les tables fresh daily, mais l'écart de complétude entre les deux s'élargit rapidement en faveur de fresh daily.
  • À J+1, la table Fresh daily surpasse systématiquement intraday en termes de complétude, en particulier pour des indicateurs comme le chiffre d'affaires, où intraday affiche une progression beaucoup plus lente.

Un autre point essentiel concerne le « latency gap » : entre la suppression des tables intraday et la disponibilité des données interday, il peut subsister une période d'incomplétude, durant laquelle seule Fresh daily offre des données proches de la réalité. Par exemple, le délai entre la fin d'intraday et la publication des données interday peut laisser un écart de près de 1 % sur Fresh daily pour certains indicateurs, cet écart étant encore plus variable pour intraday.

Prenons les événements Reach et Revenue, et analysons ce que nous ont appris nos requêtes programmées heure par heure.

*Complétion heure par heure des métriques standards et personnalisées pour les tables Fresh daily et Intraday (par rapport à interday, notre base 100)

Complétion heure par heure du Revenue pour les tables Fresh daily et Intraday (par rapport à interday, notre base 100)

Pour Sessions, fresh daily est à +99 % dès le départ, ce qui la rend plus fiable qu'intraday, sauf sur la première moitié de la journée (mais avec un écart inférieur à 1 %).

Pour Purchases en revanche, fresh daily est toujours plus fiable et plus complète, avec des écarts significatifs.

Qu'en est-il de la répartition des sessions par source et medium ?

Niveau de complétion de la répartition du traffic medium sur les tables Fresh daily et Intraday à J0 (par rapport à interday, notre base 100, à horodatage équivalent)

Là encore, le taux de complétion des données est largement en faveur de fresh daily à J0, tandis que les volumes intraday restent globalement très faibles.

Niveau de complétion de l'attribution du traffic source sur les tables Fresh daily et Intraday à J0 (par rapport à interday, notre base 100, à horodatage équivalent)

3. Délai de complétion et disponibilité des données

En suivant les tables sur plusieurs jours, nous avons identifié les délais de complétion et de disponibilité pour chaque type de table. Voici nos observations :

  • Intraday : ces tables restent actives environ deux jours avant de basculer vers les tables interday.
  • Fresh daily : ces tables atteignent 99 % de complétude en une journée et demie, et restent quasiment complètes, bien qu'elles n'atteignent jamais les 100 % des tables interday. Elles sont disponibles environ une demi-journée avant interday, offrant un aperçu précoce de la performance.

Nos requêtes programmées nous permettent d'établir les dates de création, de suppression et de complétion des 3 types de tables, que nous pouvons résumer dans ce schéma :

Moment de création et de complétion des données pour les tables Fresh daily, interday et intraday

Nous savons également que l'heure de création de la table interday est assez peu fiable, variant de près de 10 heures (de 8h à 18h), et que cette heure de création a eu tendance à se décaler fortement depuis le début de 2024.

Pour maximiser l'efficacité des analyses en temps réel, deux méthodes permettent de surveiller la création et la complétion des tables Fresh daily, intraday et interday :

1. Requête sur les métadonnées de table : la requête suivante permet d'identifier les dates de création et de modification des tables. Elle ne s'applique toutefois pas aux tables intraday, qui sont temporaires et ne peuvent être récupérées qu'en direct.

SELECT table_id AS table_name, FORMAT_TIMESTAMP('%Y-%m-%d', DATETIME(TIMESTAMP_MILLIS(creation_time), "America/New_York")) AS creation_date, FORMAT_TIMESTAMP('%H:%M', DATETIME(TIMESTAMP_MILLIS(creation_time), "America/New_York")) AS creation_time, FORMAT_TIMESTAMP('%Y-%m-%d', DATETIME(TIMESTAMP_MILLIS(last_modified_time), "America/New_York")) AS last_modified_date, FORMAT_TIMESTAMP('%H:%M', DATETIME(TIMESTAMP_MILLIS(last_modified_time), "America/New_York")) AS last_modified_time FROM nameofyourdataset.__TABLES__ WHERE (table_id LIKE 'events_fresh_202409%' OR table_id LIKE 'events_fresh_202410%') AND DATETIME(TIMESTAMP_MILLIS(creation_time), "America/New_York") BETWEEN DATETIME('2024-09-19 00:00:00') AND DATETIME('2024-10-31 23:59:59') ORDER BY table_name ASC;

2. Suivi via des requêtes planifiées : en créant des requêtes planifiées toutes les heures, nous pouvons détecter le moment où les tables sont créées ou supprimées (lorsque la requête planifiée n'est plus en erreur), en particulier pour intraday. Ce suivi permet également d'éviter les erreurs liées à des requêtes trop précoces sur des données incomplètes.

Statut de notre requête planifiée, jusqu'à ce qu'elle passe en échec (KO) lorsque la table fresh daily n'existe plus dans BigQuery.

Enseignements et questions clés

Une des questions majeures soulevées par notre analyse porte sur la précision des tables Fresh daily par rapport aux tables interday, en particulier lorsque Fresh daily atteint un niveau de complétude proche de 100 %. Se posent alors les questions suivantes :

Lorsque Fresh daily est complète, correspond-elle à 100 % des données interday ?

Pour répondre à cette question, nous avons comparé les taux de complétion des événements dans les tables Fresh daily et interday. Nous constatons que, bien que Fresh daily dépasse souvent les 99 % de complétude, elle ne correspond pas toujours exactement aux 100 % garantis par interday. Cette légère différence peut s'avérer significative dans les contextes exigeant une précision maximale, comme les rapports de clôture ou les audits de performance.

À partir de quand peut-on la considérer fiable et l'utiliser à la place d'interday ?

Pour des usages axés sur la prise de décision rapide, la table Fresh daily peut être considérée comme fiable dès qu'elle approche les 99 % de complétude, souvent dès J+1. Elle offre ainsi une solution plus rapide qu'interday, disponible une demi-journée à une journée plus tard. Cette disponibilité précoce de Fresh daily peut s'avérer particulièrement avantageuse pour l'analyse continue de la performance et les alertes d'anomalies, où 99 % de complétude suffit généralement.

Prenons par exemple les données du 18/10 (après la dernière date de modification) :

Si je souhaite suivre les données du jour en cours, quelle table dois-je utiliser ?

Une disponibilité précoce peut être particulièrement avantageuse pour l'analyse continue de la performance et les alertes d'anomalies.

Alors, quelle table choisir à un instant donné ?

Nous avons vu précédemment qu'intraday est créée en moyenne 1h30 avant fresh daily. Si vous recherchez une disponibilité immédiate des données, intraday est le meilleur choix.

Cependant, les données intraday sont loin d'être précises, comme nous l'avons vu notamment avec Purchases.

C'est pourquoi, dans la mesure du possible, il est préférable de s'appuyer sur les données fresh daily, disponibles quelques heures plus tard, mais plus complètes et plus fiables, en attendant l'arrivée des données interday.

Par ailleurs, si vous souhaitez analyser les canaux d'acquisition, les données intraday sont à proscrire, car elles ne sont pas fiables sur ces dimensions, contrairement à fresh daily et interday.

Conclusion

Notre étude montre que les tables Fresh daily offrent une alternative efficace aux tables intraday pour les besoins analytiques « rapides » (il faudra malgré tout patienter quelques heures), notamment pour le reporting du chiffre d'affaires. Bien qu'elles n'atteignent pas les 100 % de complétude des tables interday, leur proximité (souvent supérieure à 99 %) et leur disponibilité précoce en font un atout pour les entreprises en quête de davantage de réactivité dans leurs analyses.

Avantages de Fresh daily :

  • Plus de 99 % de complétude à J+1.
  • Fiable pour le reporting rapide et la détection d'anomalies. Limites :
  • Aucune garantie de précision absolue pour les événements complexes.
  • Légèrement moins précise qu'interday, mais avec une couverture quasi complète.
  • Il faut compter quelques heures pour obtenir des données complètes à plus de 95 %.

Ces résultats montrent que Fresh daily est la solution de choix pour les entreprises en quête d'un équilibre entre réactivité et précision, avec des données disponibles plus tôt pour faciliter une prise de décision éclairée, même si l'on reste encore loin du temps réel.

Mise à jour juin 2025 : nous avons récemment observé certaines tendances dans les données GA4 importées dans BigQuery. Premièrement, les données « fresh » ne changent pas significativement dans le temps. Quelle que soit l'heure à laquelle on récupère les données le jour suivant, voire deux jours plus tard, les variations restent minimes, autour de 0,02 %. En revanche, lorsqu'on compare les données fresh aux données d'événements GA4, les écarts deviennent plus marqués, avec une moyenne d'environ 2 % sur la plupart des métriques. Deux métriques présentent des écarts plus importants : « bounced sessions » et son complément « unbounced sessions », qui peuvent varier jusqu'à 5–6 %.

Ainsi, si vous souhaitez une véritable cohérence, mieux vaut baser vos métriques exclusivement sur la table de données fresh, ou exclusivement sur la table de données d'événements GA4.

Pour aller plus loin

Envie de comprendre vos propres chiffres ?

Essayez Datama gratuitement ou réservez une démo de 30 minutes avec l'équipe.