استهداف وكيل المستخدم

تم في السابق تضمين عنوان وكيل المستخدم في طلبات عروض الأسعار لتوفير بيانات استهداف مفيدة، مثل متصفّح الجهاز ونظامه الأساسي الذي يبدأ بتشغيله. ومع ذلك، غالبًا ما تحجب المتصفحات وكيل المستخدم بشكل كبير بسبب صعوبة استخدامها ولحماية خصوصية المستخدم بشكل أفضل. استجابةً لذلك، تتيح Google استخدام ميزة User-Agent Client Hints، التي يتم تضمينها في طلبات عروض الأسعار عندما تكون متاحة لإكمال عنوان وكيل المستخدم. يمكن الحصول على تلميحات العميل هذه (باختصار) من عناوين Sec-Ch-UA* أو من Javascript Client Hints API.

وفقًا للبروتوكول المستخدَم، يتم عرض عنوان وكيل المستخدم مع أحد حقول السلسلة التالية:

  • Google: BidRequest.user_agent
  • OpenRTB: BidRequest.device.ua

ستتم تعبئة رسالة UserAgent بـ "تلميحات العميل" عندما تكون متاحة، ولكن ستتم تعبئتها استنادًا إلى القيم التي يتم تحليلها من عنوان وكيل المستخدم. وفقًا للبروتوكول المستخدَم، سيظهر هذا الحقل كأحد الحقول التالية:

  • Google: BidRequest.user_agent_data
  • OpenRTB: BidRequest.device.sua

ننصح مقدِّمي عروض الأسعار بشدة باستخدام رسالة 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

التعبئة استنادًا إلى عنوان وكيل المستخدم مقابل تلميحات العميل

تتم تعبئة بعض الحقول بشكل مختلف بناءً على ما إذا كانت تستند إلى عنوان وكيل المستخدم أو تلميحات العميل. في ما يلي ملخّص لهذه الاختلافات:

  • بالنسبة إلى المتصفّحات والأنظمة الأساسية المتطابقة، ستختلف غالبًا UserAgent.browsers.brand وUserAgent.platform.brand بين UserAgent استنادًا إلى عنوان وكيل المستخدم أو تلميحات العميل. على سبيل المثال، قد يظهر الرمز UserAgent.platform.brand بالصيغة "Windows NT" إذا كان يستند إلى عنوان وكيل المستخدم أو "Windows" إذا كان يستند إلى "تلميحات العميل".
  • تكون بعض إدخالات UserAgent.browsers فريدة لعنوان وكيل المستخدم أو لـ Client Hints. على سبيل المثال، سيظهر "AppleWebKit" إذا كان UserAgent يستنِد إلى عنوان وكيل المستخدم، بينما سيظهر "Chromium" فقط إذا كانت تستند إلى "تلميحات العميل".
  • يمكن أن يحتوي UserAgent فقط المستنِد إلى عنوان وكيل المستخدم على قيم ثابتة. على سبيل المثال، إذا كان النظام الأساسي هو Windows 11 22H2، سيتم ضبط UserAgent.platform.brand على "Windows NT" وضبط UserAgent.platform.version على [“10”, “0”] لأنّ هذه هي القيمة الثابتة لأي إصدار من إصدارات Windows في الإصدار 10 أو أعلى.

لن تكون عادةً البيانات في UserAgent المستندة إلى "تلميحات العميل" بديلاً غير دقيق للمعلومات المجمّدة أو المخفية. إذا كان هناك أي اختلاف بين عنوان وكيل المستخدم وUserAgent استنادًا إلى تلميحات العميل، يجب تفضيل المعلومات الواردة من UserAgent.

حقول عناصر UserAgent

يلخّص هذا القسم كل حقل، مع التركيز على السلوك المحدّد لعرض الأسعار في الوقت الفعلي (RTB) من Google وأفضل الممارسات للاستخدام.

المتصفحات

يحتوي على قائمة بإدخالات BrandVersion التي يتم ترتيبها بشكل عام حسب الخصوصية، على سبيل المثال، إذا أردت إدراج محتويات browsers، قد يظهر brand لكل إدخال بالترتيب التالي:

