Bu sayfadaki örnek sorgular, Google Analytics için BigQuery etkinlik dışa aktarma verileriyle ilgilidir.
Örnek veri kümesi yerine veri kümenizi sorgulama
Aksi belirtilmediği sürece, burada listelenen tüm sorgular örnek veri kümelerini kullanır ve geçerli sonuçlar üretmelidir. Kendi Google Analytics mülkünüzün BigQuery etkinlik dışa aktarma verilerini kullanmak için her sorguda -- Replace table yorumunu bulun ve örnek tabloyu değiştirin. Tablo adını veri kümenizden kopyalamak için:
- BigQuery kullanıcı arayüzüne gidin ve veri kümenizi içeren projeyi seçin.
- Tabloyu Gezgin'de bulun.
- Tablonun sağındaki üç dikey noktayı, ardından Kimliği kopyala'yı tıklayın.
- Tablo adını sorgudaki örnek tablonun yerine yapıştırın.
- Tablonun tarih kısmını
*ile değiştirin.
Örneğin, Copy ID (Kimliği kopyala) işlevi BigQuery tablo adını kopyaladıysa
my-first-gcp-project:analytics_28239234.events_20240718, şunları değiştirin:
-- Replace table
`bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*`
with:
-- Replace table
`my-first-gcp-project.analytics_28239234.events_*`
Belirli bir tarih aralığını sorgulama
BigQuery etkinlik dışa aktarma veri kümesinden belirli bir tarih aralığını sorgulamak için sorgunuzun WHERE ifadesinde _TABLE_SUFFIX sahte sütununu kullanın. Daha fazla bilgi için _TABLE_SUFFIX kullanarak seçili tabloları filtreleme başlıklı makaleyi inceleyin.
Örneğin, aşağıdaki sorgu, belirli bir gün aralığı ve seçilen etkinlikler için benzersiz etkinlikleri tarihe ve etkinlik adına göre sayar:
-- 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;
Kullanıcı sayısı, yeni kullanıcılar ve geri gelen kullanıcılar
- Toplam etkin kullanıcı sayısını elde etmek için farklı
user_iddeğerlerinin sayısını hesaplayın. Ancak Google Analytics istemciniz her isabette biruser_idgeri göndermiyorsa veya emin değilseniz farklıuser_pseudo_iddeğerlerinin sayısını hesaplayın. - Yeni kullanıcılar için
event_namedeğeri aşağıdaki gibi olan farklı kullanıcıların sayısını hesaplayın: - Geri gelen kullanıcılar için dönem boyunca etkinlikte bulunan ancak dönem içinde ilk oturumlarını başlatmayan veya uygulamayı ilk kez başlatmayan kullanıcıların sayısını (etkin kullanıcılar eksi yeni kullanıcılar) sayın.
-- 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;
Alıcı başına ortalama işlem sayısı
Aşağıdaki sorguda, alıcı başına ortalama işlem sayısı gösterilmektedir.
-- 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';
Belirli bir etkinlik adının değerleri
Aşağıdaki sorgu, tüm event_timestamp etkinlikleri ve ilişkili etkinlik parametresi değerleri için purchase değerini gösterir:
-- 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';
Önceki sorgu, liste yerine etkinlik parametresi değerlerinin toplamını gösterecek şekilde değiştirilebilir:
-- 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';
Alışveriş sepetine en çok eklenen 10 öğe
Aşağıdaki sorgu, en çok sayıda kullanıcı tarafından alışveriş sepetine eklenen ilk 10 öğeyi gösterir.
-- 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;
Alıcı türüne göre ortalama sayfa görüntüleme sayısı (satın alma işlemi gerçekleştirenler ve gerçekleştirmeyenler)
Aşağıdaki sorgu, kullanıcıların alıcı türüne (satın alma işlemi gerçekleştirenler ve gerçekleştirmeyenler) göre ortalama sayfa görüntüleme sayısını gösterir:
-- 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;
Sayfa görüntüleme sırası
Bu sorgu, her kullanıcının yaptığı sayfa görüntülemelerin sırasını gösterir. Sorgu, sonuçları aşağıdaki alanları kullanarak sıralar. Böylece, etkinlikler aynı toplu işlemde gönderilmiş olsa bile kullanıcı için gerçekleşme sırasına göre listelenir:
user_pseudo_iduser_idbatch_page_idbatch_ordering_idbatch_event_index
Örnek, sonuçları yalnızca page_view etkinlikleriyle sınırlandırsa da WHERE koşulunu event_name için kaldırarak tüm etkinlikleri doğru şekilde sıralamak için aynı ORDER BY ifadesini kullanabilirsiniz.
Sorgu, kullanıcı tanımlı işlevlerin
GetParamString ve GetParamInt nasıl kullanılacağını da göstererek yinelenmeyi azaltır ve sorgularınızın anlaşılmasını ve bakımını kolaylaştırır.
-- 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;
Etkinlik parametresi listesi
Aşağıdaki sorgu, veri kümenizde görünen tüm etkinlik parametrelerini listeler:
-- 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;
Google Ads'e katılma
Google Analytics etkinlikleriniz için ek Google Ads verileri almak üzere Google Ads için BigQuery Veri Aktarım Hizmeti'ni ayarlayın, ardından Google Analytics etkinlik verilerindeki collected_traffic_source.gclid öğesini Google Ads aktarımındaki ads_ClickStats_customer_id öğesinin gclid alanına ekleyin.
Google Analytics etkinlik verilerini dışa aktarma işleminin her gün için bir tablo oluşturduğunu, Google Ads aktarımının ise müşteri başına tek bir ads_ClickStats_customer_id tablosunu doldurduğunu unutmayın.