Les exemples de requêtes de cette page s'appliquent aux données d'exportation d'événements BigQuery pour Google Analytics.
Interroger votre ensemble de données au lieu de l'exemple d'ensemble de données
Sauf indication contraire, toutes les requêtes listées ici utilisent des exemples d'ensembles de données et doivent
des résultats valides. Pour utiliser l'API BigQuery de votre propre propriété Google Analytics :
les données d'exportation des événements, recherchez le commentaire -- Replace table
dans chaque requête, puis
remplacez l'exemple de table. Pour copier le nom de la table depuis votre ensemble de données:
- Accédez à l'interface utilisateur de BigQuery et sélectionnez projet contenant votre ensemble de données.
- Localisez la table dans l'Explorer.
- Cliquez sur les trois points verticaux à droite du tableau, puis sur Copier l'ID :
- Dans la requête, collez le nom de la table à la place de l'exemple de table.
- Remplacez la partie date du tableau par
*
.
Par exemple, si l'option Copier l'ID a copié le nom de la table BigQuery
my-first-gcp-project:analytics_28239234.events_20240718
, puis remplacez:
-- Replace table
`bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*`
avec :
-- 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 classe _TABLE_SUFFIX pseudo-colonne 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 date et par nom d'événement pour une période spécifique en jours et pour les é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, en cas de doute, comptez le nombre d'user_pseudo_id
distincts. - Pour les nouveaux utilisateurs, vous pouvez suivre la même méthode de comptabilisation que celle décrite ci-dessus, mais pour
les valeurs suivantes de
event_name
: <ph type="x-smartling-placeholder">- </ph>
first_visit
first_open
-- 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 indique 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 le event_timestamp
pour tous
Les événements purchase
et le paramètre d'événement associé
:
-- 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';
Vous pouvez modifier la requête précédente pour afficher le total des 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 ayant été ajoutés le plus 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 et non-acheteurs)
La requête suivante indique le nombre moyen de pages vues de type acheteur (acheteurs et non-acheteurs) des utilisateurs:
-- 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
Cette requête affiche la séquence des pages vues par chaque utilisateur. Les requêtes ordonnent les résultats à l'aide des champs suivants afin que les événements soient répertoriés dans l'ordre qu'ils se sont produits pour l'utilisateur, même s'ils ont été envoyés dans le même lot:
user_pseudo_id
user_id
batch_page_id
batch_ordering_id
batch_event_index
Bien que l'exemple limite les résultats aux événements page_view
uniquement, vous pouvez utiliser
la même clause ORDER BY
pour classer correctement tous les événements en supprimant la
Condition de clause WHERE
pour event_name
.
La requête montre également comment utiliser des données définies par l'utilisateur
Fonctions
GetParamString
et GetParamInt
pour réduire la duplication et effectuer vos requêtes
plus faciles à comprendre et à gérer.
-- Example: Sequence of pageviews.
/** Temporary function to retrieve the string_value of an event parameter by event name. */
CREATE TEMP FUNCTION GetParamString(event_params ANY TYPE, param_name STRING)
AS ((SELECT ANY_VALUE(value.string_value) FROM UNNEST(event_params) WHERE key = param_name));
/** Temporary function to retrieve the int_value of an event parameter by event name. */
CREATE TEMP FUNCTION GetParamInt(event_params ANY TYPE, param_name STRING)
AS ((SELECT ANY_VALUE(value.int_value) FROM UNNEST(event_params) WHERE key = param_name));
SELECT
user_pseudo_id,
user_id,
batch_page_id,
batch_ordering_id,
batch_event_index,
event_name,
GetParamInt(event_params, 'ga_session_id') as ga_session_id,
GetParamString(event_params, 'page_location') as page_location,
GetParamString(event_params, '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 '20240718' AND '20240731'
ORDER BY
user_pseudo_id,
user_id,
batch_page_id,
batch_ordering_id,
batch_event_index;
Liste des paramètres d'événement
La requête suivante répertorie tous les paramètres d'événement qui apparaissent 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;
Participer via Google Ads
Afin de récupérer des données Google Ads supplémentaires pour vos événements Google Analytics, configurez le
Service de transfert de données BigQuery pour Google
Ads, puis
joindre l'collected_traffic_source.gclid
des données d'événement Google Analytics à l'gclid
de ads_ClickStats_
customer_id depuis le transfert Google Ads.
N'oubliez pas que l'exportation des données d'événement Google Analytics crée un tableau pour chaque jour.
le transfert Google Ads génère
ads_ClickStats_
customer_id table par client.