การกล่าวทั่วไปเกี่ยวกับ User Agent

หากผู้เผยแพร่โฆษณาหรือผู้ใช้ต้องการการคุ้มครองความเป็นส่วนตัวมากขึ้น Google อาจลดปริมาณข้อมูลที่ให้ไว้ในช่อง User Agent เมื่อลดข้อมูลลง ระบบจะถือว่าการเป็นตัวแทน User Agent เหล่านี้เป็นข้อมูลทั่วไป

การแสดง User Agent ทั่วไปช่วยเพิ่มการคุ้มครองความเป็นส่วนตัวโดยจำกัดข้อมูลที่อาจแยกแยะเบราว์เซอร์หรืออุปกรณ์หนึ่งๆ ออกจากเบราว์เซอร์หรืออุปกรณ์อื่นๆ ได้

ภาพรวม

คำขอราคาเสนอมีข้อมูล User Agent 2 แบบ ได้แก่ สตริง User-Agent และออบเจ็กต์ UserAgent (โปรโตคอลของ Google, OpenRTB) ทั้ง 2 ช่องมีข้อมูลที่ระบุโดยส่วนหัว HTTP ของ User Agent ของคำขอ

User Agent ที่ไม่ได้ทั่วไปอาจมีรายละเอียดเวอร์ชันเบราว์เซอร์และระบบปฏิบัติการ รวมถึงข้อมูลโดยละเอียดอื่นๆ ที่ลดในรูปแบบทั่วไปของ User Agent

การกำหนดทั่วไปนั้นเข้ากันได้แบบย้อนหลังสำหรับการตรวจหาประเภทเบราว์เซอร์และอุปกรณ์ คำขอราคาเสนอจะระบุว่ามีการทำให้ช่อง User Agent เป็นแบบทั่วไปในช่อง PrivacyTreatments หรือไม่ (โปรโตคอลของ Google, OpenRTB)

ออบเจ็กต์ UserAgent โดยทั่วไป

ใน UserAgent ทั่วไป ระบบจะลดช่อง version จากรายการ browser ทั้งหมดและจาก platform ให้เหลือเฉพาะเวอร์ชันหลักโดยแทนที่คอมโพเนนต์เวอร์ชันแบบละเอียดด้วย 0 โดยจะไม่มีการนำข้อมูลอื่นๆ ในออบเจ็กต์ UserAgent ออก

ตัวอย่างต่อไปนี้เปรียบเทียบเนื้อหาต้นฉบับของ UserAgent.browser กับรูปแบบทั่วไป

ต้นฉบับ brand: "Chrome" version: ["96", "0", "4664", "92"]

ทั่วไป brand: "Chrome" version: ["96", "0", "0", "0"]

Google ไม่ได้สร้างข้อมูลทั่วไปในเวอร์ชันต่างๆ ของเบราว์เซอร์และแพลตฟอร์มเสมอไป โดยเฉพาะเมื่อเบราว์เซอร์ตรึงเวอร์ชันเต็ม ตัวอย่างเช่น ระบบจะไม่แก้ไขค่า UserAgent.browser ต่อไปนี้: brand: "AppleWebKit" version: ["537", "36"]

เมื่อมีการทำให้ออบเจ็กต์ UserAgent เป็นแบบทั่วไป คำขอราคาเสนอจะมีช่อง user_agent_data ในออบเจ็กต์ PrivacyTreatments ด้วย ดังนี้

โปรโตคอลของ Google BidRequest.privacy_treatments: { user_agent_data: USER_AGENT_DATA_COARSENED }

โปรโตคอล OpenRTB BidRequest.ext.privacy_treatments: { user_agent_data: USER_AGENT_DATA_COARSENED }

สตริง User-Agent แบบทั่วไป

ในสตริง User-Agent ทั่วไป ระบบจะลดตัวระบุเบราว์เซอร์และแพลตฟอร์มให้เป็นเวอร์ชันหลักเท่านั้น ตัวอย่างเช่น "Chrome/96.0.4664.92" จะกลายเป็น "​​Chrome/96.0.0.0" คอมโพเนนต์ของเวอร์ชันที่ตรึงไว้ เช่น "AppleWebKit/537.36" จะยังคงอยู่ การเปลี่ยนแปลงเหล่านี้เทียบเท่ากับสิ่งที่เราอธิบายสำหรับออบเจ็กต์ UserAgent

ระบบอาจปกปิดรายละเอียดบางอย่างหรือองค์ประกอบที่ไม่ใช่มาตรฐานที่ไม่ซ้ำกันสำหรับสตริง user-Agent ด้วย เช่น เวอร์ชันบิลด์หรือเฟิร์มแวร์ของอุปกรณ์ หรือข้อมูลเฉพาะแอปบางรายการซึ่งมักจะเพิ่มไว้ท้ายสตริง

ตัวอย่างต่อไปนี้เปรียบเทียบเนื้อหาเดิมของสตริง User-Agent กับรูปแบบทั่วไป

ต้นฉบับ Mozilla/5.0 (Linux; Android 11; M2007J20CG Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/96.0.4664.92 Mobile Safari/537.36 [MyApp:CustomSignals:ABC123]

ทั่วไป Mozilla/5.0 (Linux; Android 11; M2007J20CG; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/96.0.0.0 Mobile Safari/537.36

เมื่อมีการทำให้สตริง User-Agent เป็นแบบทั่วไป คำขอราคาเสนอจะมีสัญญาณ user_agent ในออบเจ็กต์ PrivacyTreatments ดังนี้

โปรโตคอลของ Google BidRequest.privacy_treatments: { user_agent: USER_AGENT_COARSENED }

โปรโตคอล OpenRTB BidRequest.ext.privacy_treatments: { user_agent: USER_AGENT_COARSENED }

Google ใช้วิธีการที่คล้ายกันนี้เพื่อทําให้สตริง User-Agent และออบเจ็กต์ UserAgent เป็นแบบทั่วไป ดังนั้น สตริง User-Agent ทั่วไปและออบเจ็กต์ UserAgent ทั่วไปมีข้อมูลในปริมาณใกล้เคียงกัน