اگر یک ناشر یا یک کاربر نیاز به افزایش محافظت از حریم خصوصی داشته باشد، گوگل ممکن است میزان اطلاعات ارائه شده در فیلدهای عامل کاربر را کاهش دهد. وقتی اطلاعات کاهش مییابد، این نمایشهای عامل کاربر تعمیمیافته در نظر گرفته میشوند.
نمایشهای عمومی عامل کاربر با محدود کردن اطلاعاتی که ممکن است یک مرورگر یا دستگاه خاص را از سایر مرورگرها یا دستگاهها متمایز کند، محافظت از حریم خصوصی را افزایش میدهند.
نمای کلی
درخواست پیشنهاد شامل دو نمایش از اطلاعات عامل کاربر است: رشته User-Agent که در BidRequest.device.ua یافت میشود و شیء UserAgent که در BidRequest.device.sua یافت میشود. هر دو فیلد حاوی اطلاعاتی هستند که توسط هدرهای HTTP عامل کاربر درخواست ارائه شدهاند.
عاملهای کاربری غیرتعمیمیافته میتوانند شامل نسخههای جزئیتر مرورگر و سیستم عامل و سایر دادههای جزئی باشند که در شکل کلی عامل کاربری خلاصه میشوند.
عمومیسازی برای تشخیص نوع مرورگر و دستگاه با نسخههای قبلی سازگار است. درخواستهای پیشنهاد قیمت نشان میدهند که آیا فیلدهای عامل کاربر در BidRequest.ext.privacy_treatments عمومیسازی شدهاند یا خیر.
شیء UserAgent عمومی
در UserAgent تعمیمیافته، فیلدهای version از تمام ورودیهای browser و از platform با جایگزینی هرگونه مؤلفه نسخه جزئیتر با صفر، به گونهای کاهش مییابند که فقط شامل نسخه اصلی باشند. هیچ اطلاعات دیگری در شیء UserAgent حذف نمیشود.
مثال زیر محتوای اصلی UserAgent.browser را با شکل تعمیمیافتهی آن مقایسه میکند:
brand: "Chrome" version: ["96", "0", "4664", "92"]
brand: "Chrome" version: ["96", "0", "0", "0"]
گوگل همیشه نسخههای مرورگر و پلتفرم را تعمیم نمیدهد، به خصوص زمانی که نسخه کامل توسط مرورگر مسدود شده باشد. برای مثال، مقدار زیر از UserAgent.browser تغییر نخواهد کرد: brand: "AppleWebKit" version: ["537", "36"] .
وقتی شیء UserAgent تعمیم داده میشود، درخواست پیشنهاد همچنین شامل فیلد user_agent_data در شیء PrivacyTreatments است:
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 است:
BidRequest.ext.privacy_treatments: { user_agent: USER_AGENT_COARSE }
گوگل از رویکردهای مشابهی برای تعمیم رشته User-Agent و شیء UserAgent استفاده میکند. در نتیجه، رشته User-Agent تعمیمیافته و شیء UserAgent تعمیمیافته، حجم اطلاعات مشابهی را حمل میکنند.