Le query di esempio in questa pagina si applicano ai dati di esportazione degli eventi BigQuery per Google Analytics.
Esegui una query sul tuo set di dati anziché su quello di esempio
Se non diversamente indicato, tutte le query elencate qui utilizzano set di dati di esempio e dovrebbero
produrre risultati validi. Per utilizzare i dati di esportazione degli eventi BigQuery della tua proprietà Google Analytics, cerca il commento -- Replace table in ogni query e sostituisci la tabella di esempio. Per copiare il nome della tabella dal set di dati:
- Vai alla UI di BigQuery e seleziona il progetto che contiene il set di dati.
- Individua la tabella in Explorer.
- Fai clic sui tre puntini verticali a destra della tabella e poi su Copia ID.
- Incolla il nome della tabella al posto della tabella di esempio nella query.
- Sostituisci la parte della tabella relativa alla data con
*.
Ad esempio, se Copy ID ha copiato il nome della tabella BigQuery
my-first-gcp-project:analytics_28239234.events_20240718, sostituisci:
-- Replace table
`bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*`
con:
-- Replace table
`my-first-gcp-project.analytics_28239234.events_*`
Eseguire una query su un intervallo di date specifico
Per eseguire query su un intervallo di date specifico da un set di dati di esportazione degli eventi BigQuery, utilizza la pseudo colonna _TABLE_SUFFIX nella clausola WHERE della query. Per ulteriori informazioni, consulta Filtrare le tabelle selezionate utilizzando _TABLE_SUFFIX.
Ad esempio, la seguente query conteggia gli eventi unici per data e per nome dell'evento per un periodo di giorni specifico e gli 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, nuovi utenti e utenti di ritorno
- Per ottenere il conteggio totale degli utenti attivi, conta il numero di valori
user_iddistinti. Tuttavia, se il client Google Analytics non restituisce unuser_idcon ogni hit o se non ne hai la certezza, conta il numero di valoriuser_pseudo_iddistinti. - Per i nuovi utenti, conta il numero di utenti distinti il cui
event_nameè: - Per gli utenti di ritorno, conta il numero di utenti che hanno avuto attività durante il periodo, ma non hanno avviato la prima sessione o lanciato l'app per la prima volta durante il periodo (utenti attivi meno nuovi utenti).
-- Example: Get 'Total User' (Active User), 'New User', and 'Returning User' counts.
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 active_users,
SUM(is_new_user) AS new_users,
COUNT(*) - SUM(is_new_user) AS returning_users
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 per un nome evento specifico
La seguente query mostra event_timestamp per tutti gli eventi
purchase e i valori dei parametri evento associati:
-- 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 dei valori dei parametri 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';
I 10 articoli più aggiunti al carrello
La seguente query mostra i 10 articoli più 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_sample_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 pagine per tipo di acquirente (acquirenti e non acquirenti)
La seguente query mostra il numero medio di visualizzazioni di pagine per 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 ogni utente. La query ordina i risultati utilizzando i seguenti campi in modo che gli eventi vengano elencati nell'ordine in cui si sono verificati per l'utente, anche se gli eventi sono stati inviati nello stesso batch:
user_pseudo_iduser_idbatch_page_idbatch_ordering_idbatch_event_index
Sebbene il campione limiti i risultati a soli page_view eventi, puoi utilizzare
la stessa clausola ORDER BY per ordinare correttamente tutti gli eventi rimuovendo la
condizione della clausola WHERE per event_name.
La query mostra anche come utilizzare le funzioni definite dall'utente
GetParamString e GetParamInt per ridurre la duplicazione e rendere le 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 visualizzati 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;
Unirsi a Google Ads
Per recuperare dati Google Ads aggiuntivi per gli eventi Google Analytics, configura il
servizio Data Transfer Service di BigQuery per Google
Ads, poi
unisci collected_traffic_source.gclid dai dati sugli eventi Google Analytics al campo gclid
di ads_ClickStats_customer_id dal trasferimento da Google Ads.
Tieni presente che l'esportazione dei dati sugli eventi Google Analytics crea una tabella per ciascun giorno, mentre
il trasferimento da Google Ads compila una singola tabella
ads_ClickStats_customer_id per cliente.