การตรวจสอบว่า Protected Audience API ทํางานได้อย่างมีประสิทธิภาพจะเป็นประโยชน์ต่อทุกคน
- ผู้ใช้ที่ท่องเว็บต้องการให้เว็บไซต์โหลดได้อย่างรวดเร็ว ซึ่งหมายความว่านักพัฒนาซอฟต์แวร์ควรสร้างด้วย Protected Audience API อย่างมีประสิทธิภาพเพื่อไม่ให้ใช้ทรัพยากรของอุปกรณ์อย่างจำกัด เช่น ทรัพยากรการประมวลผลหรือเครือข่าย ซึ่งจําเป็นต่อการโหลดเว็บไซต์และโฆษณาที่ฝังไว้ มากเกินไป
- ผู้เผยแพร่โฆษณาต้องการให้เว็บไซต์ของตนโหลดได้อย่างรวดเร็ว เพื่อให้ผู้ใช้ได้รับประสบการณ์การใช้งานที่มีประสิทธิภาพและตอบสนองได้ดี ผู้เผยแพร่โฆษณาต้องการการโฆษณาที่มีประสิทธิภาพเพื่อเพิ่มรายได้ให้สูงสุดด้วย
- ผู้ลงโฆษณาและเทคโนโลยีโฆษณาต้องการให้โฆษณาแสดงอย่างรวดเร็วเพื่อให้เกิดประโยชน์สูงสุด
เอกสารนี้ระบุแนวทางปฏิบัติแนะนำบางส่วนสำหรับการติดตั้งใช้งาน Protected Audience API เพื่อให้เว็บไซต์ทำงานได้อย่างมีประสิทธิภาพสูงสุด
แนวทางปฏิบัติแนะนำสำหรับผู้ซื้อ (ผู้เสนอราคา)
ทําตามแนวทางปฏิบัติแนะนำเหล่านี้เพื่อให้แน่ใจว่าคุณเพิ่มประสิทธิภาพเพื่อประมูล Protected Audience API
เจ้าของกลุ่มความสนใจน้อยลง
เพื่อปกป้องผู้เสนอราคา Protected Audience API ในลักษณะเดียวกับที่เบราว์เซอร์ปกป้องต้นทางต่างๆ ในเว็บโดยใช้การแยกเว็บไซต์ โดยเบราว์เซอร์จะใช้ทรัพยากรที่มีราคาสูง (เช่น กระบวนการของระบบปฏิบัติการ) เพื่อปกป้องเจ้าของกลุ่มความสนใจแต่ละราย
การมีเจ้าของกลุ่มความสนใจจำนวนน้อยที่สุดเป็นสิ่งสําคัญในการลดค่าใช้จ่ายของทรัพยากรที่มีราคาแพงเหล่านี้ หลีกเลี่ยงการมีกลุ่มความสนใจที่แตกต่างกันซึ่งเป็นเจ้าของโดยโดเมนย่อยต่างๆ เช่น หาก adtech.example
มีกลุ่มความสนใจที่เป็นของ cats.adtech.example
และ dogs.adtech.example
เบราว์เซอร์มีแนวโน้มที่จะใช้ 2 กระบวนการแยกกันเพื่อเรียกใช้สคริปต์การเสนอราคา
กลุ่มความสนใจที่เสนอราคาน้อยลง
เบราว์เซอร์ต้องทําการตั้งค่าและการเตรียมการที่สําคัญก่อนเรียกใช้สคริปต์ generateBid()
ของผู้ซื้อ เช่น การสร้างสภาพแวดล้อมการเรียกใช้ JavaScript ใหม่ และแยกวิเคราะห์และโหลดโค้ด generateBid()
- กลุ่มความสนใจที่แสดงถึงผู้ใช้ที่ไม่ได้เป็นเป้าหมายปัจจุบันของแคมเปญโฆษณาที่ใช้งานอยู่ควรมีรายการครีเอทีฟโฆษณาว่าง ซึ่งจะป้องกันไม่ให้ Protected Audience API เรียกใช้
generateBid()
สําหรับกลุ่มความสนใจที่ไม่มีโฆษณาที่เกี่ยวข้อง - การรวมกลุ่มความสนใจที่คล้ายกันจะช่วยลดจํานวนครั้งที่ต้องเรียกใช้
generateBid()
userBiddingSignals
พร็อพเพอร์ตี้ของกลุ่มความสนใจสามารถใช้เพื่อจัดเก็บข้อมูลเมตาเพิ่มเติมเกี่ยวกับผู้ใช้ได้ ดังนั้นกลุ่มความสนใจที่มีจํานวนน้อยลงจึงไม่ได้หมายความว่าการกําหนดเป้าหมายมีประสิทธิภาพน้อยลง - Protected Audience API รองรับขีดจํากัดของจํานวนกลุ่มความสนใจที่ผู้ขายระบุ และ API สําหรับให้ผู้ซื้อระบุลําดับความสําคัญของกลุ่มความสนใจ ขีดจํากัดเหล่านี้สามารถใช้เพื่อลดจํานวนสคริปต์การเสนอราคาที่จะทํางานได้อย่างมาก
กรองกลุ่มความสนใจออกจากการเสนอราคาในบริการคีย์/ค่า
หากผู้ซื้อสามารถระบุในเซิร์ฟเวอร์สัญญาณการเสนอราคาที่เชื่อถือได้แบบเรียลไทม์ว่ากลุ่มความสนใจบางกลุ่มไม่ควรเสนอราคา (เช่น แคมเปญปิดใช้ หยุดชั่วคราว หรือใช้งบประมาณหมดแล้ว หรือไม่ควรเสนอราคากับผู้เผยแพร่โฆษณารายนี้) ผู้ซื้อสามารถระบุข้อมูลนี้ไปยังเบราว์เซอร์ด้วยpriorityVector
การตอบสนองต่อการดึงข้อมูลสัญญาณการเสนอราคาที่เชื่อถือได้ หากผลลัพธ์ของผลคูณจุดแบบเบาบางของ priorityVector
และ prioritySignals
เป็นลบ เบราว์เซอร์จะข้ามการเรียกใช้ generateBid()
สําหรับกลุ่มความสนใจนี้ คุณสามารถอ่านข้อมูลเพิ่มเติมเกี่ยวกับกลไกนี้ได้ในส่วน"การกรองและการจัดลําดับความสําคัญของกลุ่มความสนใจ" ของคําอธิบาย
ใช้สภาพแวดล้อมการทํางานของ JavaScript ซ้ำ
เบราว์เซอร์ต้องเริ่มต้นสภาพแวดล้อมการเรียกใช้ JavaScript ใหม่ก่อนจึงจะเรียกใช้ generateBid()
ได้ การดำเนินการนี้อาจใช้เวลานานพอๆ กับเวลาที่ generateBid()
ขั้นต่ำใช้ในการดำเนินการ คุณสามารถประหยัดเวลานี้ได้โดยใช้โหมดการเรียกใช้แบบจัดกลุ่มตามต้นทางหรือแบบบริบทแบบคงที่
โหมด group-by-origin
สามารถใช้สภาพแวดล้อมการเรียกใช้ได้ซ้ำในกรณีที่มีการรวมกลุ่มความสนใจในแหล่งที่มาเดียวกัน และอาจไม่จําเป็นต้องเปลี่ยนแปลงสคริปต์การเสนอราคา ดูข้อมูลเพิ่มเติมได้ที่คําอธิบาย group-by-origin
ในคําอธิบาย โหมดบริบทแบบคงที่สามารถนำสภาพแวดล้อมการเรียกใช้ทั้งหมดมาใช้ซ้ำได้ แต่อาจต้องมีการแก้ไขสคริปต์การเสนอราคา ดูข้อมูลเพิ่มเติมได้ที่คำอธิบาย frozen-context
ในคำอธิบาย
ใช้สคริปต์การเสนอราคาซ้ำ
ใช้สคริปต์การเสนอราคาเดียวกันสําหรับกลุ่มความสนใจ หากเป็นไปได้ วิธีนี้ช่วยให้เบราว์เซอร์ไม่ต้องดาวน์โหลด แยกวิเคราะห์ และคอมไพล์สคริปต์หลายรายการ (ซึ่งจะทำให้เกิดคำขอเครือข่ายเพิ่มเติม) ผู้เสนอราคาจะยังคงแยกการเสนอราคาตามข้อมูลกลุ่มความสนใจ (เช่น name
หรือ userBiddingSignals
) ได้ขณะใช้สคริปต์เดียวกัน
หากไม่มีส่วนหัวการควบคุมแคช HTTP ระบบจะไม่แคชสคริปต์การเสนอราคา ระบุส่วนหัวที่เหมาะสมเพื่อให้มั่นใจว่าระบบจะไม่ดึงข้อมูลสคริปต์โดยไม่จำเป็น หากการประมูลหลายรายการในหน้าเว็บทํางานพร้อมกัน ระบบจะใช้สคริปต์การเสนอราคาของผู้เสนอราคารายเดียวกันซ้ำหากมีอยู่ในหน่วยความจําอยู่แล้ว โดยไม่สนใจความหมายของการแคช หากการประมูลทํางานตามลําดับ เบราว์เซอร์จะเป็นไปตามกลไกการแคช HTTP
โปรดทราบว่าเบราว์เซอร์จะโหลดสคริปต์การเสนอราคาในช่วงเวลาที่เสนอราคา (สําหรับ generateBid()
) และในช่วงเวลาการรายงาน (สําหรับ reportWin()
) หากไม่ได้ตั้งค่าส่วนหัวการควบคุมแคชไว้ เบราว์เซอร์จะดึงข้อมูลสคริปต์เดียวกัน 2 ครั้ง โดยดึงข้อมูล 1 ครั้งสําหรับแต่ละระยะเวลา
เราจึงขอแนะนำให้ตั้งค่าส่วนหัวการควบคุมแคชในสคริปต์ทั้งหมด
ใช้ซ้ำ trustedBiddingSignalsUrls
เวลาในการตอบสนองของเครือข่ายและการใช้ทรัพยากรอาจสูงมาก การดึงข้อมูลสัญญาณการเสนอราคาที่เชื่อถือได้แบบเรียลไทม์น้อยลงจะช่วยลดความล่าช้านี้ได้
การดึงข้อมูลสัญญาณการเสนอราคาที่เชื่อถือได้สามารถรวมกันได้เมื่อนำ trustedBiddingSignalsUrl
ไปใช้ซ้ำในกลุ่มความสนใจหลายกลุ่ม
ใช้ trustedBiddingSignalsUrl
เดียวกันสำหรับกลุ่มความสนใจทั้งหมดเมื่อเป็นไปได้
ระบุส่วนหัวการควบคุมแคช HTTP ที่เหมาะสมเพื่อให้มั่นใจว่าระบบจะแคชการดึงข้อมูลสัญญาณการเสนอราคาที่เชื่อถือได้ไว้ในช่องโฆษณาในหน้าเว็บหนึ่งๆ หลีกเลี่ยงการตั้งค่า trustedBiddingSignalsSlotSizeMode
เป็น slot-size
เนื่องจากจะป้องกันไม่ให้แคชในช่องโฆษณาต่างๆ เมื่อขนาดของช่องแตกต่างกัน เนื่องจาก URL ที่ขอจะแตกต่างกัน
การดึงข้อมูลสัญญาณการเสนอราคาที่เชื่อถือได้แบบเรียลไทม์ที่น้อยลง
เวลาในการตอบสนองของเครือข่ายอาจส่งผลอย่างมาก และได้รับผลกระทบโดยตรงจากปริมาณข้อมูลที่โอนระหว่างการดึงข้อมูลสัญญาณการเสนอราคาที่เชื่อถือได้แบบเรียลไทม์
แนะนำให้จัดเก็บข้อมูลที่เฉพาะเจาะจงสำหรับโฆษณาหรือกลุ่มความสนใจในกลุ่มความสนใจ แทนที่จะจัดเก็บไว้ในบริการสัญญาณการเสนอราคาที่เชื่อถือได้แบบเรียลไทม์ สงวนข้อมูลสัญญาณการเสนอราคาที่เชื่อถือได้แบบเรียลไทม์ไว้สําหรับสัญญาณแบบเรียลไทม์จริงๆ เท่านั้น เช่น การกําหนดงบประมาณแคมเปญหรือสวิตช์ปิด
สัญญาณที่อัปเดตได้ทุกวันหรือนานกว่านั้นควรจัดเก็บไว้ในกลุ่มความสนใจและอัปเดตโดยใช้การอัปเดตรายวัน
อย่าแสดงสัญญาณการเสนอราคาที่เชื่อถือได้สําหรับกลุ่มความสนใจที่กรองออกตามที่อธิบายไว้ในส่วน"กรองกลุ่มความสนใจออกจากการเสนอราคาในบริการคีย์/ค่า"
จัดลําดับความสําคัญของกลุ่มความสนใจ
ผู้ขายจะใช้การหมดเวลาเพื่อจำกัดวิธีใช้ทรัพยากรเบราว์เซอร์ในหน้าผู้เผยแพร่โฆษณา เมื่อใช้ perBuyerCumulativeTimeouts
เพื่อจำกัดระยะเวลาที่ผู้ซื้อต้องดึงข้อมูลสัญญาณการเสนอราคาที่เชื่อถือได้และเรียกใช้สคริปต์การเสนอราคา ผู้ซื้อต้องจัดลําดับความสําคัญของกลุ่มความสนใจเพื่อให้กลุ่มที่มีแนวโน้มจะชนะการประมูลทํางานก่อน ตัวอย่างเช่น หากตั้งค่า perBuyerCumulativeTimeouts
เป็น 100 มิลลิวินาที และการดึงข้อมูลสัญญาณการเสนอราคาที่เชื่อถือได้ของผู้เสนอราคาใช้เวลา 50 มิลลิวินาที และการเรียกใช้ generateBid()
แต่ละครั้งใช้เวลา 10 มิลลิวินาที และมีกลุ่มความสนใจ 10 กลุ่มในอุปกรณ์ แสดงว่ากลุ่มความสนใจเพียงครึ่งเดียวเท่านั้นที่มีโอกาสคำนวณราคาเสนอ ผู้ซื้อในตัวอย่างนี้ควรจัดลําดับความสําคัญของกลุ่มความสนใจจากมีแนวโน้มจะชนะมากที่สุดไปจนถึงมีแนวโน้มจะชนะน้อยที่สุด
กลุ่มความสนใจอาจมีลําดับความสําคัญแบบคงที่ซึ่งกําหนดด้วยช่อง priority
กลุ่มความสนใจยังใช้ลําดับความสําคัญแบบไดนามิกที่คำนวณได้ในบริการสัญญาณการเสนอราคาที่เชื่อถือได้ และส่งกลับไปยังเบราว์เซอร์พร้อมกับpriorityVector
การตอบสนองต่อการดึงข้อมูลสัญญาณการเสนอราคาที่เชื่อถือได้
โปรดทราบว่าเมื่อเบราว์เซอร์เรียกใช้กลุ่มความสนใจจากลําดับความสําคัญสูงสุดไปจนถึงต่ำสุด อาจมีการแทรกกลุ่มความสนใจจากต้นทางการเข้าร่วมที่แตกต่างกัน ซึ่งอาจทําให้การเพิ่มประสิทธิภาพ group-by-origin
เสียผล
แนวทางปฏิบัติแนะนำสำหรับผู้ขาย
ตรวจสอบว่าคุณกําลังตรวจสอบและเพิ่มประสิทธิภาพการประมูล Protected Audience API
ประมูลหลายรายการพร้อมกัน
การเชื่อมต่อเครือข่ายสมัยใหม่และโปรเซสเซอร์แบบหลายแกนทำงานหลายอย่างพร้อมกันได้อย่างยอดเยี่ยม เบราว์เซอร์สามารถดําเนินการประมูล Protected Audience ควบคู่ไปกับกิจกรรมอื่นๆ วิธีที่ดีที่สุดคือโทรหา runAdAuction()
โดยเร็วที่สุด เนื่องจากอินพุตบางอย่างของ runAdAuction()
อาจไม่พร้อมใช้งานตั้งแต่เนิ่นๆ เช่น อินพุตที่ส่งกลับไปยังเบราว์เซอร์ในการตอบสนองตามบริบท เบราว์เซอร์จึงอนุญาตให้เรียกใช้ runAdAution()
ก่อนที่จะพร้อมใช้งาน และระบุอินพุตเหล่านี้ในภายหลังโดยใช้ Promise ของ JavaScript คุณควรเรียกใช้ runAdAuction()
เมื่อทราบอินพุต interestGroupBuyers
เพื่อให้ได้เวลาในการตอบสนองในการประมูลต่ำที่สุด ซึ่งจะช่วยให้การประมูลหลายส่วนเริ่มต้นได้ทันที รวมถึงการดึงข้อมูลสัญญาณการเสนอราคาแบบเรียลไทม์ของผู้เสนอราคา
ตรวจสอบการประมูล
รวบรวมเมตริกเกี่ยวกับการประมูล เบราว์เซอร์สามารถรายงานper-buyer
เมตริกเวลาในการตอบสนองให้แก่ผู้ขาย ซึ่งจะให้ข้อมูลเชิงลึกมากมายเกี่ยวกับระยะเวลาที่ใช้ในการประมูลของผู้ขาย ผู้ขายสามารถใช้เมตริกเหล่านี้เพื่อมองหาวิธีเพิ่มประสิทธิภาพการประมูล รวมถึงดูวิธีตั้งค่าการหมดเวลาให้มีประสิทธิภาพสูงสุด ผู้ขายสามารถแชร์เมตริกเวลาในการตอบสนองของผู้ซื้อที่เฉพาะเจาะจงกับผู้ซื้อเพื่อช่วยเพิ่มประสิทธิภาพเพิ่มเติม
ผู้เสนอราคาอาจมีข้อมูลเชิงลึกเกี่ยวกับประสิทธิภาพการเสนอราคาของกลุ่มความสนใจของตนเอง แต่อาจไม่สามารถเปรียบเทียบข้อมูลนี้กับผู้เสนอราคารายอื่นได้ การเปรียบเทียบอัตราสัมพัทธ์ของการชนะและอัตราการปฏิเสธราคาเสนอสำหรับผู้เสนอราคารายต่างๆ อาจช่วยระบุกรณีที่ทรัพยากรการประมวลผลราคาเสนอถูกใช้ไปโดยเปล่าประโยชน์เนื่องจากกลุ่มความสนใจไม่เคยสร้างราคาเสนอที่ใช้งานได้ หรือการเสนอราคามากเกินไปโดยใช้ครีเอทีฟโฆษณาที่ไม่ได้รับอนุมัติ
ป้องกันสคริปต์ราคาเสนอที่ทำงานช้า
สคริปต์การเสนอราคาที่ใช้เวลานานเกินไปอาจทำให้การประมูล Protected Audience API ช้าลงสำหรับทุกคนที่เกี่ยวข้อง การใช้การหมดเวลาจะช่วยป้องกันไม่ให้มีการประมูลที่ช้า ขณะเดียวกันก็ยังคงสร้างรายได้ได้เมื่อการประมูลช้า
ผู้ขายควรใช้ perBuyerCumulativeTimeouts
เพื่อป้องกันไม่ให้มีการประมูลที่ช้า และเพื่อที่จะยังยอมรับราคาเสนอได้เมื่อการประมูลช้าและถึงเวลาหมด เราขอแนะนำให้ใช้ perBuyerCumulativeTimeouts
แทนการใช้ perBuyerTimeouts
และ perBuyerGroupLimits
เนื่องจาก perBuyerCumulativeTimeouts
ไม่ได้กำหนดจำนวนกลุ่มความสนใจหรือความเร็วของ generateBid()
(เช่น กลุ่มความสนใจจำนวนมากที่เสนอราคาอย่างรวดเร็วและกลุ่มความสนใจน้อยที่เสนอราคาช้าอาจดำเนินการเสร็จสิ้นได้ก่อนหมดเวลา)
การใช้ช่อง signal
ในการกําหนดค่าการประมูลเพื่อใช้การหมดเวลาการประมูลโดยรวมยังเป็นแนวคิดที่ดีในการป้องกันการประมูลที่ใช้เวลานานเกินไปในกรณีที่การดึงข้อมูลสัญญาณการให้คะแนนที่เชื่อถือได้และการดำเนินการ scoreAd()
ใช้เวลานานเกินไป
ขั้นตอนถัดไปคือ
เราต้องการพูดคุยกับคุณเพื่อให้แน่ใจว่าเราได้สร้าง API ที่เหมาะสำหรับทุกคน
พูดคุยเกี่ยวกับ API
API นี้จะได้รับการจัดทำเอกสารและอภิปรายต่อสาธารณะเช่นเดียวกับ Privacy Sandbox API อื่นๆ
ทดลองใช้ API
คุณจะทดสอบและเข้าร่วมในการพูดคุยเกี่ยวกับ Protected Audience API ได้