ServicesÀ proposNotesContact Me contacter →
EN FR
Note

Tutoriel : premiers modèles dbt pour GA4

Hub pour la construction de vos premiers modèles dbt GA4 — de la compréhension du schéma d'événements bruts aux couches base, intermédiaire et mart.

Planté
ga4dbtbigquerydata engineeringdata modeling

Ce hub trace le chemin d’un export BigQuery GA4 brut vers un ensemble de modèles dbt opérationnels qui préservent la granularité au niveau événement tout en rendant l’analyse au niveau session triviale. C’est le point d’entrée pour toute personne construisant des modèles dbt GA4 pour la première fois.

L’idée centrale : ne pas agréger vers les sessions immédiatement. Construire un modèle intermédiaire large qui enrichit chaque événement avec le contexte de session (indicateurs de conversion, métriques de temps, données d’attribution) sans perdre la granularité au niveau événement. L’agrégation n’a lieu que dans la couche mart finale, lorsqu’elle est réellement nécessaire.

Ces notes ont été décomposées depuis Vos premiers modèles dbt GA4 : des événements bruts aux sessions.

Comprendre le schéma GA4

Le schéma BigQuery de GA4 est structurellement différent de Universal Analytics. Le comprendre est un prérequis avant d’écrire tout modèle dbt.

GA4 Event Data Structure — Le modèle centré sur les événements : une ligne par événement, des tableaux event_params imbriqués, et le passage de l’architecture centrée sur les sessions d’UA. C’est le prérequis pour tout le reste.

GA4 BigQuery Export Table Types — Les tables quotidiennes versus les tables intraday, leur timing, et pourquoi utiliser les tables quotidiennes pour les modèles de production.

GA4 BigQuery Timezone Handling — Les trois contextes de fuseau horaire (event_timestamp en UTC, event_date dans le fuseau de la propriété, _TABLE_SUFFIX en heure du Pacifique) et pourquoi les mélanger casse silencieusement les requêtes par plage de dates.

Le problème d’identité de session

Construction de la clé de session GA4 — Pourquoi ga_session_id seul échoue comme identifiant unique (c’est un timestamp Unix, donc plusieurs utilisateurs peuvent partager la même valeur) et comment construire la clé composite correcte à partir de user_pseudo_id + ga_session_id.

La philosophie de conception

Sessionisation à grain événement — Pourquoi l’enrichissement des événements avec le contexte de session est préférable à la construction directe de tables au grain session. Le pattern qui rend l’analyse en aval flexible : les entonnoirs de séquence d’événements, les métriques de temps entre événements, et les modèles d’attribution expérimentaux nécessitent tous des données au niveau événement.

Construction des modèles

Modèle de base GA4 shardé vers partitionné — Le modèle de base qui convertit l’export date-shardé de GA4 en un modèle dbt correctement partitionné. Couvre le pattern de filtrage _TABLE_SUFFIX, la stratégie insert_overwrite, et le lookback de 3 jours pour les événements arrivant en retard.

Macro d’extraction de paramètres GA4 — La macro dbt réutilisable pour extraire les valeurs event_params via des sous-requêtes corrélées. Pourquoi les sous-requêtes corrélées plutôt que CROSS JOIN UNNEST, et la variante numérique pour gérer l’ambiguïté de type.

Modèle d’événements sessionisés GA4 — Le modèle intermédiaire qui ajoute le contexte de session à chaque événement : page d’atterrissage, source de trafic, indicateurs de conversion, durée de session, séquençage des événements. Le pilier de l’ensemble du projet.

Champs de source de trafic GA4 — Les quatre emplacements de source de trafic dans l’export de GA4, leurs portées, et lequel utiliser pour l’attribution de session. Critique pour les colonnes d’attribution du modèle intermédiaire.

Mart de performance d’acquisition GA4 — Le modèle mart qui agrège les événements sessionisés au grain quotidien x source/medium. Taux de conversion et métriques de revenus pré-calculés, prêts pour les tableaux de bord.

Pièges courants

Le tutoriel couvre plusieurs problèmes que les notes individuelles traitent en profondeur :

La suite

Ce tutoriel construit les fondations. Pour un projet prêt pour la production avec des tests, de la documentation et le groupement de canaux, voir le Hub du template de projet dbt GA4. Pour la référence complète de sessionisation incluant les limites de session personnalisées, voir le Hub de sessionisation GA4.