הכללה של סוכן משתמש

אם בעלי תוכן דיגיטלי או משתמשים זקוקים לאמצעי הגנה מוגברים על פרטיות, Google עשויה לצמצם את כמות המידע שמזינים בשדות של סוכן המשתמש. כשהמידע מצטמצם, הייצוגים האלה של סוכן המשתמש נחשבים לייצוגים כלליים.

ייצוגים כלליים של סוכני משתמש מספקים הגנות פרטיות מוגברות על ידי הגבלת המידע שעשוי להבדיל בין דפדפן או מכשיר מסוים לבין דפדפנים או מכשירים אחרים.

סקירה כללית

הבקשה להצעת מחיר מכילה שתי ייצוגים של פרטי סוכן המשתמש: המחרוזת User-Agent והאובייקט UserAgent (פרוטוקול Google, OpenRTB). שני השדות מכילים מידע שסופק על ידי כותרות ה-HTTP של סוכן המשתמש של הבקשה.

סוכני משתמש לא כלליים יכולים להכיל גרסאות מפורטות של הדפדפן ושל מערכת ההפעלה, ונתונים מפורטים אחרים שצומצמו באופן הכללי של סוכן המשתמש.

הכללה תואמת לאחור לזיהוי סוג הדפדפן והמכשיר. בקשות להצעות מחיר מציינות אם השדות של סוכן המשתמש הוזנו בשדות PrivacyTreatments (פרוטוקול Google, OpenRTB).

אובייקט UserAgent כללי

בהגדרה הכללית UserAgent, השדות version מכל הרשומות ב-browser ומ-platform מצטמצמים כך שהם מכילים רק את הגרסה הראשית. לשם כך, הם מוחלפים ברכיבי גרסה מפורטים יותר באפסים. אף מידע אחר מהאובייקט 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 יושמטו, כמו גרסת ה-build או הקושחה של המכשיר או נתונים מסוימים שהם ספציפיים לאפליקציה שנוספים בדרך כלל בסוף המחרוזת.

בדוגמה הבאה מוצגת השוואה בין התוכן המקורי של המחרוזת 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 הכללי יש כמות דומה של מידע.