ที่ผ่านมา ส่วนหัว User-Agent เคยรวมอยู่ในคําขอราคาเสนอเพื่อให้ข้อมูลการกําหนดเป้าหมายที่เป็นประโยชน์ เช่น เบราว์เซอร์และแพลตฟอร์มของอุปกรณ์ที่เริ่ม อย่างไรก็ตาม เบราว์เซอร์มักจะปกปิด User Agent ไว้อย่างมากเนื่องจากใช้งานยากและเพื่อปกป้องความเป็นส่วนตัวของผู้ใช้ให้ดียิ่งขึ้น Google จึงรองรับคำแนะนำสำหรับไคลเอ็นต์ของ User Agent ซึ่งจะรวมอยู่ในคำขอราคาเสนอหากมีเพื่อเสริมส่วนหัว User Agent คำแนะนำสำหรับไคลเอ็นต์เหล่านี้ (เรียกสั้นๆ ว่า คำแนะนำสำหรับไคลเอ็นต์) มาจากส่วนหัว Sec-Ch-UA* หรือมาจาก Javascript Client Hints API
ส่วนหัว User-Agent จะแสดงเป็นสตริงในช่อง BidRequest.device.ua
ระบบจะป้อนข้อมูลข้อความ UserAgent
ด้วยคำแนะนำสำหรับไคลเอ็นต์หากมี แต่หากไม่มี ก็จะป้อนข้อมูลตามค่าที่แยกวิเคราะห์จากส่วนหัว User-Agent ข้อมูลนี้แสดงในช่อง BidRequest.device.sua
เราขอแนะนําอย่างยิ่งให้ผู้เสนอราคาใช้ข้อความ UserAgent
แทนสตริง User-Agent
การสร้าง UserAgent
ข้อความ UserAgent
จะแสดงข้อมูล User Agent ที่แบ่งออกเป็นหลายช่องสำหรับข้อมูลเฉพาะ ซึ่งแตกต่างจากส่วนหัว User-Agent
ระบบจะป้อนข้อมูลข้อความ UserAgent
ได้ด้วยวิธีต่อไปนี้ ทั้งนี้ขึ้นอยู่กับว่าคำบอกใบ้ไคลเอ็นต์มีอยู่ในคำขอโฆษณาหรือไม่
- หากคำขอมีคำแนะนำไคลเอ็นต์ที่มีเอนโทรปีต่ำเป็นอย่างน้อย ระบบจะป้อนข้อมูล
UserAgent
ตามเนื้อหาของคำแนะนำ - หากคำขอมีเพียงส่วนหัว User-Agent ระบบจะป้อนข้อมูล
UserAgent
ตามสิ่งที่แยกวิเคราะห์ได้จากส่วนหัว
ตัวอย่าง: การป้อนข้อมูล UserAgent
ตามส่วนหัว User-Agent
สมมติว่าคําขอโฆษณาที่เบราว์เซอร์ส่งส่วนหัวต่อไปนี้
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36
UserAgent
ที่สร้างขึ้นโดยอิงตามส่วนหัว User-Agent เพียงอย่างเดียวอาจมีลักษณะดังนี้
browsers: [{ brand: "Mozilla", version: ["5", "0"] },
{ brand: "AppleWebKit", version: ["537", "36"] },
{ brand: "Chrome", version: ["103", "0", "0", "0"] },
{ brand: "Safari", version: ["537", "36"] }],
platform: { brand: "Windows NT", version: ["10", "0"] },
mobile: false,
architecture: "x86",
bitness: "64",
model: "x64",
source: USER_AGENT_STRING
ตัวอย่าง: การป้อนข้อมูล UserAgent
ตาม Client Hints
สมมติว่าคําขอโฆษณาที่เบราว์เซอร์ส่งส่วนหัวต่อไปนี้
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36
Sec-Ch-Ua: ".Not/A)Brand";v="99", "Google Chrome";v="103", "Chromium";v="103"
Sec-Ch-Ua-Arch: x86
Sec-Ch-Ua-Full-Version: 103.0.5060.134
Sec-Ch-Ua-Mobile: ?0
Sec-Ch-Ua-Platform: Windows
Sec-Ch-Ua-Platform-Version: 15.0.0
ในกรณีที่มีคำแนะนำสำหรับไคลเอ็นต์ที่มีเอนโทรปีต่ำเป็นอย่างน้อย ระบบจะป้อนข้อมูล UserAgent
ตามเนื้อหาของส่วนหัวเหล่านั้น แม้ว่าจะมีส่วนหัว User-Agent อยู่ก็ตาม ซึ่งจะมีลักษณะดังต่อไปนี้
browsers: [{ brand: ".Not/A)Brand", version: ["99", "0", "0", "0"] },
{ brand: "Google Chrome", version: ["103", "0", "5060", "134"] },
{ brand: "Chromium", version: ["103", "0", "5060", "134"] }],
platform: { brand: "Windows", version: ["15", "0", "0"] },
mobile: false,
architecture: "x86",
bitness: "64",
source: CLIENT_HINTS_HIGH_ENTROPY
การสร้างข้อมูลตามส่วนหัว User-Agent เทียบกับคำแนะนำสำหรับไคลเอ็นต์
ระบบจะป้อนข้อมูลในบางช่องแตกต่างกันไป ขึ้นอยู่กับว่าช่องนั้นอิงตามส่วนหัว User-Agent หรือ Client Hints ความแตกต่างโดยสรุปมีดังนี้
- สําหรับเบราว์เซอร์และแพลตฟอร์มที่เหมือนกัน
UserAgent.browsers.brand
และUserAgent.platform.brand
มักจะแตกต่างกันระหว่างUserAgent
โดยอิงตามส่วนหัว User-Agent หรือ Client Hints ตัวอย่างเช่นUserAgent.platform.brand
อาจปรากฏเป็น "Windows NT" หากอิงตามส่วนหัว User-Agent หรือ "Windows" หากอิงตามคำแนะนำสำหรับไคลเอ็นต์ - รายการ
UserAgent.browsers
บางรายการมีไว้สำหรับส่วนหัว User-Agent หรือคำแนะนำสำหรับไคลเอ็นต์เท่านั้น ตัวอย่างเช่น "AppleWebKit" จะปรากฏขึ้นหากUserAgent
อิงตามส่วนหัว User-Agent ส่วน "Chromium" จะปรากฏขึ้นก็ต่อเมื่ออิงตาม Client Hints - เฉพาะ
UserAgent
ตามส่วนหัว User-Agent เท่านั้นที่จะมีค่าแบบคงที่ ตัวอย่างเช่น หากแพลตฟอร์มคือ Windows 11 22H2 ระบบจะตั้งค่าUserAgent.platform.brand
เป็น "Windows NT" และตั้งค่าUserAgent.platform.version
เป็น[“10”, “0”]
เนื่องจากเป็นค่าคงที่สำหรับ Windows ทุกเวอร์ชันที่เท่ากับหรือมากกว่า 10
โดยปกติแล้ว ข้อมูลใน UserAgent
ที่อิงตามคำแนะนำไคลเอ็นต์จะไม่ใช้แทนข้อมูลที่ถูกระงับหรือปกปิดบางส่วนอย่างไม่ถูกต้อง หากมีความไม่สอดคล้องกันระหว่างส่วนหัว User-Agent กับ UserAgent
ตามคำแนะนำสำหรับไคลเอ็นต์ คุณควรใช้ข้อมูลจาก UserAgent
ช่องออบเจ็กต์ User Agent
ส่วนนี้จะสรุปแต่ละช่อง โดยมุ่งเน้นที่ลักษณะการทํางานเฉพาะของ Google RTB และแนวทางปฏิบัติแนะนําสําหรับการใช้งาน
เบราว์เซอร์
มีรายการรายการBrandVersion ที่โดยทั่วไปจะจัดเรียงตามความเฉพาะเจาะจง เช่น หากคุณแสดงรายการเนื้อหาของ browsers
brand
ของแต่ละรายการอาจปรากฏตามลําดับต่อไปนี้
แบรนด์ | Meaning |
Mozilla | ใช้ได้กับ Mozilla |
AppleWebKit | อิงตาม AppleWebKit ซึ่งเป็นชุดย่อยของ Mozilla |
Chrome | เบราว์เซอร์ Chrome ซึ่งเป็นชุดย่อยของเบราว์เซอร์ที่เข้ากันได้กับ AppleWebKit |
Safari | ตัวแปรเดสก์ท็อป เทียบกับอุปกรณ์เคลื่อนที่ |
UserAgent
จะไม่แสดงเบราว์เซอร์ตามลําดับที่เจาะจงเสมอไป โดยเฉพาะในกรณีที่อิงตาม Client Hints ต่อไปนี้อธิบายความแตกต่างอื่นๆ ที่คุณจะพบโดยอิงตามค่าของ source
USER_AGENT
: ระบบอาจลดฟิลด์version
เป็นเวอร์ชันหลักหรือตรึงไว้ (ขึ้นอยู่กับนโยบายของตัวแทนแต่ละราย) โปรดทราบว่าจะไม่มีบ่งชี้ว่าค่าถูกตรึงCLIENT_HINTS_LOW_ENTROPY
และCLIENT_HINTS_HIGH_ENTROPY
: ระบบไม่จัดเรียงรายการตามเกณฑ์ใดๆ เช่น เบราว์เซอร์เดียวกันอาจส่งรายการเหล่านี้ในลําดับที่แตกต่างกันในแต่ละคําขอ และอาจมีรายการ GREASE ด้วย ซึ่งควรละเว้นCLIENT_HINTS_HIGH_ENTROPY
: ระบบอาจตั้งค่าช่องversion
ทั้งหมดที่พบในเบราว์เซอร์เป็นเวอร์ชันเต็ม
แพลตฟอร์ม
รายการ BrandVersion ที่อธิบายแพลตฟอร์ม การดำเนินการนี้อาจใช้ไม่ได้กับส่วนหัว User-Agent และ Client Hints ดังนั้นการกำหนดเป้าหมายบางแพลตฟอร์มอาจต้องทดสอบชื่อ 2 ชื่อ ตัวอย่างเช่น ระบบปฏิบัติการ Macintosh ของ Apple แสดงเป็นแบรนด์ว่า "Macintosh" ในส่วนหัว User-Agent แต่แสดงเป็น "macOS" ใน Client Hints
ต่อไปนี้อธิบายความแตกต่างอื่นๆ ที่คุณจะพบโดยอิงตามค่าของ source
USER_AGENT
: ระบบอาจลดฟิลด์version
ให้เป็นเวอร์ชันหลักหรือแช่แข็ง โปรดทราบว่าจะไม่มีตัวบ่งชี้ว่าค่าถูกตรึงCLIENT_HINTS_LOW_ENTROPY
: ระบบจะไม่ป้อนข้อมูลในช่องversion
CLIENT_HINTS_HIGH_ENTROPY
: ระบบอาจตั้งค่าช่องversion
เป็นเวอร์ชันเต็ม
อุปกรณ์เคลื่อนที่
ระบุว่าควรเพิ่มประสิทธิภาพเนื้อหา เช่น โฆษณา สำหรับหน้าจอขนาดเล็กและ/หรือการป้อนข้อมูลด้วยการสัมผัสหรือไม่ โปรดทราบว่าข้อมูลนี้ไม่ได้เป็นตัวบ่งชี้ประเภทอุปกรณ์เสมอไป เนื่องจากเบราว์เซอร์บนอุปกรณ์เคลื่อนที่สามารถกําหนดค่าให้ขอ "เว็บไซต์เวอร์ชันเดสก์ท็อป" ได้
สถาปัตยกรรม
ระบุสถาปัตยกรรมของแพลตฟอร์ม เช่น "x86" หรือ "arm"
สําหรับ UserAgent
อิงตาม Client Hints โปรดทราบว่าระบบจะป้อนข้อมูลนี้เมื่อตั้งค่า source
เป็น CLIENT_HINTS_HIGH_ENTROPY
เท่านั้น
จำนวนบิต
ระบุจำนวนบิตของแพลตฟอร์ม เช่น มี CPU แบบ 32 บิตหรือ 64 บิต ฟิลด์นี้เป็นสตริงจำนวนเต็มที่ให้ข้อมูลเพิ่มเติมเกี่ยวกับสถาปัตยกรรม เช่น สถาปัตยกรรม "x86" สามารถตั้งค่าจำนวนบิตเป็น "32" หรือ "64"
สําหรับ UserAgent
อิงตาม Client Hints โปรดทราบว่าระบบจะป้อนข้อมูลนี้เมื่อตั้งค่า source
เป็น CLIENT_HINTS_HIGH_ENTROPY
เท่านั้น
รุ่น
ระบุรุ่นอุปกรณ์ สำหรับอุปกรณ์เคลื่อนที่ ซึ่งไม่ใช่แล็ปท็อปหรือเดสก์ท็อป ระบบจะป้อนข้อมูลชื่อรุ่น เช่น "Pixel 6 Pro"
ต่อไปนี้อธิบายความแตกต่างที่คุณคาดว่าจะเห็นตามค่าของ source
USER_AGENT
- อุปกรณ์ที่ไม่ใช่อุปกรณ์เคลื่อนที่: ช่อง
model
มักจะมีค่าสถาปัตยกรรมและจำนวนบิตรวมกัน เช่น "x64" สำหรับ Windows ค่านี้ใช้ไม่ได้กับหลายแพลตฟอร์ม เช่น Linux อาจใช้ "x86_64" สำหรับฮาร์ดแวร์เดียวกัน - อุปกรณ์เคลื่อนที่: ช่องนี้จะไม่รวมสถาปัตยกรรมและจำนวนบิต
หากสนใจค่าเหล่านี้ โปรดดู
UserAgent.architecture
และUserAgent.bitness
- อุปกรณ์ที่ไม่ใช่อุปกรณ์เคลื่อนที่: ช่อง
CLIENT_HINTS_LOW_ENTROPY
: ระบบจะไม่ป้อนข้อมูลในช่องmodel
CLIENT_HINTS_HIGH_ENTROPY
: ระบบจะป้อนข้อมูลในช่องmodel
สำหรับรุ่นอุปกรณ์ของอุปกรณ์เคลื่อนที่เท่านั้น ไม่มีการกำหนดค่าสำหรับแพลตฟอร์มเดสก์ท็อป
แหล่งที่มา
ระบุส่วนหัวที่ใช้สร้าง UserAgent
สําหรับคำแนะนำไคลเอ็นต์ การดำเนินการนี้จะแยกความแตกต่างระหว่าง 2 กรณีต่อไปนี้ด้วย
CLIENT_HINTS_LOW_ENTROPY
: ใช้ได้เฉพาะคำแนะนำสำหรับไคลเอ็นต์พื้นฐานเท่านั้นCLIENT_HINTS_HIGH_ENTROPY
: มีคำแนะนำสำหรับไคลเอ็นต์ รวมถึงช่องอย่างน้อย 1 ช่องที่จัดประเภทเป็น High Entropy