การค้นหาพื้นฐานสำหรับการส่งออกข้อมูลเหตุการณ์ Google Analytics

การค้นหาตัวอย่างในหน้านี้ใช้กับข้อมูลการส่งออกเหตุการณ์ BigQuery สําหรับ Google Analytics

ค้นหาชุดข้อมูลแทนชุดข้อมูลตัวอย่าง

คำค้นหาทั้งหมดที่แสดงที่นี่ใช้ชุดข้อมูลตัวอย่าง เว้นแต่จะระบุไว้เป็นอย่างอื่น ให้ผลลัพธ์ที่ถูกต้อง วิธีใช้ BigQuery ของพร็อพเพอร์ตี้ Google Analytics ของคุณเอง ข้อมูลการส่งออกเหตุการณ์ ให้มองหาความคิดเห็น -- Replace table ในการค้นหาแต่ละรายการ แทนที่ตารางตัวอย่าง วิธีคัดลอกชื่อตารางจากชุดข้อมูล

  1. ไปที่ BigQuery UI และเลือก ที่มีชุดข้อมูลของคุณอยู่
  2. ค้นหาตารางใน Explorer
  3. คลิกจุดแนวตั้ง 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_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' 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;

จำนวนการทำธุรกรรมโดยเฉลี่ยต่อผู้ซื้อ

คำค้นหาต่อไปนี้แสดงจำนวนการทำธุรกรรมโดยเฉลี่ยต่อผู้ซื้อ 1 ราย

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

หากต้องการดึงข้อมูล Google Ads เพิ่มเติมสําหรับเหตุการณ์ Google Analytics ให้ตั้งค่า บริการโอนข้อมูล BigQuery สำหรับ Google โฆษณา ตามด้วย รวม collected_traffic_source.gclid จากข้อมูลเหตุการณ์ Google Analytics กับ gclid ช่อง ads_ClickStats_customer_id จากการโอน Google Ads

โปรดทราบว่าการส่งออกข้อมูลเหตุการณ์ Google Analytics จะสร้างตารางสำหรับแต่ละวัน การโอน Google Ads จะปรากฏใน ads_ClickStats_customer_id ตารางต่อลูกค้า 1 ราย