جستارهای اساسی برای صادرات داده رویداد Google Analytics 4

پرس و جوهای نمونه در این صفحه برای داده های صادرات رویداد BigQuery برای Google Analytics 4 اعمال می شود. اگر به دنبال همان منبع برای Universal Analytics هستید، به کتاب آشپزی BigQuery برای Universal Analytics مراجعه کنید.

همه پرس و جوهای فهرست شده در اینجا از مجموعه داده های نمونه استفاده می کنند و باید نتایج معتبری تولید کنند. برای استفاده از داده‌های صادرات رویداد BigQuery ویژگی Google Analytics خودتان، به دنبال نظر بگردید -- Replace table و شناسه مجموعه داده نمونه را جایگزین کنید. با پیمایش به پروژه صادراتی BigQuery در رابط کاربری BigQuery، می‌توانید شناسه مجموعه داده خود را پیدا کنید. برای مثال، اگر شناسه مجموعه داده‌های صادراتی BigQuery شما my- first-gcp-project:analytics_28239234 است، سپس جایگزین کنید:

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

با:

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

یک محدوده تاریخی خاص را پرس و جو کنید

برای پرس و جو از یک محدوده تاریخی خاص از مجموعه داده صادراتی رویداد BigQuery، از ستون شبه _TABLE_SUFFIX در عبارت WHERE درخواست خود استفاده کنید. برای اطلاعات بیشتر، فیلتر کردن جداول انتخابی را با استفاده از _TABLE_SUFFIX مشاهده کنید.

به عنوان مثال، پرس و جو زیر رویدادهای منحصر به فرد را بر اساس تاریخ و نام رویداد برای یک دوره خاص از روزها و رویدادهای انتخاب شده شمارش می کند:

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

تعداد کاربران و تعداد کاربران جدید

  • برای بدست آوردن تعداد کل کاربران، تعداد user_id مجزا را بشمارید. با این حال، اگر سرویس گیرنده Google Analytics شما با هر ضربه یک user_id ارسال نکرد یا اگر مطمئن نیستید، تعداد user_pseudo_id مجزا را بشمارید.
  • برای کاربران جدید، می‌توانید از همان روش شمارش که در بالا توضیح داده شد استفاده کنید، اما برای مقادیر 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;

میانگین تعداد تراکنش به ازای هر خریدار

پرس و جو زیر میانگین تعداد تراکنش های هر خریدار را نشان می دهد.

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

مقادیر برای یک نام رویداد خاص

کوئری زیر event_timestamp را برای همه رویدادهای purchase و مقادیر پارامتر رویداد مرتبط نشان می‌دهد:

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

پرس و جو قبلی را می توان تغییر داد تا مجموع مقادیر پارامتر رویداد را به جای یک لیست نشان دهد:

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

10 مورد برتر اضافه شده به سبد خرید

پرس و جو زیر 10 مورد برتر اضافه شده به سبد خرید توسط بیشترین تعداد کاربر را نشان می دهد.

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

میانگین تعداد بازدید از صفحه بر اساس نوع خریدار (خریداران در مقابل غیرخریداران)

جستار زیر میانگین تعداد بازدید از صفحه نوع خریدار (خریداران در مقابل غیرخریداران) کاربران را نشان می دهد:

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

توالی بازدید از صفحه

پرس و جو زیر توالی بازدید از صفحه توسط کاربران را در طول جلسات منحصر به فرد نشان می دهد:

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

لیست پارامترهای رویداد

پرس و جو زیر تمام پارامترهای رویداد ظاهر شده در مجموعه داده شما را فهرست می کند:

-- 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 برای رویدادهای GA4 خود، سرویس انتقال داده BigQuery را برای Google Ads راه‌اندازی کنید، سپس collected_traffic_source.gclid را از داده‌های رویداد GA4 به قسمت gclid ads_ClickStats_ customer_id از انتقال Google Ads بپیوندید.

به خاطر داشته باشید که صادرات داده رویداد GA4 یک جدول برای هر روز ایجاد می‌کند، در حالی که انتقال Google Ads یک جدول ads_ClickStats_ customer_id را برای هر مشتری پر می‌کند.