الطلبات الأساسية لتصدير بيانات الأحداث في "إحصاءات Google"

تنطبق نماذج الطلبات في هذه الصفحة على بيانات تصدير الأحداث من BigQuery لما يلي: إحصاءات Google

الاستعلام عن مجموعة البيانات بدلاً من نموذج مجموعة البيانات

ما لم يذكر خلاف ذلك، فإن جميع طلبات البحث المدرجة هنا تستخدم نماذج لمجموعات البيانات، ينتج عنها نتائج صالحة. لاستخدام BigQuery لموقعك على "إحصاءات Google" تصدير بيانات الأحداث، فابحث عن التعليق -- Replace table في كل طلب بحث لاستبدال نموذج الجدول. لنسخ اسم الجدول من مجموعة البيانات:

  1. انتقِل إلى واجهة مستخدم BigQuery واختَر مشروع يحتوي على مجموعة البيانات الخاصة بك.
  2. حدِّد موقع الجدول في المستكشف.
  3. انقر على النقاط الثلاث الرأسية على يسار الجدول، ثم انقر على نسخة من رقم التعريف:
  4. الصق اسم الجدول بدلاً من نموذج الجدول في الاستعلام.
  5. استبدِل جزء التاريخ في الجدول بـ *.

على سبيل المثال، في حال نسخ رقم التعريف اسم جدول BigQuery. my-first-gcp-project:analytics_28239234.events_20240718، ثم استبدل:

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

عبر:

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

الاستعلام عن نطاق زمني معين

للاستعلام عن نطاق زمني معيَّن من مجموعة بيانات تصدير الأحداث في BigQuery، استخدِم _TABLE_كول pseudo في عبارة WHERE من استعلامك. لمزيد من المعلومات، عرض فلترة الجداول المحدّدة باستخدام _TABLE_STATUS.

على سبيل المثال، يحتسِب طلب البحث التالي الأحداث الفريدة حسب التاريخ وحسب اسم الحدث لفترة محددة من الأيام والأحداث المحددة:

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

تسلسل مشاهدات الصفحة على الويب

يعرض طلب البحث هذا تسلسل مشاهدات الصفحة التي أجراها كل مستخدم. يطلب الاستعلام النتائج باستخدام الحقول التالية بحيث يتم سرد الأحداث بالترتيب حدثت للمستخدم، حتى إذا تم إرسال الأحداث في نفس الدفعة:

  • user_pseudo_id
  • user_id
  • batch_page_id
  • batch_ordering_id
  • batch_event_index

مع أنّ العيّنة حصر النتائج على page_view حدث فقط، يمكنك استخدام نفس عبارة ORDER BY لترتيب جميع الأحداث بشكل صحيح عن طريق إزالة شرط البند WHERE لـ event_name.

يوضح طلب البحث أيضًا كيفية استخدام الحالة من تحديد المستخدم الدوال GetParamString وGetParamInt لتقليل التكرار وإجراء طلبات البحث أسهل في الفهم والصيانة.

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

قائمة مَعلمات الأحداث

يسرد طلب البحث التالي جميع مَعلمات الأحداث التي تظهر في مجموعة بياناتك:

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

لاسترداد بيانات "إعلانات Google" الإضافية لأحداث "إحصاءات Google"، عليك إعداد خدمة نقل البيانات في BigQuery لشركة Google الإعلانات، ثم ربط collected_traffic_source.gclid من بيانات حدث "إحصاءات Google" إلى gclid ads_ClickStats_customer_id من عملية نقل حساب "إعلانات Google".

ضع في اعتبارك أن تصدير بيانات الأحداث في "إحصاءات Google" ينشئ جدولاً لكل يوم، في حين أن إجراء النقل إلى "إعلانات Google" باستخدام ads_ClickStats_جدول واحد (customer_id) لكل عميل.