Les exemples de requêtes de cette page s'appliquent aux données d'exportation d'événements BigQuery pour Google Analytics 4. Si vous recherchez la même ressource pour Universal Analytics, consultez le livre de recettes BigQuery pour Universal Analytics.
Toutes les requêtes listées ici utilisent des exemples d'ensembles de données et devraient produire des résultats valides. Pour utiliser les données d'exportation d'événements BigQuery de votre propre propriété Google Analytics, recherchez le commentaire -- Replace table
dans chaque requête et remplacez l'ID de l'exemple d'ensemble de données.
Pour trouver l'ID de votre ensemble de données, accédez à votre projet BigQuery Export dans l'UI BigQuery. Par exemple, si l'ID de votre ensemble de données BigQuery Export est my-
first-gcp-project:analytics_28239234
, remplacez:
-- Replace table
`bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*`
par
-- Replace table
`my-first-gcp-project.analytics_28239234.events_*`
Interroger une plage de dates spécifique
Pour interroger une plage de dates spécifique à partir d'un ensemble de données d'exportation d'événements BigQuery, utilisez la colonne pseudo _TABLE_SUFFIX dans la clause WHERE de votre requête. Pour en savoir plus, consultez la section Filtrer des tables sélectionnées avec _TABLE_SUFFIX.
Par exemple, la requête suivante comptabilise les événements uniques par date et par nom d'événement sur une période spécifique de jours et d'événements sélectionnés:
-- Example: Query a specific date range for selected events.
--
-- Counts unique events by date and by event name for a specifc period of days and
-- selected events(page_view, session_start, and purchase).
SELECT
event_date,
event_name,
COUNT(*) AS event_count
FROM
-- Replace table name.
`bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*`
WHERE
event_name IN ('page_view', 'session_start', 'purchase')
-- Replace date range.
AND _TABLE_SUFFIX BETWEEN '20201201' AND '20201202'
GROUP BY 1, 2;
Nombre d'utilisateurs et nombre de nouveaux utilisateurs
- Pour obtenir le nombre total d'utilisateurs, comptez le nombre de
user_id
distincts. Toutefois, si votre client Google Analytics ne renvoie pas deuser_id
avec chaque appel ou si vous n'êtes pas sûr, comptabilisez le nombre d'user_pseudo_id
distincts. - Pour les nouveaux utilisateurs, vous pouvez suivre la même approche de décompte que celle décrite ci-dessus, mais pour les valeurs suivantes de
event_name
:
-- Example: Get 'Total User' count and 'New User' count.
WITH
UserInfo AS (
SELECT
user_pseudo_id,
MAX(IF(event_name IN ('first_visit', 'first_open'), 1, 0)) AS is_new_user
-- Replace table name.
FROM `bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*`
-- Replace date range.
WHERE _TABLE_SUFFIX BETWEEN '20201101' AND '20201130'
GROUP BY 1
)
SELECT
COUNT(*) AS user_count,
SUM(is_new_user) AS new_user_count
FROM UserInfo;
Nombre moyen de transactions par acheteur
La requête suivante affiche le nombre moyen de transactions par acheteur.
-- Example: Average number of transactions per purchaser.
SELECT
COUNT(*) / COUNT(DISTINCT user_pseudo_id) AS avg_transaction_per_purchaser
FROM
-- Replace table name.
`bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*`
WHERE
event_name IN ('in_app_purchase', 'purchase')
-- Replace date range.
AND _TABLE_SUFFIX BETWEEN '20201201' AND '20201231';
Valeurs d'un nom d'événement spécifique
La requête suivante affiche la event_timestamp
pour tous les événements purchase
et les valeurs des paramètres d'événement associés:
-- Example: Query values for a specific event name.
--
-- Queries the individual timestamps and values for all 'purchase' events.
SELECT
event_timestamp,
(
SELECT COALESCE(value.int_value, value.float_value, value.double_value)
FROM UNNEST(event_params)
WHERE key = 'value'
) AS event_value
FROM
-- Replace table name.
`bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*`
WHERE
event_name = 'purchase'
-- Replace date range.
AND _TABLE_SUFFIX BETWEEN '20201201' AND '20201202';
La requête précédente peut être modifiée pour afficher le nombre total de valeurs de paramètres d'événement au lieu d'une liste:
-- Example: Query total value for a specific event name.
--
-- Queries the total event value for all 'purchase' events.
SELECT
SUM(
(
SELECT COALESCE(value.int_value, value.float_value, value.double_value)
FROM UNNEST(event_params)
WHERE key = 'value'
))
AS event_value
FROM
-- Replace table name.
`bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*`
WHERE
event_name = 'purchase'
-- Replace date range.
AND _TABLE_SUFFIX BETWEEN '20201201' AND '20201202';
10 principaux articles ajoutés au panier
La requête suivante affiche les 10 articles les plus ajoutés au panier par le plus grand nombre d'utilisateurs.
-- Example: Top 10 items added to cart by most users.
SELECT
item_id,
item_name,
COUNT(DISTINCT user_pseudo_id) AS user_count
FROM
-- Replace table name.
`bigquery-public-data.ga4_obfuscated_web_ecommerce.events_*`, UNNEST(items)
WHERE
-- Replace date range.
_TABLE_SUFFIX BETWEEN '20201101' AND '20210131'
AND event_name IN ('add_to_cart')
GROUP BY
1, 2
ORDER BY
user_count DESC
LIMIT 10;
Nombre moyen de pages vues par type d'acheteur (acheteurs ou non-acheteurs)
La requête suivante indique le nombre moyen de pages vues par type d'acheteur (acheteurs ou non-acheteurs) :
-- Example: Average number of pageviews by purchaser type.
WITH
UserInfo AS (
SELECT
user_pseudo_id,
COUNTIF(event_name = 'page_view') AS page_view_count,
COUNTIF(event_name IN ('in_app_purchase', 'purchase')) AS purchase_event_count
-- Replace table name.
FROM `bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*`
-- Replace date range.
WHERE _TABLE_SUFFIX BETWEEN '20201201' AND '20201202'
GROUP BY 1
)
SELECT
(purchase_event_count > 0) AS purchaser,
COUNT(*) AS user_count,
SUM(page_view_count) AS total_page_views,
SUM(page_view_count) / COUNT(*) AS avg_page_views,
FROM UserInfo
GROUP BY 1;
Séquence de pages vues
La requête suivante montre la séquence des pages vues par les utilisateurs au cours de sessions uniques:
-- Example: Sequence of pageviews.
SELECT
user_pseudo_id,
event_timestamp,
(SELECT value.int_value FROM UNNEST(event_params) WHERE key = 'ga_session_id') AS ga_session_id,
(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_location')
AS page_location,
(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_title') AS page_title
FROM
-- Replace table name.
`bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*`
WHERE
event_name = 'page_view'
-- Replace date range.
AND _TABLE_SUFFIX BETWEEN '20201201' AND '20201202'
ORDER BY
user_pseudo_id,
ga_session_id,
event_timestamp ASC;
Liste des paramètres d'événement
La requête suivante répertorie tous les paramètres d'événement apparaissant dans votre ensemble de données:
-- Example: List all available event parameters and count their occurrences.
SELECT
EP.key AS event_param_key,
COUNT(*) AS occurrences
FROM
-- Replace table name.
`bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*`, UNNEST(event_params) AS EP
WHERE
-- Replace date range.
_TABLE_SUFFIX BETWEEN '20201201' AND '20201202'
GROUP BY
event_param_key
ORDER BY
event_param_key ASC;
Participation via Google Ads
Afin de récupérer des données Google Ads supplémentaires pour vos événements GA4, configurez le service de transfert de données BigQuery pour Google Ads, puis associez le collected_traffic_source.gclid
des données d'événement GA4 au champ gclid
de ads_ClickStats_
customer_id à partir du transfert Google Ads.
N'oubliez pas que l'exportation des données d'événement GA4 crée un tableau pour chaque jour, tandis que le transfert Google Ads génère une seule table ads_ClickStats_
customer_id par client.