وكيل المستخدم تم إدراج عنوان البريد الإلكتروني هذا سابقًا في طلبات عروض الأسعار لتقديم معلومات بيانات الاستهداف مثل المتصفح والنظام الأساسي لجهاز البدء. ومع ذلك، غالبًا ما تخفي المتصفحات وكيل المستخدم بشكل مكثف نظرًا لصعوبة استخدامه لحماية خصوصية المستخدم بشكل أفضل. ردًا على ذلك، تتيح Google User-Agent Client Hints، وهي يتمّ تضمينها في طلبات عروض الأسعار عند توفّرها لاستكمال عنوان وكيل المستخدم. يمكن الحصول على "تلميحات البرامج" هذه (باختصار) من عناوين Sec-Ch-UA* أو من واجهة برمجة تطبيقات JavaScript Client Hints.
بناءً على البروتوكول المستخدَم، يتم عرض عنوان وكيل المستخدم مع أحد حقول السلسلة التالية:
- OpenRTB:
BidRequest.device.ua
- عرض الأسعار في الوقت الفعلي (RTB) من Google (متوقّف نهائيًا):
BidRequest.user_agent
ستتم تعبئة رسالة UserAgent
بـ "تلميحات العميل" عندما تكون
ولكن ستتم ملؤها بناءً على القيم التي تم تحليلها من
عنوان وكيل المستخدم واعتمادًا على البروتوكول المستخدَم، سيتم عرض هذا الحدث في شكل واحد
في الحقول التالية:
- OpenRTB:
BidRequest.device.sua
- عرض الأسعار في الوقت الفعلي (RTB) من Google (متوقّف نهائيًا):
BidRequest.user_agent_data
ننصح بشدة مقدِّمي عروض الأسعار باستخدام رسالة UserAgent
بدلاً من
سلسلة وكيل المستخدم
كيفية تعبئة UserAgent
على عكس عنوان وكيل المستخدم، تمثِّل الرسالة UserAgent
وكيل المستخدم.
المعلومات مقسمة إلى حقول متعددة لمعلومات محددة.
بناءً على ما إذا كانت تلميحات العملاء متوفرة في طلب الإعلان أم لا،
يمكن تعبئة رسالة واحدة (UserAgent
) بالطرق التالية:
- إذا كان الطلب يحتوي على ما لا يقل عن
منخفض القصور
حقول معلومات العميل، تتم تعبئة
UserAgent
استنادًا إلى محتواها. - وإذا كان الطلب يحتوي على عنوان وكيل المستخدم فقط، سيتم ضبط السمة
UserAgent
على تتم ملؤها بناءً على ما يمكن تحليله من العنوان.
مثال: تعبئة UserAgent
استنادًا إلى عنوان وكيل المستخدم
لنفترض أن هناك طلب إعلان يرسل من خلاله المتصفح العناوين التالية:
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36
قد تظهر حالة UserAgent
التي تتم تعبئتها استنادًا إلى عنوان وكيل المستخدم فقط
ما يلي:
browsers: [{ brand: "Mozilla", version: ["5", "0"] },
{ brand: "AppleWebKit", version: ["537", "36"] },
{ brand: "Chrome", version: ["103", "0", "0", "0"] },
{ brand: "Safari", version: ["537", "36"] }],
platform: { brand: "Windows NT", version: ["10", "0"] },
mobile: false,
architecture: "x86",
bitness: "64",
model: "x64",
source: USER_AGENT_STRING
مثال: تعبئة UserAgent
استنادًا إلى "تلميحات العميل"
لنفترض أن هناك طلب إعلان يرسل من خلاله المتصفح العناوين التالية:
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36
Sec-Ch-Ua: ".Not/A)Brand";v="99", "Google Chrome";v="103", "Chromium";v="103"
Sec-Ch-Ua-Arch: x86
Sec-Ch-Ua-Full-Version: 103.0.5060.134
Sec-Ch-Ua-Mobile: ?0
Sec-Ch-Ua-Platform: Windows
Sec-Ch-Ua-Platform-Version: 15.0.0
وفي الحالات التي يتم فيها تضمين على الأقل تلميحات عن البرامج بقدرة منخفضة على
الإنتروبيا، يتم استخدام واجهة برمجة التطبيقات UserAgent
ستتم تعبئته استنادًا إلى محتوى هذه العناوين حتى في حال كان وكيل المستخدم
الرؤوس موجودة. سيبدو كما يلي:
browsers: [{ brand: ".Not/A)Brand", version: ["99", "0", "0", "0"] },
{ brand: "Google Chrome", version: ["103", "0", "5060", "134"] },
{ brand: "Chromium", version: ["103", "0", "5060", "134"] }],
platform: { brand: "Windows", version: ["15", "0", "0"] },
mobile: false,
architecture: "x86",
bitness: "64",
source: CLIENT_HINTS_HIGH_ENTROPY
التعبئة استنادًا إلى عنوان وكيل المستخدم مقابل تلميحات العميل
تتم تعبئة بعض الحقول بشكل مختلف بناءً على ما إذا كانت تستند إلى رأس وكيل المستخدم أو Client Hints. في ما يلي ملخص لهذه الاختلافات:
- بالنسبة إلى المتصفحات والأنظمة الأساسية المتطابقة، لا يمكن لـ
UserAgent.browsers.brand
سيختلفUserAgent.platform.brand
غالبًا بينUserAgent
استنادًا إلى رأس وكيل المستخدم أو Client Hints. على سبيل المثال:UserAgent.platform.brand
كـ "Windows NT" إذا كان يستند إلى عنوان وكيل المستخدم، أو "Windows" إذا كان يستند إلى Client Hints. - تكون بعض إدخالات
UserAgent.browsers
فريدة لرأس وكيل المستخدم أو إلى Client Hints. على سبيل المثال، سيظهر "AppleWebKit" إذا كانUserAgent
استنادا إلى عنوان وكيل المستخدم، في حين لن يظهر "Chromium" إلا إذا كان يستند إلى "تلميحات العميل". - يمكن أن تحتوي قيمة
UserAgent
المستندة إلى عنوان وكيل المستخدم فقط على قيم مجمّدة. على سبيل المثال، إذا كان النظام الأساسي Windows 11 22H2، سيتم ضبطUserAgent.platform.brand
على "Windows NT" سيتم ضبطUserAgent.platform.version
على[“10”, “0”]
لأن ذلك القيمة الثابتة لأي إصدار Windows أعلى من 10 أو أعلى.
عادةً لن تكون البيانات في UserAgent
المستندة إلى Client Hints
استبدال غير دقيق للمعلومات المجمدة أو المخفيّة إذا كان هناك أي
عدم الاتساق بين عنوان وكيل المستخدم وUserAgent
استنادًا إلى العميل
تلميحات: يجب تفضيل المعلومات الواردة من UserAgent
.
حقول عناصر UserAgent
يلخص هذا القسم كل حقل، مع التركيز على عروض الأسعار في الوقت الفعلي (RTB) الخاصة من Google السلوك وأفضل ممارسات الاستخدام.
المتصفحات
تحتوي على قائمة
BrandVersion
الإدخالات التي يتم ترتيبها بشكل عام حسب الخصوصية - على سبيل المثال، إذا
محتوى browsers
، فقد يظهر brand
لكل إدخال
بالترتيب التالي:
العلامة التجارية | المعنى |
برنامج المتصفح Mozilla | متوافق مع موزيلا |
AppleWebKit | وهي مجموعة فرعية من Mozilla، مستندة إلى AppleWebKit. |
Chrome | متصفّح Chrome، مجموعة فرعية من المتصفحات المتوافقة مع AppleWebKit |
Safari | صيغة الكمبيوتر المكتبي، وليس الجهاز الجوّال. |
لن يدرج UserAgent
دائمًا المتصفِّحات بأي ترتيب محدَّد، خاصةً
إذا كان يستند إلى "تلميحات العميل". في ما يلي توضيح الاختلافات الأخرى
التي يمكنك توقّع رؤيتها استنادًا إلى قيمة source
:
USER_AGENT
: قد يتم اختصار الحقلversion
إلى إصدار رئيسي أو مجمدة (يعتمد على السياسة الخاصة بالوكيل). لاحظ أنه لن يكون إلى أن القيمة مجمّدة.CLIENT_HINTS_LOW_ENTROPY
وCLIENT_HINTS_HIGH_ENTROPY
: الإدخالات هي غير مرتبة حسب أي معايير؛ على سبيل المثال، قد يرسل المتصفح نفسه هذه إدخالات بترتيبات مختلفة في كل طلب. وقد تحتوي أيضًا على إدخال GREASE، الذي تجاهله.CLIENT_HINTS_HIGH_ENTROPY
: يمكن أن تكون جميع الحقول الـversion
الموجودة في المتصفحات: على إصدارات كاملة.
النظام الأساسي
BrandVersion
يصفان النظام الأساسي. قد لا يتوافق ذلك مع وكيل المستخدم.
وتلميحات العميل، لذا قد يتطلب استهداف بعض الأنظمة الأساسية اختبارًا
اسمين. على سبيل المثال، نظام تشغيل Macintosh من Apple يحمل علامة تجارية
"Macintosh" في عنوان وكيل المستخدم، و"macOS" في "تلميحات العميل".
في ما يلي توضيح الاختلافات الأخرى التي يمكنك توقّع رؤيتها استنادًا إلى
قيمة source
:
USER_AGENT
: قد يتم اختصار الحقلversion
إلى إصدار رئيسي أو مجمّد يُرجى العلم أنّه لن يكون هناك ما يشير إلى أنّ القيمة ثابتة.CLIENT_HINTS_LOW_ENTROPY
: لن تتم تعبئة الحقلversion
.CLIENT_HINTS_HIGH_ENTROPY
: يمكن ضبط الحقلversion
على القيمة الكاملة .
الأجهزة الجوّالة
يشير إلى ما إذا كان يجب تحسين محتوى مثل الإعلانات للشاشات الصغيرة و/أو الإدخال باللمس. لاحظ أن هذا ليس بالضرورة مؤشرًا لنوع الجهاز، حيث المتصفحات المتوافقة مع الأجهزة الجوّالة لطلب "موقع إلكتروني متوافق مع أجهزة سطح المكتب".
البنية
يحدد بنية المنصة مثل "x86" أو "arm".
بالنسبة إلى UserAgent
استنادًا إلى Client Hints، يُرجى العِلم أنّه ستتم تعبئة هذا الحقل فقط.
عند ضبط source
على CLIENT_HINTS_HIGH_ENTROPY
.
البت
يحدد حجم البت في النظام الأساسي، مثل ما إذا كان يحتوي على 32 بت أو 64 بت وحدة المعالجة المركزية (CPU). الحقل عبارة عن سلسلة عدد صحيح توفر معلومات إضافية حول هندستها المعمارية؛ على سبيل المثال، يمكن أن يتم تعيين وحدات بت للبنية "x86" إما "32" أو "64".
بالنسبة إلى UserAgent
استنادًا إلى Client Hints، يُرجى العِلم أنّه ستتم تعبئة هذا الحقل فقط.
عند ضبط source
على CLIENT_HINTS_HIGH_ENTROPY
.
الطراز
يحدد طراز الجهاز. بالنسبة للأجهزة المحمولة - بمعنى ليست أجهزة كمبيوتر محمول أو أجهزة الكمبيوتر المكتبي، ستتم تعبئة هذه البيانات باسم طراز مثل "Pixel 6 Pro".
في ما يلي توضيح الاختلافات التي يمكنك توقّعها استنادًا إلى
قيمة source
:
USER_AGENT
- الأجهزة غير الجوّالة: سيحتوي الحقل
model
غالبًا على رابط البنية وقيمة البت مثل “x64” لنظام التشغيل Windows. هذه القيمة وليس من عدّة منصات على سبيل المثال، قد يستخدم Linux "x86_64" الأجهزة. - أجهزة الجوال: لن يشتمل هذا الحقل على البنية والبت.
إذا كنت مهتمًا بهذه القيم، يمكنك الاطّلاع على
UserAgent.architecture
وUserAgent.bitness
- الأجهزة غير الجوّالة: سيحتوي الحقل
CLIENT_HINTS_LOW_ENTROPY
: لن تتم تعبئة الحقلmodel
.CLIENT_HINTS_HIGH_ENTROPY
: لن تتم تعبئة الحقلmodel
إلا لـ طراز الجهاز للأجهزة المحمولة. لم يتم ضبط قيمة للأنظمة الأساسية لأجهزة الكمبيوتر المكتبي.
المصدر
تحدِّد العناوين التي تم استخدامها لإنشاء UserAgent
. بالنسبة إلى حقول العملاء،
يؤدي ذلك أيضًا إلى التمييز بين الحالتَين التاليتَين:
CLIENT_HINTS_LOW_ENTROPY
: تتوفر تلميحات العميل الأساسية فقط.CLIENT_HINTS_HIGH_ENTROPY
: تتوفر تلميحات العميل، بما في ذلك على الأقل حقل واحد مصنف على أنه قصور مرتفع.