Las consultas de muestra en esta página se aplican a los datos de exportación de eventos de BigQuery para Google Analytics
Consulta tu conjunto de datos en lugar del conjunto de datos de muestra
Salvo que se indique lo contrario, todas las consultas enumeradas aquí usan conjuntos de datos de muestra y deben
generan resultados válidos. Para usar BigQuery en tu propiedad de Google Analytics
datos de exportación de eventos, busca el comentario -- Replace table
en cada consulta y
reemplazar la tabla de muestra. Para copiar el nombre de la tabla de tu conjunto de datos, haz lo siguiente:
- Dirígete a la IU de BigQuery y selecciona proyecto que contiene tu conjunto de datos.
- Ubica la tabla en Explorer.
- Haz clic en los tres puntos verticales que están a la derecha de la tabla y, luego, en Copiar ID.
- Pega el nombre de la tabla en lugar de la tabla de muestra en la consulta.
- Reemplaza la parte de la fecha de la tabla por
*
.
Por ejemplo, si Copy ID copió el nombre de la tabla de BigQuery
my-first-gcp-project:analytics_28239234.events_20240718
y, luego, reemplaza:
-- Replace table
`bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*`
con:
-- Replace table
`my-first-gcp-project.analytics_28239234.events_*`
Consulta 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 el _TABLE_SUFFIX es la cláusula WHERE de la consulta. Para obtener más información, ver Filtra las tablas seleccionadas con _TABLE_SUFFIX
Por ejemplo, la siguiente consulta cuenta eventos únicos por fecha y por 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;
Cantidad de usuarios y recuento de usuarios nuevos
- Para obtener el recuento total de usuarios, cuenta la cantidad de
user_id
distintos. Sin embargo, si tu cliente de Google Analytics no devuelve unuser_id
con cada hit o, si no estás seguro, cuenta la cantidad deuser_pseudo_id
diferentes. - Para los usuarios nuevos, puedes adoptar el mismo enfoque de recuento descrito 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
La siguiente consulta muestra el event_timestamp
de todos
Eventos purchase
y el parámetro de evento asociado
valores:
-- 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 del parámetro de 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 que más usuarios agregaron al carrito.
-- 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 vistas de página por tipo de comprador (compradores en comparación con no compradores) de los usuarios:
-- 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
Esta consulta muestra la secuencia de vistas de página que realizó cada usuario. El orden de la consulta los resultados con los siguientes campos para que los eventos se enumeren en el orden se produjeron para el usuario, incluso si los eventos se enviaron en el mismo lote:
user_pseudo_id
user_id
batch_page_id
batch_ordering_id
batch_event_index
Si bien la muestra limita los resultados a solo eventos page_view
, puedes usar
la misma cláusula ORDER BY
para ordenar correctamente todos los eventos quitando el
Condición de la cláusula WHERE
para event_name
.
La consulta también muestra cómo usar valores definidos por el usuario
funciones
GetParamString
y GetParamInt
para reducir la duplicación y realizar consultas
sean más fáciles de entender y mantener.
-- 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;
Lista de parámetros de eventos
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
Para recuperar datos adicionales de Google Ads para tus eventos de Google Analytics, configura la
Servicio de transferencia de datos de BigQuery para Google
Anuncios y, luego,
unir las collected_traffic_source.gclid
de los datos de eventos de Google Analytics a gclid
campo de ads_ClickStats_
customer_id de la transferencia de Google Ads.
Ten en cuenta que la exportación de datos de eventos de Google Analytics crea una tabla para cada día, mientras que
la transferencia de Google Ads completa un solo
ads_ClickStats_
Tabla customer_id por cliente.