ServicesÀ proposNotesContact Me contacter →
EN FR
Note

Hub template de projet dbt GA4

Hub reliant tous les concepts de la construction d'un projet dbt production-ready pour les exports GA4 BigQuery — du modèle de base aux marts, avec tests et documentation.

Planté
ga4dbtbigquerydata modelinganalyticsincremental processing

Construire un projet dbt GA4 n’est pas compliqué, mais il comporte suffisamment de nuances spécifiques à GA4 que partir d’une connaissance générale de dbt n’est pas tout à fait suffisant. Les tables d’export shardées cassent les patterns incrémentaux standard. Les paramètres d’événements imbriqués nécessitent une extraction basée sur des macros. Le contexte de session nécessite un cadrage soigneux des fonctions fenêtre. Ce hub relie les notes qui traitent chaque couche du problème.

La décision de conception centrale : une table intermédiaire enrichie au grain événement où chaque ligne porte le contexte de session. Au lieu de construire directement des tables au grain session (l’approche que prennent la plupart des packages open-source), cette architecture enrichit chaque événement avec la page d’entrée, la source de trafic et les flags de conversion via des fonctions fenêtre. Le mart de sessions devient un GROUP BY trivial. L’analyse de funnel et les questions de séquence d’événements fonctionnent sans jointures.

C’est le pattern décomposé depuis GA4 + dbt : un template de projet production-ready.

Avant de construire : l’écosystème des packages existants

Écosystème de packages dbt GA4 — Les principaux packages dbt GA4 open-source (Velir/dbt-ga4, Fivetran, admindio), ce que chacun optimise, et les patterns qui valent la peine d’être empruntés même si vous construisez sur mesure. Commencez ici pour comprendre l’espace de conception.

Configuration du projet

Configuration du projet dbt GA4 — Le dbt_project.yml complet avec comportement piloté par variables, matérialisations par dossier et valeurs par défaut des tests. Comment structurer le projet pour la réutilisation entre plusieurs propriétés GA4.

La couche de base

Modèle de base shardé vers partitionné GA4 — Comment l’export date-shardé GA4 (events_YYYYMMDD) casse les patterns incrémentaux standard, et l’approche filtre _TABLE_SUFFIX + lookback statique qui fait fonctionner correctement le partition pruning BigQuery.

Macro d’extraction de paramètres GA4 — La macro dbt extract_event_param qui encapsule le pattern de sous-requête corrélée pour l’extraction event_params. Pourquoi des sous-requêtes corrélées plutôt que CROSS JOIN UNNEST, et la variante numérique pour les champs int/float/double.

Pattern UNNEST des items e-commerce GA4 — Construire un modèle séparé au grain item avec un UNNEST cartésien intentionnel. Quand le tableau items imbriqué de GA4 nécessite son propre modèle, et comment les agrégats d’items se connectent au pipeline au niveau événement.

La couche intermédiaire

Modèle d’événements sessionisés GA4 — L’implémentation CTE par CTE de int__ga4__events_sessionized : nettoyage des URLs, propagation du contexte de session via fonctions fenêtre, regroupement des canaux et jointures d’agrégation des items. La pièce maîtresse de l’ensemble du projet.

Pièges des fonctions fenêtre GA4 — Trois pièges spécifiques à GA4 dans les fonctions fenêtre : le problème de cadrage LAST_VALUE, IGNORE NULLS pour les données d’événements éparses, et MAX pour la propagation des flags booléens de session.

Macro de regroupement des canaux GA4 — La logique de regroupement des canaux par défaut de Google sous forme de macro dbt réutilisable. L’ordre du CASE, les patterns regex, et comment valider par rapport à vos conventions UTM.

La couche mart

Pattern du mart utilisateurs GA4 — Construire un mart au grain utilisateur depuis les données de session avec attribution premier/dernier contact, agrégation de la valeur vie, et unification user_id à travers les valeurs user_pseudo_id.

Pour le mart de sessions, consultez Sessionisation au grain événement — une fois que le modèle sessionisé existe, le mart de sessions est un GROUP BY avec ANY_VALUE.

Tests

Patterns de tests dbt GA4 — Tests que les tests de schéma dbt standard manquent : événements session_start manquants, transactions orphelines, métriques de session suspectes. Configuration de la fraîcheur des sources et patterns de tests singuliers.

Concepts associés