將 Google 發布商廣告代碼 (GPT) 程式庫整合至網站,並熟悉一般最佳做法後,您就可以開始發出廣告請求。以下將說明設定廣告插槽時應留意的其他最佳做法,讓您在盡量利用廣告空間的同時,盡量減少對成效的影響。
優先顯示「重要」廣告版位
並非所有廣告版位都相同。舉例來說,從可視度和營利的角度來看,在網頁載入後立即顯示的版位 (位於不需捲動位置) 通常比需要捲動畫面才能看到的版位 (位於捲動畫面下方) 更「重要」。因此,請務必仔細考量網頁上每個廣告版位的相對重要性,並盡可能優先載入最重要的版位。
提早載入不需捲動位置的廣告
網頁載入後立即顯示的廣告應獲得最高優先順序。建議您在文件的 <head>
中定義這些時段,並盡可能在網頁載入過程的早期要求這些時段。這有助於確保這些廣告提早載入 (盡量提高可視度),且不會不必要地拖慢初始網頁載入作業。
延遲載入位於需捲動位置的廣告
如果廣告需要捲動至可視區域,請延遲擷取和轉譯作業,直到廣告插槽即將進入可視區域為止。這項程序稱為延遲載入。延遲載入會針對最有可能被觀看的版位,分別優先要求及顯示廣告素材內容。這有助於節省瀏覽器的有限資源,進而提升網頁載入效能,這在頻寬和 CPU 經常受到嚴重限制的行動環境中尤其重要。
不重新整理網頁即可更新廣告
在許多情況下,更換版位目前的廣告內容是最佳做法,甚至是必要之舉。在這種情況下,建議您使用 GPT 程式庫的重新整理功能,以動態方式執行這項操作。這樣可避免整個網頁重新整理,並讓您精確控制更新單一或多個時段的條件。
更新廣告插槽時,請務必熟悉並遵守 refresh()
最佳做法。不當重新整理廣告可能會導致成效問題,並對可見度率造成負面影響。
有效指定廣告目標
設定鍵/值指定目標時,請仔細考慮是否要使用版位或網頁層級指定目標。對於多個版位之間共用的鍵/值,透過 PubAdsService setTargeting()
方法使用網頁層級指定目標是最有效的方式。廣告版位層級指定目標應僅用於登錄不同或未包含在所有廣告版位的鍵/值。
請注意,您可以同時使用版位和網頁層級指定目標,如指定目標範例所示。強烈建議您先在網頁層級設定指定目標,然後只在必要時套用版位層級覆寫值。這種做法不僅可有效運用 GPT API,還能簡化程式碼,並協助維持網頁上所有指定目標的明確心智模型。
正確使用單一請求架構
單一請求架構 (SRA) 是一種 GPT 請求模式,可將多個廣告版位的請求合併為單一廣告請求。這麼做可確保系統會遵循您為網頁設定的競爭排除項目和路障。因此,如果您的網頁使用這些元素,建議您啟用 SRA,並瞭解如何正確使用。
在預設設定中,SRA 會在您首次呼叫 display()
(如果初始載入功能已停用,則為 refresh()
) 時,要求網頁上定義的所有廣告版位。因此,建議您在首次呼叫 display()
之前,先在文件的 <head>
中定義網頁的所有廣告版位。您可以搭配使用延遲載入和這個方法,確保折疊下方的插槽不會立即載入。
使用單一請求架構時,請務必先完整設定所有廣告版位 (例如設定指定目標、類別排除條件等),再第一次呼叫 display()
。只有在此之前設定的值會納入初始 SRA 要求。
不正確:單一請求架構請求中未包含廣告版位設定
<html>
<head>
<meta charset="utf-8">
<title>Single Request Architecture Example</title>
<script src="https://securepubads.g.doubleclick.net/tag/js/gpt.js" crossorigin="anonymous" async></script>
<script>
window.googletag = window.googletag || {cmd: []};
var adSlot1, adSlot2;
googletag.cmd.push(function() {
// Define ad slot 1.
adSlot1 = googletag
.defineSlot('/6355419/Travel/Europe/France',[728, 90], 'banner-ad-1')
.addService(googletag.pubads());
// Define ad slot 2.
adSlot2 = googletag
.defineSlot('/6355419/Travel/Europe/France',[728, 90], 'banner-ad-2')
.addService(googletag.pubads());
// Enable SRA and services.
googletag.pubads().enableSingleRequest();
googletag.enableServices();
});
</script>
</head>
<body>
<div id="banner-ad-1" style="width: 728px; height: 90px;">
<script>
googletag.cmd.push(function() {
// This call to display requests both ad slots.
googletag.display(adSlot1);
});
</script>
</div>
<div id="banner-ad-2" style="width: 728px; height: 90px;">
<script>
googletag.cmd.push(function() {
// This call to display has no effect, since both ad slots have already
// been fetched by the previous call to display.
// Targeting configuration for ad slot 2 is ignored.
adSlot2.setTargeting('test', 'privacy');
googletag.display(adSlot2);
});
</script>
</div>
</body>
</html>
正確:單一請求架構請求中包含廣告版位設定
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Single Request Architecture Example</title>
<script src="https://securepubads.g.doubleclick.net/tag/js/gpt.js" crossorigin="anonymous" async></script>
<script>
window.googletag = window.googletag || {cmd: []};
var adSlot1, adSlot2;
googletag.cmd.push(function() {
// Define ad slot 1.
adSlot1 = googletag
.defineSlot('/6355419/Travel/Europe/France',[728, 90], 'banner-ad-1')
.addService(googletag.pubads());
// Define and configure ad slot 2.
adSlot2 = googletag
.defineSlot('/6355419/Travel/Europe/France',[728, 90], 'banner-ad-2')
.setTargeting('test', 'privacy')
.addService(googletag.pubads());
// Enable SRA and services.
googletag.pubads().enableSingleRequest();
googletag.enableServices();
});
</script>
</head>
<body>
<div id="banner-ad-1" style="width: 728px; height: 90px;"></div>
<div id="banner-ad-2" style="width: 728px; height: 90px;"></div>
<script>
googletag.cmd.push(function() {
// This call to display requests both ad slots with all
// configured targeting.
googletag.display(adSlot1);
});
</script>
</body>
</html>
將廣告大小最佳化
定義廣告版位時,請考量可放送的最大廣告尺寸,以及可輕鬆放入相同空間的較小尺寸。一般來說,定義廣告版位時指定的大小越多,可放送的廣告就越多。這麼做可以提高供應率,進而增加收益。