اگر ناشر یا کاربری نیاز به افزایش حفاظت از حریم خصوصی داشته باشد، ممکن است 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"]
گوگل همیشه نسخه های مرورگر و پلتفرم را تعمیم نمی دهد، به ویژه زمانی که نسخه کامل توسط مرورگر ثابت می شود. به عنوان مثال، مقدار زیر 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
تعمیم داده می شود، درخواست bid حاوی سیگنال user_agent
در شی PrivacyTreatments
است:
پروتکل Google BidRequest.privacy_treatments: { user_agent: USER_AGENT_COARSE }
پروتکل OpenRTB BidRequest.ext.privacy_treatments: { user_agent: USER_AGENT_COARSE }
گوگل از رویکردهای مشابهی برای تعمیم رشته User-Agent
و شی UserAgent
استفاده می کند. در نتیجه، رشته User-Agent
تعمیم یافته و شی UserAgent
تعمیم یافته دارای مقدار مشابهی از اطلاعات هستند.