L’export BigQuery de GA4 est l’une des fonctionnalités les plus puissantes de la plateforme. Mais les données brutes sont complexes : des tableaux imbriqués, des structs, des arrays. Ce guide vous montre comment les transformer en quelque chose d’exploitable.
Activer l’export BigQuery
Dans GA4, allez dans Admin → Liens BigQuery et activez l’export. Choisissez entre :
- Quotidien : un export par jour, gratuit, suffisant pour la plupart des cas
- Streaming : temps réel, coûte plus cher, utile pour les alertes
L’export crée des tables au format events_YYYYMMDD dans votre dataset BigQuery.
Comprendre la structure des données
Chaque ligne du tableau représente un événement. Les paramètres sont stockés dans des colonnes de type RECORD (nested) :
SELECT
event_name,
event_timestamp,
user_pseudo_id,
-- Extraire un paramètre d'événement
(SELECT value.string_value
FROM UNNEST(event_params)
WHERE key = 'page_location') AS page_location,
-- Extraire la source de trafic
traffic_source.source,
traffic_source.medium
FROM `projet.dataset.events_*`
WHERE _TABLE_SUFFIX BETWEEN '20260301' AND '20260331'
Le UNNEST est la clé pour accéder aux paramètres imbriqués. C’est la syntaxe la plus courante que vous utiliserez.
Créer une vue sessions exploitable
Les données brutes sont au niveau événement. Pour analyser au niveau session, il faut agréger :
CREATE OR REPLACE VIEW `projet.dataset.sessions` AS
SELECT
user_pseudo_id,
(SELECT value.int_value FROM UNNEST(event_params) WHERE key = 'ga_session_id') AS session_id,
MIN(TIMESTAMP_MICROS(event_timestamp)) AS session_start,
MAX(TIMESTAMP_MICROS(event_timestamp)) AS session_end,
COUNT(*) AS event_count,
COUNTIF(event_name = 'page_view') AS pageviews
FROM `projet.dataset.events_*`
WHERE _TABLE_SUFFIX BETWEEN '20260301' AND '20260331'
GROUP BY 1, 2
Cette vue peut ensuite alimenter directement un dashboard Looker Studio.
Optimiser les coûts
BigQuery facture à la quantité de données scannées. Quelques bonnes pratiques :
- Toujours filtrer avec
_TABLE_SUFFIXpour limiter les tables scannées - Créer des tables matérialisées pour les requêtes récurrentes
- Utiliser le partitionnement et le clustering sur vos tables dérivées
- Surveiller les coûts avec les quotas et alertes GCP
Pour comprendre d’où viennent ces données et comment améliorer leur qualité, consultez le guide sur la configuration GA4.