Las consultas de muestra de esta página se aplican a los datos de exportación de eventos de BigQuery para Google Analytics 4. Consulta la guía de soluciones de BigQuery para Universal Analytics si buscas el mismo recurso para Universal Analytics.
Todas las consultas enumeradas aquí usan conjuntos de datos de muestra y deberían generar resultados válidos. Para usar los datos de exportación de eventos de BigQuery de tu propiedad de Google Analytics, busca el comentario -- Replace table
en cada consulta y reemplaza el ID del conjunto de datos de muestra.
Para encontrar el ID de tu conjunto de datos, navega a tu proyecto de exportación de BigQuery en la IU de BigQuery. Por ejemplo, si el ID de los conjuntos de datos de BigQuery Export es my-
first-gcp-project:analytics_28239234
, reemplaza lo siguiente:
-- Replace table
`bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*`
con:
-- Replace table
`my-first-gcp-project.analytics_28239234.events_*`
Cómo realizar consultas en un período específico
Para consultar un período específico de un conjunto de datos de exportación de eventos de BigQuery, usa la seudocolumna _TABLE_SUFFIX en la cláusula WHERE de tu consulta. Para obtener más información, consulta Filtra tablas seleccionadas con _TABLE_SUFFIX.
Por ejemplo, la siguiente consulta cuenta los eventos únicos por fecha y nombre de evento para un período específico de días y eventos seleccionados:
-- 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;
Recuento de usuarios y usuarios nuevos
- Para obtener el recuento total de usuarios, cuenta la cantidad de
user_id
diferentes. Sin embargo, si tu cliente de Google Analytics no envía unuser_id
con cada hit o si no estás seguro, cuenta la cantidad deuser_pseudo_id
distintos. - En el caso de los usuarios nuevos, puedes adoptar el mismo enfoque de recuento que se describió anteriormente, pero para los siguientes valores 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;
Cantidad promedio de transacciones por comprador
La siguiente consulta muestra la cantidad promedio de transacciones por comprador.
-- 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';
Valores para un nombre de evento específico
En la siguiente consulta, se muestra el event_timestamp
de todos los eventos purchase
y los valores de parámetros del evento asociados:
-- 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 consulta anterior se puede modificar para mostrar el total de los valores de los parámetros del evento en lugar de una lista:
-- 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';
Los 10 artículos principales que se agregaron al carrito
La siguiente consulta muestra los 10 artículos principales agregados al carrito por la mayor cantidad de usuarios.
-- 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;
Cantidad promedio de vistas de página por tipo de comprador (compradores en comparación con no compradores)
La siguiente consulta muestra la cantidad promedio de usuarios del tipo de comprador de páginas vistas (compradores en comparación con no compradores):
-- 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;
Secuencia de vistas de página
La siguiente consulta muestra la secuencia de páginas vistas que realizaron los usuarios durante sesiones únicas:
-- 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;
Lista de parámetros del evento
La siguiente consulta enumera todos los parámetros de eventos que aparecen en tu conjunto de datos:
-- 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;
Unirse con Google Ads
Si deseas recuperar datos adicionales de Google Ads para tus eventos de GA4, configura el Servicio de transferencia de datos de BigQuery para Google Ads y, luego, une el collected_traffic_source.gclid
de los datos de eventos de GA4 al campo gclid
de ads_ClickStats_
customer_id de la transferencia de Google Ads.
Ten en cuenta que la exportación de datos de eventos de GA4 crea una tabla para cada día, mientras que la transferencia de Google Ads propaga una sola tabla ads_ClickStats_
customer_id por cliente.