تنطبق نماذج الطلبات في هذه الصفحة على بيانات تصدير الأحداث من BigQuery لما يلي: إحصاءات Google
الاستعلام عن مجموعة البيانات بدلاً من نموذج مجموعة البيانات
ما لم يذكر خلاف ذلك، فإن جميع طلبات البحث المدرجة هنا تستخدم نماذج لمجموعات البيانات،
ينتج عنها نتائج صالحة. لاستخدام BigQuery لموقعك على "إحصاءات Google"
تصدير بيانات الأحداث، فابحث عن التعليق -- Replace table
في كل طلب بحث
لاستبدال نموذج الجدول. لنسخ اسم الجدول من مجموعة البيانات:
- انتقِل إلى واجهة مستخدم BigQuery واختَر مشروع يحتوي على مجموعة البيانات الخاصة بك.
- حدِّد موقع الجدول في المستكشف.
- انقر على النقاط الثلاث الرأسية على يسار الجدول، ثم انقر على نسخة من رقم التعريف:
- الصق اسم الجدول بدلاً من نموذج الجدول في الاستعلام.
- استبدِل جزء التاريخ في الجدول بـ
*
.
على سبيل المثال، في حال نسخ رقم التعريف اسم جدول 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) لكل عميل.