Consultas básicas para exportação de dados de eventos do Google Analytics 4

As consultas de amostra nesta página se aplicam aos dados de exportação de eventos do BigQuery para o Google Analytics 4. Consulte o manual do BigQuery para o Universal Analytics se estiver procurando o mesmo recurso no Universal Analytics.

Todas as consultas listadas aqui usam conjuntos de dados de amostra e devem produzir resultados válidos. Para usar os dados de exportação de eventos do BigQuery da sua propriedade do Google Analytics, procure o comentário -- Replace table em cada consulta e substitua o ID do conjunto de dados de amostra. Para encontrar o ID do conjunto de dados, acesse o projeto de exportação do BigQuery na IU desse produto. Por exemplo, se o ID dos conjuntos de dados de exportação do BigQuery for my- first-gcp-project:analytics_28239234, substitua:

  -- Replace table
 
`bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*`

por:

  -- Replace table
 
`my-first-gcp-project.analytics_28239234.events_*`

Consultar um período específico

Para ver um período específico de um conjunto de dados de exportação de eventos do BigQuery, use a pseudocoluna _TABLE_SUFFIX na cláusula WHERE da sua consulta. Para mais informações, veja Como filtrar tabelas selecionadas com _TABLE_SUFFIX.

A consulta abaixo conta os eventos exclusivos por data e nome de evento em um período específico de dias e eventos selecionados:

-- 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;

Contagem de usuários e de novos usuários

  • Para ver o total de usuários, conte o número de user_id diferentes. Se o cliente do Google Analytics não retornar um user_id com cada hit ou se você estiver em dúvida, conte o número de user_pseudo_id diferentes.
  • No caso de novos usuários, você pode ter a mesma abordagem de contagem descrita acima, mas com os seguintes 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;

Número médio de transações por comprador

A consulta a seguir mostra o número médio de transações 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 de um nome de evento específico

A consulta abaixo mostra o event_timestamp de todos os eventos purchase e os valores de parâmetros associados:

-- 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';

A consulta anterior pode ser modificada para mostrar o total de valores de parâmetros de eventos, em vez de uma 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';

10 principais itens adicionados ao carrinho

A consulta a seguir mostra os 10 itens mais adicionados ao carrinho pelo maior número de usuários.

-- 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;

Número médio de visualizações de página por tipo de comprador (compradores x usuários que não compram serviços)

A consulta a seguir mostra o número médio de visualizações descrito acima:

-- 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;

Sequência de visualizações de página

A consulta a seguir mostra a sequência de visualizações de página feitas por usuários em sessões ú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 de evento

A consulta a seguir lista todos os parâmetros de evento que aparecem no conjunto de dados:

-- 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;

Combinar ao Google Ads

Para recuperar dados adicionais do Google Ads para seus eventos do GA4, configure o serviço de transferência de dados do BigQuery para o Google Ads, depois combine o collected_traffic_source.gclid originado dos dados de eventos do GA4 ao campo gclid de ads_ClickStats_customer_id proveniente da transferência do Google Ads.

A exportação de dados de eventos do GA4 cria uma tabela para cada dia, enquanto a transferência do Google Ads preenche uma única tabela ads_ClickStats_customer_id por cliente.