將 Google 發布商廣告代碼 (GPT) 程式庫整合至網站,與整合任何其他第三方程式碼的方式大致相同。不過,使用 GPT 時有幾個獨特考量,請務必留意,確保您能充分運用廣告空間,同時盡量減少對網站效能的影響。畢竟廣告速度很重要。
以下各節將說明整合時的最佳做法。
從官方來源載入 GPT
為確保您能使用最新功能和隱私權防護措施,請務必透過下表列出的網址,向官方來源索取 GPT 程式庫。使用的網址取決於您是否打算手動啟用受限制的廣告 (LTD) 模式。
| 整合類型 | 指令碼標記 |
|---|---|
| 標準 包括整合歐洲 IAB 資訊公開和同意聲明架構的發布商。 |
<script src="https://securepubads.g.doubleclick.net/tag/js/gpt.js" crossorigin="anonymous" async></script> |
| 手動啟用受限制的廣告 如要手動啟用受限制的廣告 (LTD)。 |
<script src="https://pagead2.googlesyndication.com/tag/js/gpt.js" async></script> |
受限制的廣告 (LTD) 模式可讓 GPT 放送廣告,但不會存取用戶端儲存空間 (例如 Cookie 或本機 ID)。您可以透過下列其中一種方式啟用受限制的廣告:
標準 (自動):同意聲明管理供應商 (CMP) 會通知 GPT 使用者尚未同意存取儲存空間,通常是透過 IAB TCF 第 2.0 版信號。如果您使用 Google 認證的 CMP 管理使用者同意聲明,GPT 會根據使用者的偏好設定,自動進入受限制的廣告模式。
- 網址:從標準網址 (doubleclick.net) 載入 GPT。
- 無須手動採取行動:使用 CMP 時,不必手動呼叫
setPrivacySettings({limitedAds: true}),因為程式庫會自動處理信號。
手動:明確呼叫 GPT API,要求放送受限制的廣告。
- 網址:如果您打算使用
googletag.pubads().setPrivacySettings({limitedAds: true})API 手動啟用受限制的廣告,必須從受限制的廣告網址載入 GPTgooglesyndication.com。 - 原因:從
googlesyndication.com網域載入 GPT 時,系統預設會提供額外防護措施,防止存取用戶端儲存空間。 - 設定錯誤的後果:如果 GPT 是從標準網址載入,且手動呼叫 API,系統會忽略啟用受限制廣告的要求,並在發布商控制台中記錄警告。
- 網址:如果您打算使用
不要放送 GPT 的快取版本
請勿從自己的伺服器提供 gpt.js、pubads_impl.js 或任何載入的程式庫,或從非官方來源載入。
儲存於本機中的 GPT 程式庫版本,有可能無法在較新版本的瀏覽器或作業系統中正常運作,而且可能無法進行更新並獲得新功能和改善項目。舊版的 GPT 程式庫隨時都可能停止運作,如果您的廣告代碼無法再接收廣告,有可能會導致損失廣告收益。
這也適用於服務工作人員。如果您使用 Service Worker 快取或修改來自網站的 HTTP 要求回應,請在處理 gpt.js 的要求時使用僅限網路策略,以便擷取最新版本。
提早載入 GPT
GPT 程式庫 (gpt.js) 僅包含載入廣告所需的一小部分程式碼。大部分程式碼都包含在個別檔案 (例如 pubads_impl_XX.js) 中,並由 gpt.js 視需要載入。
提早載入核心 GPT 程式庫,這些相依指令碼也能提早載入。這樣可避免因擷取這些指令碼 (如果未快取) 而產生額外延遲,並加快廣告載入速度。上述做法都有助於降低顯示第一個廣告所需的時間指標,進而提高廣告可視度。
視情況使用預先載入
有時您可能無法直接控制 GPT 的載入時間或方式。舉例來說,使用第三方廣告指令碼代表您載入 GPT 時,在這種情況下,預先載入 gpt.js 的要求可能較為合適。預先載入要求會指示瀏覽器立即下載指定資產,這類資產對網頁載入作業至關重要。如果指定的資產是 JavaScript 檔案,系統會立即擷取指令碼內容,但會延後執行,直到需要指令碼時才執行。
標準整合的預先載入要求範例
<link rel="preload" href="https://securepubads.g.doubleclick.net/tag/js/gpt.js" as="script">
受限制的廣告整合預先載入請求範例
<link rel="preload" href="https://pagead2.googlesyndication.com/tag/js/gpt.js" as="script">
在預先轉譯的網頁上使用 GPT
預先算繪會指示瀏覽器預先下載並算繪使用者尚未要求,但可能造訪的網頁。在預先算繪的網頁上載入時,GPT 程式庫只會在網頁顯示時請求廣告。
靜態載入 GPT
請勿動態將 GPT 程式庫插入網頁,或從外部指令碼載入。請改為在網頁的 <head> 中靜態載入程式庫,如「開始使用 Google 發布商廣告代碼」一文所示。這樣一來,其他資源就不會延遲擷取及載入 GPT 程式庫,進而導致廣告延遲載入。
詳情請參閱「針對 Lighthouse 的發布商廣告稽核」靜態載入廣告指令碼稽核說明文件。
以非同步方式載入 GPT
在 <script> 標記中加入 async 關鍵字,如「開始使用 Google 發布商廣告代碼」一文所示。這會指示瀏覽器與其他資源和網頁內容平行載入 GPT 程式庫,而不是等到指令碼載入完成後才執行。
詳情請參閱「針對 Lighthouse 的發布商廣告稽核」非同步載入廣告代碼稽核說明文件。
安全載入 GPT
請一律透過 HTTPS 載入 GPT 程式庫,如「開始使用 Google 發布商廣告代碼」一文所示。這不僅可為使用者提供更完善的安全性,也能提升效能。由於 GPT 發出的廣告請求一律使用 HTTPS,透過 HTTPS 載入程式庫,可確保瀏覽器只需針對所有廣告放送相關請求開啟 1 個連線。
詳情請參閱「針對 Lighthouse 的發布商廣告稽核」說明文件中的「透過 HTTPS 載入廣告代碼」和「從建議主機載入 GPT」稽核。
提供良好的網頁效能
本指南的最佳做法主要著重於最佳化 GPT 整合,但許多其他因素也會影響網頁的整體成效。變更網站時 (尤其是根據廣泛建議進行變更,例如本指南中的建議),請務必評估這些變更對網頁各方面成效的影響。建議您定期執行 Lighthouse 和 Publisher Ads Audits for Lighthouse 等工具,找出並解決效能問題,同時為網站找出適當的優化平衡點。