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

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

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

ภาพรวม

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

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 มักจะไม่อธิบายเกี่ยวกับเวอร์ชันของเบราว์เซอร์และแพลตฟอร์มเสมอไป โดยเฉพาะอย่างยิ่ง เมื่อเบราว์เซอร์หยุดเวอร์ชันเต็ม ตัวอย่างเช่น URL ต่อไปนี้ ค่าของ 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_COARSE }

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

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