การค้นหาตัวอย่างในหน้านี้ใช้ได้กับข้อมูล BigQuery Event Export สำหรับ Google Analytics
ค้นหาชุดข้อมูลแทนชุดข้อมูลตัวอย่าง
การค้นหาทั้งหมดที่แสดงที่นี่ใช้ชุดข้อมูลตัวอย่างและควรให้ผลลัพธ์ที่ถูกต้อง เว้นแต่จะระบุไว้เป็นอย่างอื่น หากต้องการใช้ข้อมูล BigQuery Event Export จากพร็อพเพอร์ตี้ Google Analytics ของคุณเอง ให้มองหาความคิดเห็น -- Replace table ในการค้นหาแต่ละรายการ แล้วแทนที่ตารางตัวอย่าง วิธีคัดลอกชื่อตารางจากชุดข้อมูล
- ไปที่ UI ของ BigQuery แล้วเลือก โปรเจ็กต์ที่มีชุดข้อมูล
- ค้นหาตารางในเครื่องมือสำรวจ
- คลิกจุด 3 จุดแนวตั้งทางด้านขวาของตาราง แล้วคลิกคัดลอกรหัส
- วางชื่อตารางแทนที่ตารางตัวอย่างในการค้นหา
- แทนที่ส่วนวันที่ของตารางด้วย
*
ตัวอย่างเช่น หากคัดลอกรหัส คัดลอกชื่อตาราง 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 Event Export ให้ใช้คอลัมน์เสมือน _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กลับมาพร้อมกับ Hit แต่ละรายการ หรือหากคุณไม่แน่ใจ ให้นับจำนวนค่าuser_pseudo_idที่ไม่ซ้ำกัน - สำหรับผู้ใช้ใหม่ ให้นับจำนวนผู้ใช้ที่ไม่ซ้ำกันซึ่งมี
event_nameดังนี้ - สำหรับผู้ใช้ที่กลับมา ให้นับจำนวนผู้ใช้ที่มีกิจกรรมในช่วงเวลาดังกล่าว แต่ไม่ได้เริ่มเซสชันแรกหรือเปิดแอปเป็นครั้งแรกในช่วงเวลาดังกล่าว (ผู้ใช้ที่ใช้งานอยู่ลบด้วยผู้ใช้ใหม่)
-- Example: Get 'Total User' (Active User), 'New User', and 'Returning User' counts.
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 active_users,
SUM(is_new_user) AS new_users,
COUNT(*) - SUM(is_new_user) AS returning_users
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_sample_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_iduser_idbatch_page_idbatch_ordering_idbatch_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 Ads
หากต้องการดึงข้อมูล Google Ads เพิ่มเติมสำหรับเหตุการณ์ Google Analytics ให้ตั้งค่า
บริการโอนย้ายข้อมูล BigQuery สำหรับ
Google Ads จากนั้น
รวม collected_traffic_source.gclid จากข้อมูลเหตุการณ์ Google Analytics กับgclid
ช่อง ads_ClickStats_customer_id จากการโอน Google Ads
โปรดทราบว่าการส่งออกข้อมูลเหตุการณ์ Google Analytics จะสร้างตารางสำหรับแต่ละวัน ในขณะที่
การโอน Google Ads จะสร้างตารางเดียว
ads_ClickStats_customer_idต่อลูกค้าแต่ละราย