ส่วนหัว User-Agent มีอยู่ในคำขอราคาเสนอมาตั้งแต่เดิมเพื่อระบุข้อมูลการกำหนดเป้าหมายที่เป็นประโยชน์ เช่น เบราว์เซอร์และแพลตฟอร์มของอุปกรณ์ที่เริ่มต้น อย่างไรก็ตาม เบราว์เซอร์มักจะปกปิด User-Agent อย่างมากเนื่องจากใช้งานยากและ เพื่อปกป้องความเป็นส่วนตัวของผู้ใช้ให้ดียิ่งขึ้น Google จึงรองรับคำแนะนำสำหรับไคลเอ็นต์ของ User Agent ซึ่งจะรวมอยู่ในคำขอราคาเสนอเมื่อพร้อมใช้งานเพื่อเสริมส่วนหัว User Agent คำแนะนำสำหรับไคลเอ็นต์เหล่านี้ (เรียกสั้นๆ ว่าคำแนะนำ) สามารถดึงข้อมูลจากส่วนหัว Sec-Ch-UA* หรือ จาก API คำแนะนำสำหรับไคลเอ็นต์ JavaScript
ส่วนหัว User-Agent จะแสดงเป็นสตริงในฟิลด์ BidRequest.device.ua
ระบบจะป้อนข้อมูลUserAgent
ข้อความด้วยคำแนะนำสำหรับไคลเอ็นต์เมื่อพร้อมใช้งาน แต่จะ
ป้อนข้อมูลตามค่าที่แยกวิเคราะห์จากส่วนหัว User-Agent ในกรณีอื่นๆ ซึ่งจะแสดงในฟิลด์ BidRequest.device.sua
เราขอแนะนำอย่างยิ่งให้ผู้เสนอราคาใช้ข้อความ UserAgent แทนสตริง User-Agent
วิธีการสร้างข้อมูลใน UserAgent
UserAgent ข้อความจะแสดงข้อมูล User Agent ที่แบ่งออกเป็นหลายฟิลด์สำหรับข้อมูลที่เฉพาะเจาะจง ซึ่งแตกต่างจากส่วนหัว User-Agent
ระบบจะสร้างUserAgentข้อความได้ด้วยวิธีต่อไปนี้ โดยขึ้นอยู่กับว่าคำขอโฆษณามีคำแนะนำไคลเอ็นต์หรือไม่
- หากคำขอมี Client Hints ที่มีเอนโทรปีต่ำอย่างน้อย 1 รายการ ระบบจะสร้าง
UserAgentตามเนื้อหาของ Client Hints เหล่านั้น - หากคำขอมีเฉพาะส่วนหัว 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 หรือคำแนะนำไคลเอ็นต์ เช่นUserAgent.platform.brandอาจปรากฏเป็น "Windows NT" หากอิงตาม ส่วนหัว User-Agent หรือ "Windows" หากอิงตามคำแนะนำสำหรับไคลเอ็นต์ UserAgent.browsersรายการบางรายการจะเฉพาะเจาะจงกับส่วนหัว User-Agent หรือ คำแนะนำสำหรับไคลเอ็นต์ ตัวอย่างเช่น "AppleWebKit" จะปรากฏหากUserAgentอิงตามส่วนหัว User-Agent ในขณะที่ "Chromium" จะปรากฏ หากอิงตามคำแนะนำไคลเอ็นต์เท่านั้น- เฉพาะ
UserAgentที่อิงตามส่วนหัว User-Agent เท่านั้นที่มีค่าคงที่ได้ ตัวอย่างเช่น หากแพลตฟอร์มเป็น Windows 11 22H2UserAgent.platform.brandจะตั้งค่าเป็น "Windows NT" และUserAgent.platform.versionจะตั้งค่าเป็น[“10”, “0”]เนื่องจากเป็น ค่าคงที่สำหรับ Windows เวอร์ชันใดก็ตามที่ตั้งแต่ 10 ขึ้นไป
โดยปกติแล้ว ข้อมูลใน UserAgent ที่อิงตามคำแนะนำไคลเอ็นต์จะไม่ใช่ข้อมูลที่แทนที่ข้อมูลที่ถูกระงับหรือถูกปกปิดอย่างไม่ถูกต้อง หากส่วนหัว User-Agent ไม่สอดคล้องกับ UserAgent ตามคำแนะนำสำหรับไคลเอ็นต์
ควรใช้ข้อมูลจาก UserAgent
ฟิลด์ออบเจ็กต์ UserAgent
ส่วนนี้จะสรุปแต่ละฟิลด์ โดยเน้นที่ลักษณะการทำงานเฉพาะของ RTB ของ Google และแนวทางปฏิบัติแนะนำสำหรับการใช้งาน
เบราว์เซอร์
มีรายการของรายการ BrandVersion
ซึ่งโดยทั่วไปจะเรียงตามความเฉพาะเจาะจง เช่น หากคุณแสดงเนื้อหาของ browsers brand สำหรับแต่ละรายการอาจปรากฏตามลำดับต่อไปนี้
| แบรนด์ | ความหมาย |
| Mozilla | ใช้ได้กับ Mozilla |
| AppleWebKit | WebKitBased ซึ่งเป็นส่วนย่อยของ Mozilla |
| Chrome | เบราว์เซอร์ Chrome ซึ่งเป็นส่วนย่อยของเบราว์เซอร์ที่รองรับ AppleWebKit |
| Safari | รูปแบบเดสก์ท็อป ซึ่งตรงข้ามกับรูปแบบอุปกรณ์เคลื่อนที่ |
UserAgent จะไม่แสดงเบราว์เซอร์ตามลำดับที่เฉพาะเจาะจงเสมอไป โดยเฉพาะ
หากอิงตามคำแนะนำไคลเอ็นต์ ต่อไปนี้คือความแตกต่างอื่นๆ
ที่คุณจะเห็นตามค่าของ source
USER_AGENT: ฟิลด์versionอาจลดลงเหลือเวอร์ชันหลักหรือ ตรึงไว้ (ขึ้นอยู่กับนโยบายเฉพาะของตัวแทน) โปรดทราบว่าจะไม่มี ข้อบ่งชี้ว่าค่าถูกตรึงไว้CLIENT_HINTS_LOW_ENTROPYและCLIENT_HINTS_HIGH_ENTROPY: รายการไม่ได้จัดเรียงตามเกณฑ์ใดๆ เช่น เบราว์เซอร์เดียวกันอาจส่งรายการเหล่านี้ในลำดับที่แตกต่างกันในแต่ละคำขอ นอกจากนี้ ยังอาจมี รายการ GREASE ซึ่ง ควรละเว้นCLIENT_HINTS_HIGH_ENTROPY: ระบบอาจตั้งค่าฟิลด์versionทั้งหมดที่พบในเบราว์เซอร์เป็นเวอร์ชันเต็ม
แพลตฟอร์ม
รายการ BrandVersion
ที่อธิบายแพลตฟอร์ม ซึ่งอาจไม่เข้ากันกับส่วนหัว User-Agent
และคำแนะนำไคลเอ็นต์ ดังนั้นการกำหนดเป้าหมายแพลตฟอร์มบางอย่างอาจต้องทดสอบ
ชื่อ 2 ชื่อ ตัวอย่างเช่น ระบบปฏิบัติการ Macintosh ของ Apple มีการสร้างแบรนด์เป็น "Macintosh" ในส่วนหัว User-Agent แต่เป็น "macOS" ในคำแนะนำไคลเอ็นต์
ต่อไปนี้คือความแตกต่างอื่นๆ ที่คุณจะเห็นตามค่าของ source
USER_AGENT: ฟิลด์versionอาจลดลงเป็นเวอร์ชันหลักหรือ หยุดการอัปเดต โปรดทราบว่าจะไม่มีข้อบ่งชี้ว่าค่าถูกระงับCLIENT_HINTS_LOW_ENTROPY: ระบบจะไม่ป้อนข้อมูลในช่องversionCLIENT_HINTS_HIGH_ENTROPY: อาจตั้งค่าฟิลด์versionเป็นเวอร์ชันเต็ม
มือถือ
ระบุว่าควรเพิ่มประสิทธิภาพเนื้อหา เช่น โฆษณา ให้เหมาะกับหน้าจอขนาดเล็กและ/หรือ การป้อนข้อมูลด้วยการสัมผัสหรือไม่ โปรดทราบว่าสตริงนี้ไม่ได้บ่งบอกถึงประเภทอุปกรณ์เสมอไป เนื่องจากสามารถกำหนดค่าเบราว์เซอร์บนอุปกรณ์เคลื่อนที่ให้ขอ "เว็บไซต์เวอร์ชันเดสก์ท็อป" ได้
สถาปัตยกรรม
ระบุสถาปัตยกรรมของแพลตฟอร์ม เช่น "x86" หรือ "arm"
สำหรับ UserAgent ที่อิงตามคำแนะนำไคลเอ็นต์ โปรดทราบว่าระบบจะป้อนข้อมูลนี้ก็ต่อเมื่อตั้งค่า source เป็น CLIENT_HINTS_HIGH_ENTROPY เท่านั้น
ความแม่นยำ
ระบุบิตของแพลตฟอร์ม เช่น มี CPU แบบ 32 บิตหรือ 64 บิต หรือไม่ ฟิลด์นี้เป็นสตริงจำนวนเต็มที่ให้ข้อมูลเพิ่มเติมเกี่ยวกับ สถาปัตยกรรมของฟิลด์ เช่น สถาปัตยกรรม "x86" สามารถตั้งค่าบิตเนสเป็น "32" หรือ "64" ได้
สำหรับ UserAgent ที่อิงตามคำแนะนำไคลเอ็นต์ โปรดทราบว่าระบบจะป้อนข้อมูลนี้ก็ต่อเมื่อตั้งค่า 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: ระบบจะไม่ป้อนข้อมูลในช่องmodelCLIENT_HINTS_HIGH_ENTROPY: ระบบจะป้อนข้อมูลในช่องmodelสำหรับรุ่นอุปกรณ์ของอุปกรณ์เคลื่อนที่เท่านั้น ไม่ได้ตั้งค่าใดๆ สำหรับแพลตฟอร์มเดสก์ท็อป
แหล่งที่มา
ระบุส่วนหัวที่ใช้สร้าง UserAgent สำหรับคำแนะนำไคลเอ็นต์
ยังแยกความแตกต่างระหว่าง 2 กรณีต่อไปนี้ด้วย
CLIENT_HINTS_LOW_ENTROPY: ใช้ได้เฉพาะคำแนะนำสำหรับไคลเอ็นต์พื้นฐานเท่านั้นCLIENT_HINTS_HIGH_ENTROPY: มีคำแนะนำสำหรับไคลเอ็นต์ รวมถึงมีฟิลด์อย่างน้อย 1 รายการที่จัดเป็น Entropy สูง