คุณสามารถใช้คีย์-ค่าเพื่อกำหนดเป้าหมายโฆษณาที่มีขนาดเล็กกว่าหน่วยโฆษณา ดูข้อมูลเพิ่มเติมเกี่ยวกับคีย์-ค่า
สำหรับการเรียกโฆษณาแต่ละครั้ง คุณสามารถส่งคีย์อย่างน้อย 1 คีย์ โดยแต่ละคีย์มีค่าที่เชื่อมโยงอย่างน้อย 1 ค่า ระบบจะประเมินคีย์-ค่าเหล่านี้เทียบกับตัวเลือกการกำหนดเป้าหมายที่กําหนดค่าไว้ที่ระดับรายการโฆษณาใน Ad Manager ตัวอย่างเช่น หากคุณส่งคีย์-ค่าที่กำหนดเอง age=18-34
รายการโฆษณาที่กำหนดเป้าหมายเป็นช่วงอายุ 18-34 จะมีสิทธิ์แสดง ทั้งนี้สมมติว่าเกณฑ์อื่นๆ ทั้งหมดตรงกัน
ตั้งค่าการกําหนดเป้าหมาย
คุณระบุคีย์-ค่าเพื่อกําหนดค่าการกําหนดเป้าหมายได้ทั้งที่ระดับช่องและระดับหน้าตามความต้องการของเครือข่าย
- ระดับช่อง
ช่วยให้คุณตั้งค่าคีย์-ค่าสําหรับช่องโฆษณาแต่ละช่องในหน้าเว็บได้
การกำหนดเป้าหมายระดับช่องช่วยให้คุณกําหนดค่าการกําหนดเป้าหมายตามช่องได้ วิธีนี้มีประโยชน์ในกรณีที่แต่ละช่องในหน้าเดียวกันต้องมีการกําหนดเป้าหมายที่แตกต่างกัน แต่อาจไม่มีประสิทธิภาพในสถานการณ์ที่มีการใช้คีย์-ค่าเดียวกันกับทุกช่อง ใช้ Slot.setTargeting() เพื่อใช้ประโยชน์จากการกําหนดเป้าหมายระดับช่อง ดังตัวอย่างต่อไปนี้
- ระดับหน้า
ช่วยให้คุณตั้งค่าคีย์-ค่าในช่องโฆษณาทั้งหมดในหน้าเว็บได้
การกำหนดเป้าหมายเองระดับหน้าช่วยให้มั่นใจได้ว่าช่องโฆษณาทั้งหมดจะมีชุดคีย์-ค่าที่เหมือนกัน ในบางกรณี การดำเนินการนี้อาจลดจํานวนโค้ดทั้งหมดที่จําเป็นในการกําหนดค่าการกําหนดเป้าหมาย ใช้ googletag.pubads().setTargeting() เพื่อใช้ประโยชน์จากการกำหนดเป้าหมายระดับหน้าเว็บ ดังตัวอย่างต่อไปนี้
<head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="description" content="Use key-value targeting to control the ads eligible to serve to specific ad slots." /> <title>Key-value targeting</title> <script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js" crossorigin="anonymous" ></script> <script> window.googletag = window.googletag || { cmd: [] }; // GPT slots let adSlots = []; googletag.cmd.push(() => { // 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>
ในตัวอย่างนี้ มีการกำหนดช่องโฆษณา 2 ช่องซึ่งระบุหน่วยโฆษณา /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.clearTargeting() หรือ googletag.pubads().clearTargeting() แทน
// 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 |