Google Analytics 4 etkinlik verilerini dışa aktarmayla ilgili temel sorgular

Bu sayfadaki örnek sorgular, Google Analytics 4'teki BigQuery etkinlik dışa aktarma verileri için geçerlidir. Universal Analytics için de aynı kaynağı arıyorsanız Universal Analytics için BigQuery tarif defteri bölümünü inceleyin.

Burada listelenen tüm sorgular örnek veri kümelerini kullanır ve geçerli sonuçlar verir. Kendi Google Analytics mülkünüzün BigQuery etkinlik dışa aktarma verilerini kullanmak için her sorguda -- Replace table yorumunu arayın ve örnek veri kümesi kimliğini değiştirin. Veri kümesi kimliğinizi BigQuery kullanıcı arayüzünde BigQuery Export projenize giderek bulabilirsiniz. Örneğin, BigQuery Export veri kümeleri kimliğiniz my- first-gcp-project:analytics_28239234 ise şunu değiştirin:

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

şununla değiştirin:

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

Belirli bir tarih aralığını sorgulama

Bir BigQuery etkinlik dışa aktarma veri kümesinden belirli bir tarih aralığını sorgulamak için sorgunuzun WHERE yan tümcesinde _TABLE_SUFFIX yapay sütununu kullanın. Daha fazla bilgi için _TABLE_SUFFIX kullanarak seçili tabloları filtreleme bölümüne bakın.

Örneğin, aşağıdaki sorgu benzersiz etkinlikleri belirli bir gün sayısı ve seçilen etkinlikler için 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ı ve yeni kullanıcı sayısı

  • Toplam kullanıcı sayısını elde etmek için farklı user_id öğe sayısını sayın. Ancak, Google Analytics istemciniz her isabetle birlikte bir user_id göndermezse veya emin değilseniz farklı user_pseudo_id sayısını sayın.
  • Yeni kullanıcılar için yukarıda açıklanan sayım yaklaşımını uygulayabilirsiniz ancak aşağıdaki event_name değerleri için:
-- 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;

Alıcı başına ortalama işlem sayısı

Aşağıdaki sorgu, alıcı başına ortalama işlem sayısını gösterir.

-- 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 purchase etkinlikleri ve ilişkili etkinlik parametresi değerleri için event_timestamp 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, kullanıcı sayısı tarafından en çok sepete eklenen ilk 10 öğeyi göstermektedir.

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

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 sayfa görüntüleme türünün ortalama sayısını (satın alma işlemi gerçekleştirenler ve gerçekleştirmeyenler) 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ı

Aşağıdaki sorgu, kullanıcıların benzersiz oturumlar sırasında yaptığı sayfa görüntülemelerinin sırasını göstermektedir:

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

Etkinlik parametresi listesi

Aşağıdaki sorguda, veri kümenizde görünen tüm etkinlik parametreleri listelenmiştir:

-- 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 ile katılım

GA4 etkinliklerinizle ilgili ek Google Ads verileri almak için Google Ads için BigQuery Veri Aktarım Hizmeti'ni ayarlayın, ardından Google Ads aktarımından GA4 etkinlik verilerinden collected_traffic_source.gclid ile ads_ClickStats_ gclid alanınacustomer_id birleştirin.

GA4 etkinlik verilerini dışa aktarma işlemiyle her gün için bir tablo oluştururken Google Ads aktarımında müşteri başına tek bir ads_ClickStats_customer_id tablosunu doldurduğunuzu unutmayın.