Google Analytics etkinlik verilerini dışa aktarma için temel sorgular

Bu sayfadaki örnek sorgular, şunlar için BigQuery etkinlik dışa aktarma verileri için geçerlidir: Google Analytics.

Örnek veri kümesi yerine veri kümenizi sorgulama

Aksi belirtilmedikçe, burada listelenen tüm sorgular örnek veri kümeleri kullanır ve ve geçerli sonuçlar üretmesini sağlar. Kendi Google Analytics mülkünüzün BigQuery'sini kullanmak için Her sorguda -- Replace table yorumunu bulun ve örnek tabloyu değiştirin. Tablo adını veri kümenizden kopyalamak için:

  1. BigQuery kullanıcı arayüzüne gidin ve veri kümenizi içeren bir projedir.
  2. Explorer'de tabloyu bulun.
  3. Tablonun sağındaki üç dikey noktayı ve ardından Kimliği kopyalayın.
  4. Tablo adını, sorgudaki örnek tablo yerine yapıştırın.
  5. Tablonun tarih bölümünü * ile değiştirin.

Örneğin, Kopyalama Kimliği, BigQuery tablosunun adını kopyaladıysa my-first-gcp-project:analytics_28239234.events_20240718, ardından şunu değiştirin:

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

şununla:

  -- 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 _TABLE_SUFFIX, sorgunuzun WHERE yan tümcesindeki sözde sütun. Daha fazla bilgi için _TABLE_SUFFIX kullanarak seçili tabloları filtreleme başlıklı makaleyi inceleyin.

Örneğin, aşağıdaki sorgu, benzersiz etkinlikleri şu ölçüte göre sayar: belirli bir dönem ve seçili etkinlikler için tarih ve etkinlik adına göre:

-- 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ı ve yeni kullanıcı sayısı

  • Toplam kullanıcı sayısını elde etmek için farklı user_id sayısını sayın. Ancak, Google Analytics müşterinizuser_id her isabet veya emin değilseniz farklı user_pseudo_id sayısını sayın.
  • Yeni kullanıcılar için yukarıda açıklanan aynı sayma yaklaşımını uygulayabilirsiniz, ancak event_name için aşağıdaki değerler:
-- 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ı için değerler

Aşağıdaki sorgu tüm reklamverenler için event_timestamp değerini gösterir purchase etkinlikleri ve ilişkili etkinlik parametresi değerleri:

-- 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, etkinlik parametresinin toplamını gösterecek şekilde değiştirilebilir değerlerinin yer aldığı bir sonuç görürsünüz:

-- 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 eklenen ilk 10 öğe

Aşağıdaki sorgu, en fazla kullanıcı sayısına göre 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_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, satın alma işlemi yapan kişi türünün ortalama sayısını gösterir. (satın alma işlemi gerçekleştirenler ve gerçekleştirmeyenler):

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

Bu sorgu, her bir kullanıcı tarafından gerçekleştirilen sayfa görüntülemelerinin sırasını gösterir. Sorgu siparişleri aşağıdaki alanları kullanarak sonuçları sıralı olarak listelemelerini sağlar. etkinlikler aynı toplu halde gönderilmiş olsa bile kullanıcı için aşağıdaki durumlar gerçekleştiğinde:

  • user_pseudo_id
  • user_id
  • batch_page_id
  • batch_ordering_id
  • batch_event_index

Örnek, sonuçları yalnızca page_view etkinlikleriyle sınırlandırsa da aşağıdakileri kullanabilirsiniz: tüm etkinlikleri doğru şekilde sıralamak içinORDER BY event_name için WHERE yan tümce koşulu.

Sorgu, kullanıcı tanımlı işlevler Yinelemeyi azaltmak ve sorgularınızı yapmak için GetParamString ve GetParamInt bu dört tema altında grupladım.

-- 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 ile katılma

Google Analytics etkinlikleriniz için ek Google Ads verileri almak üzere Google için BigQuery Veri Aktarım Hizmeti Reklamlar, ardından Google Analytics etkinlik verilerindeki collected_traffic_source.gclid adlı dönüşüm işlemini gclid ile birleştirin Google Ads aktarımından ads_ClickStats_customer_id alanını.

Google Analytics etkinlik verilerini dışa aktarma işleminin her gün için bir tablo oluşturduğunu, Google Ads aktarımı, tek bir ads_ClickStats_Müşteri başına customer_id tablo.