鍵/值可用來指定廣告目標,比廣告單元更精細。進一步瞭解鍵/值。
您可以針對每個廣告請求傳遞一或多個鍵,每個鍵都有一或多個相關聯的值。我們會根據鍵在 Ad Manager 委刊項層級所設定的指定目標選項,評估這些鍵/值。舉例來說,如果您傳送自訂鍵/值 age=18-34
,凡是指定年齡層 18-34 的委刊項均可放送 (前提是符合所有其他條件)。
設定指定目標
您可以根據聯播網的需求,在版位層級和網頁層級指定鍵/值設定指定目標。
- 版位層級
可讓您為網頁上的個別廣告版位設定鍵/值。
版位層級指定目標可讓您設定每個版位的指定目標。 如果同一個頁面中的個別廣告版位需要不同的指定目標,這項功能就非常實用,但如果是將相同的鍵/值套用至所有運算單元,則可能效率較低。使用 Slot.setSpec() 以使用版位層級指定目標,如以下範例所示。
- 網頁層級
可讓您為網頁上的所有廣告版位設定鍵/值。
網頁層級指定目標可確保所有廣告版位都擁有同一組鍵/值。在某些情況下,這可能會減少設定指定目標所需的程式碼總數。使用 googletag.pubads().setSpec() 以使用網頁層級指定目標,如以下範例所示。
<head> <script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script> <script> window.googletag = window.googletag || {cmd: []}; // GPT slots var adSlots = []; googletag.cmd.push(function() { // Configure slot-level targeting. adSlots[0] = googletag .defineSlot('/6355419/Travel/Asia', [728, 90], 'banner-ad-1') .addService(googletag.pubads()) .setTargeting('color', 'red') .setTargeting('position', 'atf'); adSlots[1] = googletag .defineSlot('/6355419/Travel/Asia', [728, 90], 'banner-ad-2') .addService(googletag.pubads()) .setTargeting('position', 'btf'); // Configure page-level targeting. googletag.pubads().setTargeting('interests', 'basketball'); // Enable SRA and services. googletag.pubads().enableSingleRequest(); googletag.enableServices(); }); </script> </head>
在這個範例中,定義了兩個廣告版位,分別指定廣告單元 /6355419/Travel/Asia
和廣告大小 728x90
。然後套用鍵/值指定目標,進一步限制並區分每個版位中可放送的廣告。
同時使用版位層級和網頁層級指定目標時,系統會合併鍵/值 只有符合所有條件的廣告才能在特定版位中放送。 在這個範例中,每個廣告版位的有效標記如下:
廣告版位 | 有效指定目標 |
---|---|
1 | color=red AND position=atf AND interests=basketball |
2 | position=btf AND interests=basketball |
指定多個鍵或值
在上述範例中,我們採用版位層級和網頁層級指定組合,為單一廣告版位定義多個指定鍵。以下提供幾種達成相同有效目標的替代方法:
僅版位層級指定目標
在此範例中,每個廣告版位都會重複共用鍵/值。
// Slot-level targeting with multiple keys.
adSlots[0] = googletag
.defineSlot('/6355419/Travel/Asia', [728, 90], 'banner-ad-1')
.addService(googletag.pubads())
.setTargeting('color', 'red')
.setTargeting('position', 'atf')
.setTargeting('interests', 'basketball');
adSlots[1] = googletag
.defineSlot('/6355419/Travel/Asia', [728, 90], 'banner-ad-2')
.addService(googletag.pubads())
.setTargeting('position', 'btf')
.setTargeting('interests', 'basketball');
網頁層級預設指定目標
在這個範例中,預設指定目標是在網頁層級設定,並視需要在版位層級覆寫。
// Page-level default targeting.
googletag.pubads().setTargeting('interests', 'basketball')
.setTargeting('position', 'btf');
// Slot-level targeting overrides.
adSlots[0] = googletag
.defineSlot('/6355419/Travel/Asia', [728, 90], 'banner-ad-1')
.addService(googletag.pubads())
.setTargeting('color', 'red')
.setTargeting('position', 'atf');
adSlots[1] = googletag
.defineSlot('/6355419/Travel/Asia', [728, 90], 'banner-ad-2')
.addService(googletag.pubads());
您也可以在呼叫 setTargeting()
時提供陣列的陣列,為單一鍵指定多個值:
// Page-level targeting with multiple values for a single key.
googletag.pubads().setTargeting('interests', ['baseball', 'basketball']);
清除指定目標
設定指定目標後,在廣告版位效期內,每個廣告請求都會傳送已設定的鍵/值。但有時候,指定目標可能會隨時間改變。雖然 setTargeting()
可用於新增和覆寫鍵/值,但您無法透過這種方式移除鍵/值。為了達成這個目標,請改用 Slot.clear 指定目標() 或 googletag.pubads().clear 指定目標()。
// Step 0, define slot- and page-level targeting. adSlots[0] = googletag .defineSlot('/6355419/Travel/Asia', [728, 90], 'banner-ad-1') .addService(googletag.pubads()) .setTargeting('color', 'red') .setTargeting('position', 'atf'); googletag.pubads().setTargeting('interests', 'basketball'); // Step 1, clear slot-level color targeting. adSlots[0].clearTargeting('color'); // Step 2, clear all page-level targeting. googletag.pubads().clearTargeting();
使用特定鍵 (在版位或網頁層級) 呼叫 clearTargeting()
時,只會移除該鍵。如未指定金鑰,系統就會移除該層級的所有指定目標。
在上述範例中,每個步驟在廣告版位後都能有效指定目標:
步驟 | 有效指定目標 |
---|---|
0 | color=red AND position=atf AND interests=basketball |
1 | position=atf AND interests=basketball |
2 | position=atf |