瞭解如何將網站體驗指標資料傳送至 Google Analytics 4 資源,以及如何將資料匯出至 BigQuery 和 Looker Studio 進行分析。
Google 提供多項工具,:Google 搜尋 控制台、PageSpeed 洞察 (PSI) 和 Chrome 使用者體驗 檢舉 (CrUX),讓開發人員查看網站在核心 Web 上的表現 實際使用者指標中 欄位。
這些工具非常實用,可以用來概略說明 以及實際效能,而且不需要任何設定即可開始使用。
然而,卻有幾項重要原因,您可能會不想依賴這些原則 評估網站成效:
- 以 CrUX 為基礎的工具會以每月或過去 28 天為時間範圍回報資料。 這代表您必須在完成變更後,等待很長一段時間才能 就可以看到結果
- CrUX 型工具只能依少數維度進行區隔,例如: 國家/地區、連線類型和裝置類別 (電腦或行動裝置)。禁止事項 按貴商家專屬的維度劃分資料 (例如:互動參與度) 特定實驗群組的使用者、使用者等)
- 透過 CrUX 型工具,您可以得知成效「內容」,但無法判斷成效 。你可以使用數據分析工具傳送額外資料,以便追蹤 以及對問題進行偵錯
因此,我們建議所有網站擁有者監控 Core Web Vitals 指標 和既有的數據分析工具這篇文章將說明如何免費使用 並使用 Google 提供的工具來達成這個目標
完成所有設定後,您就能建立如下所示的資訊主頁:
如想透過圖像概略瞭解這裡說明的所有步驟,請參閱我們在 2021 年 Google I/O 大會上發表的演講:
測量
您隨時可透過 Google Analytics 自訂指標 這是幾項 Google Analytics 新功能 4 (GA4),開發人員可 但這仍是件令人興奮的事
- 無須設定、自訂 活動 參數
- 免費的 BigQuery Export、 方便您使用 SQL 查詢資料
雖然 Google Analytics 網頁介面有強大的分析工具 想突破原始事件資料存取功能的強大功能和靈活性 你原本就知道的語言為何?
如要開始使用 Google Analytics 4 和 BigQuery 評估 Core Web Vitals, 您必須做三件事
- 建立 Google Analytics 4 資源 「BigQuery 專案」。
- 啟用 BigQuery 匯出功能 通用 Analytics 資源設定中,這樣收到的所有資料都會 以自動填入資料。
- 新增 web-vitals JavaScript 新增至網站,以便你評估 Core Web Vitals 指標 將資料傳送至 Google Analytics 4,包括歸因資料。
分析
設定完成後,您應該就會在 BigQuery 中看到填入的事件資料 介面,接著應可查詢如下資料:
SELECT * FROM `my_project_id.analytics_XXXXX.events_*`
WHERE event_name IN ('LCP', 'INP', 'CLS')
以下是該查詢的結果預覽:
查詢 Web Vitals 資料
開始查詢網站體驗指標事件資料前,請務必先 瞭解資料的匯總方式
最重要的是,在某些情況下,系統需要計算多個事件。 可以是 已接收 以便在相同頁面上查看同一指標如果指標值 並回報更新後的值 (發生 CLS 的情況)。
對於 Web Vitals 事件,最後傳送的值一律是最準確的值,因此 執行任何分析前,請務必單獨篩選出這些值。 Web-Vitals JavaScript 程式庫提供的程式碼片段,可傳送資料給 Google Analytics 4 為每個指標傳送專屬 ID,因此您可以使用 後續查詢,將查詢結果限制為僅限每個 指標 ID:
# Subquery all Web Vitals events from the last 28 days
WITH web_vitals_events AS (
SELECT event_name as metric_name, * EXCEPT(event_name, is_last_received_value) FROM (
SELECT *, IF (ROW_NUMBER() OVER (
PARTITION BY (SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'metric_id')
ORDER BY (SELECT COALESCE(value.double_value, value.int_value) FROM UNNEST(event_params) WHERE key = 'metric_value') DESC
) = 1, true, false) AS is_last_received_value
FROM `bigquery_project_id.analytics_XXXXX.events_*`
WHERE event_name in ('CLS', 'INP', 'LCP') AND
_TABLE_SUFFIX BETWEEN FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE, INTERVAL 28 DAY)) AND FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY))
) WHERE is_last_received_value
)
請注意,本文提及的所有其他查詢的開頭都是 子查詢。
查詢範例
以下幾個章節將列舉幾個常見的 Web Vitals 查詢範例 決定要執行的版本
整個網站上的 LCP、INP 和 CLS 比例為 75% (第 75 個百分位數)
# Subquery all Web Vitals events from the last 28 days
WITH web_vitals_events AS (
SELECT event_name as metric_name, * EXCEPT(event_name, is_last_received_value) FROM (
SELECT *, IF (ROW_NUMBER() OVER (
PARTITION BY (SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'metric_id')
ORDER BY (SELECT COALESCE(value.double_value, value.int_value) FROM UNNEST(event_params) WHERE key = 'metric_value') DESC
) = 1, true, false) AS is_last_received_value
FROM `bigquery_project_id.analytics_XXXXX.events_*`
WHERE event_name in ('CLS', 'INP', 'LCP') AND
_TABLE_SUFFIX BETWEEN FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE, INTERVAL 28 DAY)) AND FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY))
) WHERE is_last_received_value
)
# Main query logic
SELECT
metric_name,
APPROX_QUANTILES(metric_value, 100)[OFFSET(75)] AS p75,
COUNT(1) as count
FROM (
SELECT
metric_name,
ROUND((SELECT COALESCE(value.double_value, value.int_value) FROM UNNEST(event_params) WHERE key = "metric_value"), 3) AS metric_value,
FROM web_vitals_events
)
GROUP BY 1
從最高到最低的所有個別 LCP 值
# Subquery all Web Vitals events from the last 28 days
WITH web_vitals_events AS (
SELECT event_name as metric_name, * EXCEPT(event_name, is_last_received_value) FROM (
SELECT *, IF (ROW_NUMBER() OVER (
PARTITION BY (SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'metric_id')
ORDER BY (SELECT COALESCE(value.double_value, value.int_value) FROM UNNEST(event_params) WHERE key = 'metric_value') DESC
) = 1, true, false) AS is_last_received_value
FROM `bigquery_project_id.analytics_XXXXX.events_*`
WHERE event_name in ('CLS', 'INP', 'LCP') AND
_TABLE_SUFFIX BETWEEN FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE, INTERVAL 28 DAY)) AND FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY))
) WHERE is_last_received_value
)
# Main query logic
SELECT
ROUND((SELECT COALESCE(value.double_value, value.int_value) FROM UNNEST(event_params) WHERE key = "metric_value"), 3) AS metric_value,
FROM web_vitals_events
WHERE metric_name = 'LCP'
ORDER BY metric_value DESC
10 個最熱門網頁的 LCP 分數 (第 75 個百分位數)
# Subquery all Web Vitals events from the last 28 days
WITH web_vitals_events AS (
SELECT event_name as metric_name, * EXCEPT(event_name, is_last_received_value) FROM (
SELECT *, IF (ROW_NUMBER() OVER (
PARTITION BY (SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'metric_id')
ORDER BY (SELECT COALESCE(value.double_value, value.int_value) FROM UNNEST(event_params) WHERE key = 'metric_value') DESC
) = 1, true, false) AS is_last_received_value
FROM `bigquery_project_id.analytics_XXXXX.events_*`
WHERE event_name in ('CLS', 'INP', 'LCP') AND
_TABLE_SUFFIX BETWEEN FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE, INTERVAL 28 DAY)) AND FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY))
) WHERE is_last_received_value
)
# Main query logic
SELECT
page_path,
APPROX_QUANTILES(metric_value, 100)[OFFSET(75)] AS LCP,
COUNT(1) as count
FROM (
SELECT
REGEXP_SUBSTR((SELECT value.string_value FROM UNNEST(event_params) WHERE key = "page_location"), r'\.com(\/[^?]*)') AS page_path,
ROUND((SELECT COALESCE(value.double_value, value.int_value) FROM UNNEST(event_params) WHERE key = "metric_value"), 3) AS metric_value,
FROM web_vitals_events
WHERE metric_name = 'LCP'
)
GROUP BY 1
ORDER BY count DESC
LIMIT 10
CLS 最低的 10 個網頁 (第 75 個百分位數)
# Subquery all Web Vitals events from the last 28 days
WITH web_vitals_events AS (
SELECT event_name as metric_name, * EXCEPT(event_name, is_last_received_value) FROM (
SELECT *, IF (ROW_NUMBER() OVER (
PARTITION BY (SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'metric_id')
ORDER BY (SELECT COALESCE(value.double_value, value.int_value) FROM UNNEST(event_params) WHERE key = 'metric_value') DESC
) = 1, true, false) AS is_last_received_value
FROM `bigquery_project_id.analytics_XXXXX.events_*`
WHERE event_name in ('CLS', 'INP', 'LCP') AND
_TABLE_SUFFIX BETWEEN FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE, INTERVAL 28 DAY)) AND FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY))
) WHERE is_last_received_value
)
# Main query logic
SELECT
page_path,
APPROX_QUANTILES(metric_value, 100)[OFFSET(75)] AS CLS,
COUNT(1) as count
FROM (
SELECT
REGEXP_SUBSTR((SELECT value.string_value FROM UNNEST(event_params) WHERE key = "page_location"), r'\.com(\/[^?]*)') AS page_path,
ROUND((SELECT COALESCE(value.double_value, value.int_value) FROM UNNEST(event_params) WHERE key = "metric_value"), 3) AS metric_value,
FROM web_vitals_events
WHERE metric_name = 'CLS'
)
GROUP BY 1
HAVING count > 50 # Limit to relatively popular pages
ORDER BY CLS DESC
LIMIT 10
偵錯
先前的查詢說明如何查詢 Web Vitals 指標資料 瞭解目前成效及長期趨勢但 如果成效比預期還差,您該怎麼做 為什麼?
在無法採取行動的情況下,瞭解自己的「何種」分數對於解決問題沒有幫助 來修正問題
請參閱「偵錯領域中的效能」一文 也可以使用數據分析資料傳送額外偵錯資訊如果發生以下情況: 按照文章中詳述的操作說明,應該會看到偵錯 資訊也會顯示在 BigQuery 中
查詢範例
下列查詢說明如何使用 debug_target
事件參數
找出效能問題的根本原因
影響 CLS 的熱門元素
debug_target
是 CSS 選取器字串,可對應至上面的元素
與指標值最相關的頁面
透過 CLS,debug_target
代表最大的
推動 CLS 值的版面配置發生位移如果沒有任何元素位移,
debug_target
的值會是 null
。
下列查詢會根據 CLS 75 日,列出最差到最佳的網頁
百分位數 (按debug_target
分組):
# Subquery all Web Vitals events from the last 28 days
WITH web_vitals_events AS (
SELECT event_name as metric_name, * EXCEPT(event_name, is_last_received_value) FROM (
SELECT *, IF (ROW_NUMBER() OVER (
PARTITION BY (SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'metric_id')
ORDER BY (SELECT COALESCE(value.double_value, value.int_value) FROM UNNEST(event_params) WHERE key = 'metric_value') DESC
) = 1, true, false) AS is_last_received_value
FROM `bigquery_project_id.analytics_XXXXX.events_*`
WHERE event_name in ('CLS', 'INP', 'LCP') AND
_TABLE_SUFFIX BETWEEN FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE, INTERVAL 28 DAY)) AND FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY))
) WHERE is_last_received_value
)
# Main query logic
SELECT
page_path,
debug_target,
APPROX_QUANTILES(metric_value, 100)[OFFSET(75)] AS CLS,
COUNT(1) as count
FROM (
SELECT
REGEXP_SUBSTR((SELECT value.string_value FROM UNNEST(event_params) WHERE key = "page_location"), r'\.com(\/[^?]*)') AS page_path,
(SELECT value.string_value FROM UNNEST(event_params) WHERE key = "debug_target") as debug_target,
ROUND((SELECT COALESCE(value.double_value, value.int_value) FROM UNNEST(event_params) WHERE key = "metric_value"), 3) AS metric_value,
*
FROM web_vitals_events
WHERE metric_name = 'CLS'
)
GROUP BY 1, 2
HAVING count > 50 # Limit to relatively popular pages
ORDER BY CLS DESC
瞭解哪些元素會在移位時 找出並修正問題的根本原因
請注意,此處報告的元素,可能會 但當您在本機偵錯網頁時,看到的就會發生變化 因為一開始就很重要要修正這類問題 你可能會知道是問題所在!
偵錯其他指標
先前的查詢顯示 CLS 指標的結果,但都完全相同 技巧可用來製作 LCP 和 INP 的偵錯目標報表。只要 將 where 子句替換為相關指標以進行偵錯:
WHERE metric_name = 'INP'
WHERE metric_name = 'LCP'
同樣,您可以參閱「在 欄位,瞭解如何收集並 傳送每個 Core Web Vitals 指標的偵錯資訊。
視覺化
單看查詢結果或許並不容易 。舉例來說,下列查詢會列出每日第 75 個百分位數的值 LCP。
# Subquery all Web Vitals events from the last 28 days
WITH web_vitals_events AS (
SELECT event_name as metric_name, * EXCEPT(event_name, is_last_received_value) FROM (
SELECT *, IF (ROW_NUMBER() OVER (
PARTITION BY (SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'metric_id')
ORDER BY (SELECT COALESCE(value.double_value, value.int_value) FROM UNNEST(event_params) WHERE key = 'metric_value') DESC
) = 1, true, false) AS is_last_received_value
FROM `bigquery_project_id.analytics_XXXXX.events_*`
WHERE event_name in ('CLS', 'INP', 'LCP') AND
_TABLE_SUFFIX BETWEEN FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE, INTERVAL 28 DAY)) AND FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY))
) WHERE is_last_received_value
)
# Main query logic
SELECT
event_date,
metric_name,
APPROX_QUANTILES(ROUND(metric_value, 2), 100)[OFFSET(75)] AS p75
FROM
(
SELECT
event_date,
metric_name,
ROUND((SELECT COALESCE(value.double_value, value.int_value) FROM UNNEST(event_params) WHERE key = 'metric_value'), 3) AS metric_value
FROM web_vitals_events
WHERE
metric_name = 'LCP'
)
GROUP BY
1, 2
ORDER BY event_date
難以從這些查詢結果中找出趨勢或異常值 也就是資料
在這種情況下,以圖表呈現資料有助於更快取得深入分析資訊。
在 Looker Studio 中以圖表呈現查詢結果
BigQuery 可讓您使用資料,以視覺化方式快速呈現任何查詢結果 Looker Studio 是一種資料視覺化呈現方式 和資訊主頁工具如要以圖表呈現查詢結果 在 BigQuery UI 執行查詢後,點選「探索資料」按鈕 選取「使用 Looker Studio 探索」。
這會在探索中建立從 BigQuery 直接連結至 Looker Studio 的連結 檢視畫面。在這個檢視畫面中,你可以選取要視覺化呈現的欄位 圖表類型、設定篩選器,以及建立臨時圖表,以便快速進行視覺化分析。 只要在之前的查詢結果中製作此折線圖,就能掌握 一段時間內的 LCP 值:
透過 BigQuery 和 Looker Studio 的直接連結,你可以快速 任何查詢的圖表,並進行視覺分析。不過,如果您想要 再執行額外分析,建議你查看 互動資訊主頁,取得更全面的資料檢視 轉換為資料有了便利的資訊主頁,就不必撰寫查詢 以及在每次要分析指標時,手動產生圖表
您可以使用原生 BigQuery 在 Looker Studio 中建立資訊主頁 連接器方法如下 前往 datastudio.google.com,建立新檔案 資料來源,選取 BigQuery 連接器,然後選擇要匯入的資料集 合作裝置:
具體化網站體驗指標資料
如上所述建立 Web Vitals 事件資料的資訊主頁時 直接使用 Google Analytics 4 匯出資料集是較有效率的做法。由於 GA4 資料的結構,以及網站體驗指標所需的預先處理功能 某些查詢會造成多次執行這會建立 兩項問題:資訊主頁效能和 BigQuery 費用
您可以使用 BigQuery 沙箱 免費模式BigQuery 的 免費用量方案, 每個月可免費處理 1 TB 的查詢資料。分析方法 但如果使用大型資料集 經常查詢資料集,應該就能 。但如果您的網站人氣較高 您可以使用快速互動的資訊主頁,定期監控不同的指標, 建議預先處理並具體化網站指標資料,同時 BigQuery 的效率提升功能,例如分區、分群和快取。
下列指令碼會預先處理 BigQuery 資料 (來源資料表) 並 建立具體化資料表 (目標資料表)。使用這個查詢建立自己的查詢時 您也可以為來源資料表定義日期範圍 因此能減少處理的資料量
# Materialize Web Vitals metrics from GA4 event export data
# Replace target table name
CREATE OR REPLACE TABLE bigquery_project_id.ga4_demo_dev.web_vitals_summary
PARTITION BY DATE(event_timestamp)
CLUSTER BY metric_name
AS
SELECT
ga_session_id,
IF(
EXISTS(SELECT 1 FROM UNNEST(events) AS e WHERE e.event_name = 'first_visit'),
'New user',
'Returning user') AS user_type,
IF(
(SELECT MAX(session_engaged) FROM UNNEST(events)) > 0, 'Engaged', 'Not engaged')
AS session_engagement,
evt.* EXCEPT (session_engaged, event_name),
event_name AS metric_name,
FORMAT_TIMESTAMP('%Y%m%d', event_timestamp) AS event_date
FROM
(
SELECT
ga_session_id,
ARRAY_AGG(custom_event) AS events
FROM
(
SELECT
ga_session_id,
STRUCT(
country,
device_category,
device_os,
traffic_medium,
traffic_name,
traffic_source,
page_path,
debug_target,
event_timestamp,
event_name,
metric_id,
IF(event_name = 'LCP', metric_value / 1000, metric_value) AS metric_value,
user_pseudo_id,
session_engaged,
session_revenue) AS custom_event
FROM
(
SELECT
(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 = 'metric_id')
AS metric_id,
ANY_VALUE(device.category) AS device_category,
ANY_VALUE(device.operating_system) AS device_os,
ANY_VALUE(traffic_source.medium) AS traffic_medium,
ANY_VALUE(traffic_source.name) AS traffic_name,
ANY_VALUE(traffic_source.source) AS traffic_source,
ANY_VALUE(
REGEXP_SUBSTR(
(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_location'),
r'^[^?]+')) AS page_path,
ANY_VALUE(
(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'debug_target'))
AS debug_target,
ANY_VALUE(user_pseudo_id) AS user_pseudo_id,
ANY_VALUE(geo.country) AS country,
ANY_VALUE(event_name) AS event_name,
SUM(ecommerce.purchase_revenue) AS session_revenue,
MAX(
(
SELECT
COALESCE(
value.double_value, value.int_value, CAST(value.string_value AS NUMERIC))
FROM UNNEST(event_params)
WHERE key = 'session_engaged'
)) AS session_engaged,
TIMESTAMP_MICROS(MAX(event_timestamp)) AS event_timestamp,
MAX(
(
SELECT COALESCE(value.double_value, value.int_value)
FROM UNNEST(event_params)
WHERE key = 'metric_value'
)) AS metric_value,
FROM
# Replace source table name
`bigquery_project_id.analytics_XXXXX.events_*`
WHERE
event_name IN ('LCP', 'INP', 'CLS', 'first_visit', 'purchase')
GROUP BY
1, 2
)
)
WHERE
ga_session_id IS NOT NULL
GROUP BY ga_session_id
)
CROSS JOIN UNNEST(events) AS evt
WHERE evt.event_name NOT IN ('first_visit', 'purchase');
這個具體化資料集有幾項優點:
- 資料結構可以整併且更容易查詢。
- 只會保留原始 GA4 資料集的 Web Vitals 事件。
- 工作階段 ID、使用者類型 (新訪客與回訪者) 和工作階段參與度資訊 均可直接顯示在資料欄中。
- 資料表是 分區 日期和分群法 依指標名稱排序這樣通常會降低 。
- 由於您不需要使用萬用字元查詢這個資料表,查詢結果可以 快取資料最多需要 24 小時以減少重複執行的成本 。
- 如果您使用 BigQuery BI 引擎,可以執行最佳化的 SQL 函式並 運算子 表格。
您可以直接在 BigQuery UI 中查詢這個具體化資料表,或是直接使用 在 Looker Studio 中使用 BigQuery 連接器。
使用 Web Vitals 連接器
由於從零開始製作資訊主頁相當耗時,因此我們開發了套件 建立範本資訊主頁的解決方案首先,請確認您 使用先前的查詢將 Web Vitals 資料表具體化。接著存取 使用這個連結,即可連結 Looker Studio 的 Web Vitals 連接器: goo.gle/web-vitals-connector
提供一次性授權後,畫面會顯示以下內容 設定畫面:
提供具體化 BigQuery 資料表 ID (例如目標資料表) 和 BigQuery 帳單專案 ID。點選「連結」後,Looker Studio 就會建立 新的範本資訊主頁,然後將您的資料與資料集建立關聯。您可以編輯、修改 並視需要分享資訊主頁建立資訊主頁一次後 您必須再次前往連接器連結,除非您建立多個 產生來自不同資料集的資訊主頁
瀏覽資訊主頁
瀏覽資訊主頁時,您可以查看網站體驗指標的每日趨勢 以及網站的部分使用情況資訊,例如使用者和工作階段 「摘要」分頁標籤。
在「使用者分析」分頁中,您可以選取指標,然後查看下列指標的細目資料: 指標百分位數,以及不同用量和業務的使用者人數 指標。
使用「網頁路徑分析」分頁,您就能找出網站上的問題所在 網站。您可以在這裡挑選指標以查看總覽。不過您也會看到 所有包含百分位數值且記錄值的散佈圖 就能建立 10 億個字元散佈圖有助於找出哪些網頁 比預期指標值低使用散佈圖選取頁面後 「網頁路徑」表格的圖表,您可以按 查看「Debug Target」資料表。
「收益分析」分頁會示範如何監控業務 和成效指標這個部分會列出 使用者購買產品可以比較收益與使用者體驗 查看特定工作階段的期間
進階用法
熟悉資料集後,您可以編輯資訊主頁, 圖表,取得更豐富多元且目標明確的分析結果。讓資訊主頁更豐富 建議您採取下列步驟:
- 如要取得更新後的資料,請在 BigQuery 中設定查詢排程。具體化 我們先前執行的查詢,只會擷取目前資料的快照。如果發生以下情況: 如要持續更新資訊主頁以取得新資料,那麼你可以執行排定時間 每天執行的查詢,並在資料表中加入新的具體化資料表 資料。
- 彙整第一方資料 (例如客戶關係管理) 來取得業務洞察資料。在具體化的
資料表,您可以將
user_id
新增為獨立的資料欄。這麼做便能加入 第一方資料如果 BigQuery 中沒有第一方資料 載入資料或 使用聯合資料 來源。 - 在傳送給 Google 的資料中回報網站或應用程式版本 Analytics 並將其新增為具體化表格的資料欄。之後您就能新增 版本資料做為圖表維度 版本變更會影響效能。
- 如果您預期透過直接途徑使用資料集會大幅增加用量 查詢或資訊主頁,建議您使用付費版 BigQuery BI 解決方案 Engine。
摘要
本文將介紹如何運用 Google Analytics 4 和 BigQuery, 系統會運用在領域中收集的實際使用者資料,評估成效並進行偵錯。這項服務 這也說明瞭如何使用 Looker Studio 建立自動報表和資訊主頁 使用 Web Vitals 連接器 盡量以圖表呈現資料
本文重點整理:
- 運用實際使用者資料評估成效至關重要 偵錯以及最佳化網站
- 可在成效指標和業務成長時,取得更深入的洞察資料 都位於同一個系統中Google Analytics 和 BigQuery
- 您可以透過 BigQuery Export 將原始 Google Analytics 資料匯出到 透過您熟悉的查詢語言,進行深入的自訂分析。
- Google 提供多種 API 和視覺化工具,如 Looker Studio 您可以視需要自由製作報表 。