透過 GPT 設定指定目標及大小

用 GPT 來指定廣告單元

您可以針對每個廣告版位分別指定一個廣告單元,指定到某一個廣告單元 (或某廣告單元所屬刊登位置) 的委刊項便可放送至相應的廣告代碼。

想進一步瞭解 Ad Manager 廣告空間結構、廣告單元階層,以及廣告單元如何沿用指定目標設定,請參閱廣告空間總覽

用 GPT 來指定廣告大小

您必須在廣告代碼中指定每個廣告版位可放送的廣告素材大小。對於單一大小的廣告版位,您也可以選擇定義顯示廣告素材的 <div> 元素大小;這樣一來,如果廣告素材為非同步顯示,在該 <div> 元素之後的元素載入時,網頁上的其他元素就不致於變換位置。在同步模式下,如果您沒有在 <div> 標記中指定大小,廣告版位就會根據廣告素材的大小自動縮放,網頁版面也會為了挪出空間而改變。

請在 googletag.defineSlot() 函式中指定廣告素材大小。如要允許在廣告版位中放送多種大小的廣告素材,您可使用以逗號分隔的清單,相關示例請見這個網頁。可加入的大小數量沒有限制,但請求網址設有字元上限。瞭解詳情

用 GPT 來指定鍵/值

鍵/值可讓您在指定廣告時,設定比廣告單元更精細的條件。進一步瞭解鍵/值

請謹慎使用指定鍵/值。根據您的合約條款規定,您不得將任何可視為或用做個人識別資訊的資料傳送給 Ad Manager。

您可在每個廣告呼叫中運用 setTargeting() 函式傳送一或多個鍵,每個鍵附帶一或多個值。在每次呼叫廣告時,您可以根據聯播網的需求,使用版位層級或網頁層級的自訂指定參數,如下所示:

  • 版位層級自訂指定目標:您可以為網頁上的個別廣告版位設定鍵/值屬性。請使用 .setTargeting 來設定版位層級指定目標,如 Google 發佈商廣告代碼範例中所示。

    我們一般建議您在版位層級自訂指定目標,這樣就能涵蓋所有指定目標情況 (無論是整個網頁的鍵/值都相同,還是鍵/值因個別版位而異)。

  • 網頁層級自訂指定:您可以使用這個選項來設定網頁上所有廣告版位的自訂屬性。請使用 googletag.pubads().setTargeting 來設定網頁層級指定目標,如 Google 發佈商廣告代碼範例中所示。

    使用網頁層級指定功能時,客戶不需要在廣告代碼中加入太多程式碼,且能確保所有廣告版位都使用同一組鍵/值屬性。舉例來說,客戶可以在所有使用網頁層級自訂指定的廣告版面上,設定鍵/值組 gender=m

只要傳送鍵/值至廣告代碼中,指定該鍵/值組合的委刊項就能將廣告放送至相應廣告代碼。舉例來說,假設您將自訂鍵/值 gender = male (寫成 .setTargeting('gender', 'male');) 傳送到某個廣告代碼中,指定 gender = male 的委刊項即符合放送廣告的資格 (假定所有其他條件都相符)。

用一個鍵指定多個屬性或值

您可以按照下列指示或參考完整的 Google 發佈商廣告代碼範例,使用一個鍵來指定多個屬性或將多個指定值與一個鍵建立關聯。

在版位層級或網頁層級指定鍵/值

若要定義多個鍵/值屬性,可以多次呼叫 setTargeting

     .setTargeting("gender", "male")

     .setTargeting("age", "20-30");

若要將多個值與一個鍵建立關聯,請使用下列格式:

     ("key", ["value1", "value2", "value3"])

請注意,如果是使用網頁層級鍵/值來設定鍵/值,所有的廣告版位都會沿用這個鍵/值。

GPT 廣告代碼鍵/值相關規則和限制

在 GPT 廣告代碼中插入鍵/值時,請注意下列規範:

  • 鍵的開頭不得為數字。

  • 鍵/值的值不得包含空格或下列任一特殊字元:" ' , = ! + # * ~ ; ^ ( ) < > [ ]

  • 鍵/值的值不得包含下列任一特殊字元:" ' , = ! + # * ~ ; ^ ( ) < > [ ] 

  • 鍵/值可包含空格,例如:.setTargeting('region',['middle east','southeast asia']);

  • 可加入的鍵/值數量沒有限制,但根據代碼類型,請求網址設有字元上限。瞭解詳情

