Le query di esempio in questa pagina si applicano ai dati di esportazione degli eventi BigQuery per Google Analytics.
Esegui una query sul set di dati anziché sul set di dati di esempio
Se non diversamente indicato, tutte le query qui elencate utilizzano set di dati di esempio e devono
produrre risultati validi. Per utilizzare BigQuery della tua proprietà Google Analytics
degli eventi di esportazione dei dati, cerca il commento -- Replace table
in ogni query
sostituisci la tabella di esempio. Per copiare il nome della tabella dal set di dati:
- Vai alla UI di BigQuery e seleziona contenente il set di dati.
- Individua la tabella in Spazio di esplorazione.
- Fai clic sui tre puntini verticali a destra della tabella, poi fai clic su Copia ID.
- Incolla nella query il nome della tabella al posto della tabella di esempio.
- Sostituisci la data della tabella con
*
.
Ad esempio, se Copia ID ha copiato il nome della tabella BigQuery
my-first-gcp-project:analytics_28239234.events_20240718
, quindi sostituisci:
-- Replace table
`bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*`
con:
-- Replace table
`my-first-gcp-project.analytics_28239234.events_*`
Eseguire query su un intervallo di date specifico
Per eseguire query su un intervallo di date specifico da un set di dati di esportazione di eventi BigQuery, utilizza pseudocolonna _TABLE_SUFFIX nella clausola WHERE della query. Per ulteriori informazioni, vedi Filtrare le tabelle selezionate utilizzando _TABLE_SUFFIX.
Ad esempio, la seguente query conteggia gli eventi unici per data e per nome dell'evento per uno specifico periodo di giorni ed eventi selezionati:
-- 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;
Conteggio utenti e numero nuovi utenti
- Per ottenere il numero totale di utenti, conta il numero di
user_id
distinti. Tuttavia, se il tuo cliente Google Analytics non restituisce unuser_id
con ogni hit o, se non sei sicuro, conta il numero diuser_pseudo_id
distinti. - Per i nuovi utenti, puoi adottare lo stesso approccio al conteggio descritto sopra, ma per
i seguenti valori di
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;
Numero medio di transazioni per acquirente
La seguente query mostra il numero medio di transazioni per acquirente.
-- 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';
Valori relativi al nome di un evento specifico
La seguente query mostra il valore event_timestamp
per tutti
Eventi purchase
e parametro evento associato
valori:
-- 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 query precedente può essere modificata per mostrare il totale del parametro evento anziché un elenco:
-- 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';
Primi 10 articoli aggiunti al carrello
La seguente query mostra i 10 articoli principali aggiunti al carrello dal maggior numero di utenti.
-- 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;
Numero medio di visualizzazioni di pagina per tipo di acquirente (acquirenti e non acquirenti)
La seguente query mostra il numero medio di utenti che hanno visualizzato le visualizzazioni di pagina in base al tipo di acquirente (acquirenti e non acquirenti) degli utenti:
-- 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;
Sequenza di visualizzazioni di pagina
Questa query mostra la sequenza di visualizzazioni di pagina effettuate da ciascun utente. Gli ordini delle query i risultati utilizzando i campi seguenti, in modo che gli eventi siano elencati nell'ordine si sono verificati per l'utente, anche se gli eventi sono stati inviati nello stesso batch:
user_pseudo_id
user_id
batch_page_id
batch_ordering_id
batch_event_index
Anche se l'esempio limita i risultati solo agli eventi page_view
, puoi utilizzare
la stessa clausola ORDER BY
per ordinare correttamente tutti gli eventi rimuovendo
Condizione clausola WHERE
per event_name
.
La query mostra anche come utilizzare i valori definiti dall'utente
GetParamString
e GetParamInt
per ridurre i duplicati e creare query
più facili da comprendere e gestire.
-- 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;
Elenco dei parametri evento
La seguente query elenca tutti i parametri evento che appaiono nel tuo set di dati:
-- 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;
Partecipazione con Google Ads
Per recuperare altri dati Google Ads per gli eventi Google Analytics, imposta il campo
BigQuery Data Transfer Service per Google
Google Ads,
unisci i collected_traffic_source.gclid
dei dati sugli eventi di Google Analytics a gclid
nel campo di ads_ClickStats_
customer_id del trasferimento di Google Ads.
Tieni presente che l'esportazione dei dati sugli eventi di Google Analytics crea una tabella per ciascun giorno, mentre
il trasferimento di Google Ads compila una
ads_ClickStats_
Tabella customer_id per cliente.