將效能列為優先考量因素,不僅對使用者有益,也有利於業務。雖然這個系列的最佳做法主要著重於改善 Google 發布商廣告代碼 (GPT) 整合,但許多其他因素也會影響特定網頁的整體成效。每當您推出變更時,請務必評估這些變更對網站各方面成效的影響。
評估網頁效能
如要瞭解變更對網站成效的影響,您必須先建立基準,以便進行比較。最佳做法是建立成效預算,定義網站目前可能或未達到的概念基準。不過,如果您想維持固定的成效水準,可以使用網站目前的成效指標做為基準。
如要開始評估成效,建議您同時採用下列方法:
- 綜合監控
- 您可以使用 Lighthouse 和 Lighthouse 發布商廣告稽核 等工具,在實驗室環境中評估網頁效能。這類評估方式不需要使用者互動,因此非常適合用於自動化測試,而且可在變更發布給使用者前,先驗證變更的成效。
- 真實使用者監控 (RUM)
- 您可以使用 Google Analytics 和 PageSpeed Insights 等工具,直接向使用者收集實際效能資料。這類評估方式以使用者互動為依據,因此很適合用來找出綜合測試無法輕易發現的最後一哩效能問題。
請務必定期進行測量,並與基準值進行比較。這有助於您瞭解網站成效是否在一段時間內朝著正確方向發展。
選擇要評估的項目
在成效方面,沒有任何單一指標可以提供網站成效的所有相關資訊。您必須查看涵蓋網頁成效各個面向的各種指標,才能掌握完整情況。下表列出一些主要成效領域和建議的指標。
表演區 | |
---|---|
感知的載入速度 |
成效評估
網頁載入及轉譯所有 UI 元素的速度。 建議的指標 |
網頁載入回應速度 |
成效評估
網頁在初次載入後,回應速度有多快。 建議的指標 |
視覺穩定性 |
成效評估
UI 元素的位移程度,以及這些位移是否會干擾使用者互動。詳情請參閱「減少版面配置位移」。 建議的指標 |
除了網頁成效之外,您可能也想評估廣告專屬的業務指標。您可以透過 Google Ad Manager 報表取得曝光次數、點擊次數和可視度等資訊。
測試變更
定義成效指標並開始定期評估後,您就可以開始使用這些資料,評估網站變更對成效的影響。方法是比較變更後和變更前的評估指標 (和/或先前建立的基準)。這類測試可讓您在成效問題對貴商家或使用者造成重大影響前,偵測並解決這些問題。
自動化測試
您可以透過綜合測試,評估不依賴使用者互動的指標。在開發過程中,應盡可能頻繁執行這類測試,以瞭解未發布的變更內容對效能造成的影響。這類主動測試可在變更發布給使用者前,協助您找出效能問題。
達成這項目標的方法之一,是將綜合測試納入持續整合 (CI) 工作流程中,這樣一來,只要有任何變更,系統就會自動執行測試。您可以使用 Lighthouse CI,將模擬效能測試整合至許多 CI 工作流程:
A/B 測試
您必須實際向使用者發布變更,才能全面測試依賴使用者互動的指標。如果您不確定變更內容的運作方式,這可能會帶來風險。A/B 版本測試是降低風險的一種方法。
在 A/B 測試期間,系統會隨機向使用者提供不同版本的網頁。您可以使用這項技巧,為整體流量的一小部分提供經過修改的網頁,而大部分流量則繼續提供未經修改的網頁。接著,您可以結合 RUM,評估兩個群組的相對成效,進而判斷哪一組成效較佳,而不必冒著 100% 流量受影響的風險。
A/B 版本測試的另一個好處是,可讓您更準確地評估變更的影響。對於許多網站而言,要判斷成效出現小幅差異的原因,是因為最近的變更,還是流量出現正常變化,可能很難判斷。由於 A/B 測試的實驗組代表整體流量的固定百分比,因此指標應與控制組的差異為常數。因此,這兩組之間的差異更有可能是因為測試的變化而產生。
Optimizely 和 Google 最佳化工具 等工具可協助您設定及執行 A/B 版本測試。不過,請注意,以標記為基礎的 A/B 版本測試 (這些工具的預設設定) 本身可能會對成效造成負面影響,並提供誤導性的結果。因此,我們強烈建議您採用伺服器端整合方式:
A/B 測試結果
如要透過 A/B 測試評估變更的影響,您必須從控制組和實驗組收集指標,並進行比較。為此,您需要能夠判斷哪些流量屬於哪個群組。
針對網頁成效指標,只要在每個網頁上加入簡單的 ID,指出是否已放送控制組或實驗組,通常就足夠了。這個 ID 可以是任何您想要的值,只要您能夠剖析並將指標與之關聯即可。如果您使用預先建構的測試架構,系統通常會自動處理這項作業。
針對廣告專屬的業務指標,您可以使用 GPT 的鍵值指定功能,將廣告請求區分為控制組和實驗組:
// On control group (A) pages, set page-level targeting to:
googletag.pubads().setTargeting('your-test-id', 'a');
// On experimental group (B) pages, set page-level targeting to:
googletag.pubads().setTargeting('your-test-id', 'b');
執行 Google Ad Manager 報表時,您可以參考這些鍵/值,依群組篩選結果。