字元可能不安全的原因有幾個,部分原因如下所述:

  • 字元 ? : @ 在 HTTP 網址中具有特殊用途,如果加入鍵/值中,就會破壞廣告請求。

  • 字元 ; / 和 & 在 Ad Manager 廣告代碼中已保留用來代表特殊意義,且只能用於這些用途。

  • 引號 (") 用於分隔網址。

  • 字元 # 用於分隔網址與後方可能出現的片段/錨定識別碼。

  • 字元 % 用於其他字元的編碼。

  • { } | ^ ~ [ ] 和 \ 等其他字元之所以不安全,是因為當它們透過網路在網址中傳送時,有時會被閘道和其他傳輸代理程式所修改。

  • 鍵/值的值不得空白 (例如:cat= 或 cat=" " 或 cat=' ')。不過,如果是刻意將值留白的情況,請以 null 或其他代表空白的值填入該值 (例如:cat=null)。

  • 鍵/值不需區分大小寫:字詞以大寫或小寫輸入並無差別。

查看 GPT 廣告代碼傳送鍵/值的範例
<head>

 <script type="text/javascript">
   var googletag = googletag || {};
   googletag.cmd = googletag.cmd || [];
   (function() {
     var gads = document.createElement("script");
     gads.async = true;
     gads.type = "text/javascript";
     var useSSL = "https:" == document.location.protocol;
     gads.src = (useSSL ? "https:" : "http:") + "//www.googletagservices.com/tag/js/gpt.js";
     var node =document.getElementsByTagName("script")[0];
     node.parentNode.insertBefore(gads, node);
    })();
</script>

 <script type="text/javascript">
   googletag.cmd.push(function() {
     var adSlot1 = googletag.defineSlot('/6355419/Travel/Europe/France/Paris',[300, 250], "banner1"); // adds the first slot with it's own slot level key-values

     adSlot1.addService(googletag.pubads());
     adSlot1.setTargeting("pos", ["atf"]);

   var adSlot2 = googletag.defineSlot('/6355419/Travel/Europe/France/Paris',[300, 250], "banner2"); // adds a second slot with it's own slot level key-values

   adSlot2.addService(googletag.pubads());
   adSlot2.setTargeting("position", ["bottom"]);

   googletag.pubads().setTargeting("articletopic","basketball"); // adds key-values that applies to the entire page - i.e. all the slots on the page.

     googletag.enableServices();
   });
 </script>
</head>

版位定義和選擇廣告的順序

當您在指定具有多個廣告版位的頁面時,順序是重要的考量項目。*

如果網頁使用具備多種廣告版位大小的 GPT,則標題中的版位定義應依照 Ad Manager 選擇廣告的順序宣告。

定義廣告版位以建立選擇廣告的順序

假設上述委刊項的廣告素材放送設定為 [所有]、使用 GPT 指定目標網頁,並以下列順序宣告廣告版位:

googletag.defineSlot("/1234567/travel", [[300, 600], [300, 250]], "div-gpt-ad-1");
googletag.defineSlot("/1234567/travel", [300, 250], "div-gpt-ad-2");
googletag.defineSlot("/1234567/travel", [728, 90], "div-gpt-ad-3");

依據這項定義,版位設定如下:

版位 1:[[300, 600], [300, 250]]

版位 2:[300, 250]

版位 3:[728, 90]

收到廣告請求時,Ad Manager 會試著依照 GPT 所列的順序,將廣告素材和廣告版位進行比對。Ad Manager 會將 300x250 的廣告素材分派給廣告版位 1,因為這是委刊項當中第一個符合條件的廣告素材。接下來,Ad Manager 會尋找適合廣告版位 2 的廣告素材,但是一無所獲,因為 300x250 像素的廣告素材已有其他版位在使用。受到依序選擇廣告邏輯的影響,當 Ad Manager 認定無法放送委刊項中所有的廣告素材時,就完全不會放送任何廣告素材。

為確保網頁順利放送廣告,您必須依照下列方式宣告廣告版位:

googletag.defineSlot("/1234567/travel", [300, 250], "div-gpt-ad-2");
googletag.defineSlot("/1234567/travel", [[300, 600], [300, 250]], "div-gpt-ad-1");
googletag.defineSlot("/1234567/travel", [728, 90], "div-gpt-ad-3");

*順序設定會套用到所有使用 GPT 的部分,而且這項設定不會受到委刊項類型或優先級影響。

定義 <div> 大小以防止元素在顯示廣告素材時變換位置

如要定義大小,請運用要容納該廣告的 <div> 元素中的「style」屬性加以定義。相關示例請見這個網頁

這個屬性最好只用於單一大小的廣告請求。如果您建立的是多重大小的廣告請求,就應該將高度和寬度分別設為廣告素材的高度和寬度上限,以免廣告素材遭到不當裁切。

定義非頁內廣告版位

如要指定非頁內廣告版位,請勾選「產生廣告代碼」視窗中的 [非頁內廣告] 核取方塊。

這對您有幫助嗎?
我們應如何改進呢?