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

وكيل المستخدم تم إدراج عنوان البريد الإلكتروني هذا سابقًا في طلبات عروض الأسعار لتقديم معلومات بيانات الاستهداف مثل المتصفح والنظام الأساسي لجهاز البدء. ومع ذلك، غالبًا ما تخفي المتصفحات وكيل المستخدم بشكل مكثف نظرًا لصعوبة استخدامه لحماية خصوصية المستخدم بشكل أفضل. ردًا على ذلك، تتيح 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: تتوفر تلميحات العميل، بما في ذلك على الأقل حقل واحد مصنف على أنه قصور مرتفع.