العلامة التجارية المعنى
Mozilla متوافق مع Mozilla
AppleWebKit المستندة إلى AppleWebKit، وهي مجموعة فرعية من Mozilla.
Chrome متصفح Chrome، وهو مجموعة فرعية من المتصفحات المتوافقة مع AppleWebKit
برنامج المتصفح Safari إصدار سطح المكتب، بدلاً من الهاتف المحمول.

لن يدرج UserAgent دائمًا المتصفّحات بأي ترتيب معيّن، لا سيّما إذا كان يستند إلى Client Hints. يوضّح ما يلي الاختلافات الأخرى التي يمكنك توقّعها استنادًا إلى قيمة source:

  • USER_AGENT: قد يتم اختصار الحقل version إلى إصدار رئيسي أو يمكن تجميده (بناءً على السياسة الخاصة بالوكيل). لاحظ أنه لن يكون هناك ما يشير إلى أن القيمة مجمدة.
  • CLIENT_HINTS_LOW_ENTROPY وCLIENT_HINTS_HIGH_ENTROPY: لا يتم ترتيب الإدخالات وفقًا لأي معايير، على سبيل المثال، قد يرسل المتصفح نفسه هذه الإدخالات بترتيب مختلف في كل طلب. وقد تحتوي أيضًا على إدخال GREASE ويجب تجاهله.
  • CLIENT_HINTS_HIGH_ENTROPY: يمكن ضبط جميع حقول version الموجودة في المتصفحات على إصدارات كاملة.

النظام الأساسي

إدخال BrandVersion يصف النظام الأساسي. وقد لا يكون ذلك متوافقًا مع عنوان "وكيل المستخدم" و"تلميحات العميل"، لذلك قد يتطلب استهداف بعض الأنظمة الأساسية اختبار اسمَين. على سبيل المثال، تتم الإشارة إلى نظام تشغيل Macintosh من Apple باسم "Macintosh" في عنوان وكيل المستخدم، ولكن تتم الإشارة إلى "macOS" في Client Hints. يوضّح ما يلي الاختلافات الأخرى التي يمكنك توقّعها استنادًا إلى قيمة source:

  • USER_AGENT: قد يتم تصغير الحقل version إلى إصدار رئيسي أو قد يتم تجميده. يُرجى العلم أنّه لن يكون هناك ما يشير إلى أنّ القيمة ثابتة.
  • CLIENT_HINTS_LOW_ENTROPY: لن تتم تعبئة الحقل version.
  • CLIENT_HINTS_HIGH_ENTROPY: يمكن ضبط الحقل version على النسخة الكاملة.

الأجهزة الجوّالة

تشير إلى ما إذا كان يجب تحسين محتوى مثل الإعلانات ليتوافق مع الشاشات الصغيرة و/أو الإدخال باللمس. يُرجى العلم أنّ هذا ليس بالضرورة مؤشرًا على نوع الجهاز، لأنّه يمكن ضبط متصفّحات الأجهزة الجوّالة لطلب "موقع إلكتروني متوافق مع أجهزة الكمبيوتر المكتبي".

هندسة معمارية

تحدد بنية النظام الأساسي مثل "x86" أو "arm".

بالنسبة إلى UserAgent استنادًا إلى "تلميحات العميل"، يُرجى العِلم أنّه لن تتم تعبئة هذه السمة إلا عند ضبط السمة source على CLIENT_HINTS_HIGH_ENTROPY.

البت

يحدد عدد وحدات البت في النظام الأساسي، مثل ما إذا كان يحتوي على وحدة معالجة مركزية (CPU) 32 بت أو 64 بت. الحقل عبارة عن سلسلة عدد صحيح توفر معلومات إضافية حول بنيته الأساسية؛ على سبيل المثال، يمكن تعيين وحدة بت لبنية "x86" على "32" أو "64".

بالنسبة إلى UserAgent استنادًا إلى "تلميحات العميل"، يُرجى العِلم أنّه لن تتم تعبئة هذه السمة إلا عند ضبط السمة 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: تتوفّر تلميحات العميل، بما في ذلك حقل واحد على الأقل مصنّف على أنّه قصور مرتفع.