تعمیم عامل کاربر

اگر ناشر یا کاربری نیاز به افزایش حفاظت از حریم خصوصی داشته باشد، ممکن است 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 تعمیم یافته دارای مقدار مشابهی از اطلاعات هستند.