ServicesÀ proposNotesContact Me contacter →
EN FR
Note

Hub des patterns de désimbrication GA4

Hub connectant tous les concepts pour extraire des données du schéma BigQuery imbriqué de GA4 — approches UNNEST, types de JOIN, recettes d'engagement, entonnoirs e-commerce et architecture dbt.

Planté
ga4bigquerydbtdata modelinganalytics

Interroger des données GA4 dans BigQuery signifie interroger des tableaux imbriqués. Chaque champ utile — URL de page, ID de session, dimensions personnalisées, détails de produit — vit dans event_params, user_properties ou items. UNNEST n’est pas optionnel ; c’est le coût d’entrée.

Ce hub connecte les concepts nécessaires pour extraire correctement et efficacement les données GA4, des mécanismes fondamentaux d’UNNEST aux patterns dbt en production.

La fondation

GA4 Event Data Structure — Pourquoi GA4 utilise des tableaux imbriqués au lieu de colonnes plates. Le modèle centré sur les événements, les trois tableaux imbriqués (event_params, user_properties, items), et les quatre champs de valeur typés. Commencez ici si vous découvrez l’export BigQuery de GA4.

Patterns de requêtes BigQuery GA4 — Les deux approches UNNEST : sous-requêtes corrélées pour extraire des valeurs spécifiques (préserve le comptage de lignes) versus UNNEST dans la clause FROM pour analyser la structure du tableau (développe les lignes). Filtrage _TABLE_SUFFIX, contrôle des coûts et macros dbt réutilisables.

Les mécanismes UNNEST

Détection de type des paramètres d’événements GA4 — Comment GA4 assigne automatiquement les valeurs de paramètres à string_value, int_value, float_value ou double_value. L’échec null silencieux lorsque vous interrogez le mauvais type. Le pattern défensif COALESCE pour les paramètres de type incertain ou historiquement incohérent.

GA4 CROSS JOIN versus LEFT JOIN UNNEST — La syntaxe virgule dans FROM table, UNNEST(array) est un CROSS JOIN qui supprime silencieusement les lignes où le tableau est vide. Quand utiliser LEFT JOIN UNNEST pour préserver tous les événements. La règle empirique : CROSS JOIN pour event_params (toujours renseigné), LEFT JOIN pour items et user_properties (souvent vides).

Recettes de requêtes

Recettes de requêtes d’événements d’engagement GA4 — SQL prêt à copier pour les pages vues avec analyse d’URL, analyse de profondeur de défilement avec calcul du taux de scroll, tracking des clics sortants, tracking des téléchargements de fichiers, entonnoirs d’engagement vidéo avec progression des jalons, et métriques de session avec clés composites.

Pattern d’entonnoir de checkout e-commerce GA4 — Analyse d’entonnoir basée sur la session de view_item jusqu’à purchase. Le pattern COUNT(DISTINCT CASE WHEN ...), taux de conversion au niveau produit, tendances d’entonnoir temporelles, et la distinction entre entonnoirs souples et stricts.

Spécificités e-commerce

Schéma e-commerce GA4 dans BigQuery — Le RECORD ecommerce (totaux au niveau transaction) versus le RECORD REPEATED items (détails au niveau produit). Le tableau imbriqué item_params pour les dimensions de produit personnalisées. Patterns de calcul des revenus qui évitent le double comptage.

Pattern UNNEST des articles e-commerce GA4 — Construction d’un modèle de grain article dédié dans dbt. Pourquoi les articles nécessitent un modèle séparé du pipeline au grain événement. Le Cartesian UNNEST intentionnel, le garde ARRAY_LENGTH, et le choix de matérialisation en vue.

Patterns en production

Macro d’extraction de paramètres GA4 — La macro dbt pour l’extraction par sous-requête corrélée : extract_event_param(column, key, value_type). La variante COALESCE numérique. Extraction pilotée par variables pour les paramètres personnalisés.

Matérialisation des événements GA4 aplatis — Quand et comment pré-désimbriquer les événements GA4 dans une table plate pour la réduction des coûts et la compatibilité avec les outils BI. Le pattern CREATE TABLE, les stratégies de planification, et quand la matérialisation n’en vaut pas la peine.

Architecture de couche de désimbrication dbt GA4 — La structure dbt complète en trois couches : modèle de base pour la désimbrication avec chargement incrémentiel, modèles intermédiaires pour le filtrage spécifique aux événements, modèles mart pour les agrégations prêtes pour l’analyse. Stratégies de test pour la correction des UNNEST.

La vue d’ensemble

Les patterns de désimbrication ici alimentent deux pipelines en aval :

  • Sessionisation : Une fois les événements aplatis, les tables de session ajoutent le contexte de session via des fonctions de fenêtrage — pages d’atterrissage, attribution de source de trafic, indicateurs de conversion propagés à chaque événement.
  • Analyse e-commerce : Le modèle d’articles items alimente les marts de performance produit, l’analyse d’entonnoir de checkout et le reporting au niveau catégorie.

Les deux pipelines dépendent d’une désimbrication correcte. Une erreur de type dans la couche de base (extraire ga_session_id comme string_value au lieu de int_value) se cascade à travers chaque modèle en aval. Faites la désimbrication correctement une fois, testez-la, et construisez tout le reste par-dessus.