لكلّ طلب إعلان، يمكنك تمرير مفتاح واحد أو أكثر، ولكلّ مفتاح قيمة واحدة أو أكثر مرتبطة به. وسيتم تقييم قيم السمات الأساسية هذه بالاستناد إلى خيارات الاستهداف
المُعدّة على مستوى العنصر في "مدير إعلانات Google". على سبيل المثال، إذا
تم ضبط مفتاح وقيمة مخصّصَين لهما القيمة age=18-34، ستكون العناصر التي تستهدف الفئة العمرية
من 18 إلى 34 عامًا مؤهّلة للعرض، بافتراض أنّ جميع المعايير الأخرى تتطابق.
ضبط الاستهداف
يمكنك تحديد مفاتيح وقيم لضبط الاستهداف على مستوى كلّ من المساحة
والصفحة استنادًا إلى احتياجات شبكتك.
على مستوى الفتحة
يتيح لك هذا الإجراء ضبط قيم مفاتيح لمواضع إعلان فردية على صفحتك.
يتيح لك الاستهداف على مستوى المساحة الإعلانية ضبط الاستهداف على أساس كل مساحة إعلانية.
يكون ذلك مفيدًا في الحالات التي تتطلّب فيها مواضع إعلان فردية على الصفحة نفسها targeting مختلفًا، ولكن يمكن أن يكون غير فعّال في الحالات التي يتم فيها تطبيق قيم المفاتيح نفسها على جميع المواضع. استخدِم Slot.setTargeting() للاستفادة من ميزة تحديد الشرائح على مستوى المساحة، كما هو موضّح في المثال التالي.
على مستوى الصفحة
يسمح لك هذا الإجراء بضبط قيم المفاتيح في جميع الخانات الإعلانية على صفحتك.
يضمن الاستهداف على مستوى الصفحة أن تتضمّن جميع مواضع الإعلانات المجموعة نفسها من
القيم الرئيسية. في بعض الحالات، قد يؤدي ذلك إلى تقليل إجمالي مقدار الرمز البرمجي المطلوب لتحديد الاستهداف. استخدِم الدوالّ التالية:
googletag.pubads().setTargeting() للاستفادة من
الاستهداف على مستوى الصفحة، كما هو موضّح في المثال التالي.
في هذا المثال، تمّ تحديد خانتَي إعلان تحدّدان الوحدة الإعلانية
/6355419/Travel/Asia وحجم الإعلان 728x90. بعد ذلك، يتم تطبيق استهداف المفتاح والقيمة
لفرض مزيد من القيود على الإعلانات التي قد يتم عرضها في كل
موضع إعلان وتمييز هذه الإعلانات.
عند استخدام الاستهداف على مستوى الشريحة والصفحة معًا، يتم دمج قيم المفاتيح
ولن تكون سوى الإعلانات التي تستوفي جميع المعايير مؤهَّلة للعرض في خانة معيّنة.
في هذا المثال، الاستهداف الفعّال لكل خانة هو:
شريحة إعلانية
الاستهداف الفعّال
1
color=red AND position=atf AND interests=basketball
2
position=btf AND interests=basketball
استهداف مفاتيح أو قيم متعدّدة
في المثال السابق، تم استخدام تركيبة من الاستهداف على مستوى المساحة والصفحة لتحديد مفاتيح استهداف متعددة لموقع إعلاني واحد. في ما يلي بعض
الطرق البديلة لتحقيق الاستهداف الفعّال نفسه:
الاستهداف على مستوى المساحة فقط
في هذا المثال، يتم تكرار قيم المفاتيح المشتركة لكلّ خانة إعلان.
من الممكن أيضًا استهداف قيم متعدّدة لمفتاح واحد من خلال تقديم
صفيف من القيم عند استدعاء setTargeting():
// Page-level targeting with multiple values for a single key.
googletag.pubads().setTargeting('interests', ['baseball', 'basketball']);
استهداف واضح
بعد ضبط الاستهداف، سيتم إرسال قيم المفاتيح التي تم ضبطها مع كل
طلب إعلان طوال مدة عرض الإعلان. في بعض الحالات، مع ذلك، قد
يكون من المستحسن تغيير الاستهداف بمرور الوقت. على الرغم من أنّه يمكن استخدام setTargeting()
لإضافة قيم المفاتيح واستبدالها، لا يمكن إزالتها بهذه الطريقة.
ولإجراء ذلك، يجب استخدام Slot.clearTargeting() أو
googletag.pubads().clearTargeting() بدلاً من ذلك.
عند استدعاء clearTargeting() باستخدام مفتاح معيّن (إما على مستوى
المكان أو الصفحة)، تتم إزالة هذا المفتاح فقط. في حال عدم تحديد مفتاح، تتم إزالة كلّ
الاستهداف على هذا المستوى.
في المثال السابق، يكون الاستهداف الفعّال لموضع الإعلان بعد كل
خطوة على النحو التالي:
الخطوة
الاستهداف الفعّال
0
color=red AND position=atf AND interests=basketball
تاريخ التعديل الأخير: 2024-11-23 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2024-11-23 (حسب التوقيت العالمي المتفَّق عليه)"],[[["\u003cp\u003eKey-values offer granular ad targeting beyond ad units, enhancing ad relevance by enabling specific criteria like age or interests for ad delivery.\u003c/p\u003e\n"],["\u003cp\u003eSlot-level targeting allows customization for individual ad slots, while page-level targeting applies to all slots on a page, streamlining setup when uniform targeting is desired.\u003c/p\u003e\n"],["\u003cp\u003eCombining slot- and page-level targeting creates layered targeting, where ads must satisfy all criteria to be eligible for serving, enhancing ad precision.\u003c/p\u003e\n"],["\u003cp\u003eGoogle Ad Manager has functions for clearing targeting, such as \u003ccode\u003eclearTargeting()\u003c/code\u003e, which allows removal of specific keys or all targeting at a particular level, providing flexibility in dynamic ad scenarios.\u003c/p\u003e\n"]]],["Key-values refine ad targeting at the slot or page level. Slot-level targeting uses `Slot.setTargeting()` for individual ad slots. Page-level targeting, using `googletag.pubads().setTargeting()`, applies to all slots. Both can be combined, with slot-level values taking precedence. Multiple values for one key are set using an array. To remove key-values use `Slot.clearTargeting()` or `googletag.pubads().clearTargeting()`. Remember, page-level key values can be modified but not removed at the slot level.\n"],null,["# Key-value targeting\n\nKey-values can be used to target ads more granularly than ad units. Learn more\nabout [key-values](//support.google.com/admanager/answer/188092).\n| **Warning:** Use key-value targeting with care. Under the terms of your contract, you must not pass any data that Google Ad Manager could [use or recognize as\n| personally identifiable information](//support.google.com/admanager/answer/7686480).\n\nFor each ad request, you may pass one or more keys, each with one or more\nassociated values. These key-values will be evaluated against targeting options\nconfigured at the line item-level in Ad Manager. For example, if\nyou pass a custom key-value of `age=18-34`, line items targeted to the age range\n18-34 will be eligible to serve, assuming all other criteria matches.\n\nSet targeting\n-------------\n\nYou may specify key-values to configure targeting at both the slot- and\npage-level based on your network's needs.\n\nSlot-level\n\n: Allows you to set key-values for individual ad slots on your page.\n\n Slot-level targeting allows you to configure targeting on a per-slot basis.\n This is useful in cases where individual slots on the same page require\n different targeting, but can be inefficient in situations where the same\n key-values are applied to all slots. Use\n [`slot.setConfig({ targeting: ... })`](/publisher-tag/reference#googletag.config.SlotSettingsConfig.targeting) to utilize\n slot-level targeting, as in the following example.\n\nPage-level\n\n: Allows you to set key-values across all ad slots on your page.\n\n Page-level targeting ensures that all ad slots have the same set of\n key-values. In some cases this may reduce the total amount of code needed to\n configure targeting. Use\n [`googletag.setConfig({ targeting: ... })`](/publisher-tag/reference#googletag.config.PageSettingsConfig.targeting) to\nutilize page-level targeting, as in the following example. \n\n```javascript\nwindow.googletag = window.googletag || { cmd: [] };\n\n// GPT slots\nlet adSlots = [];\n\ngoogletag.cmd.push(() =\u003e {\n // Configure slot-level targeting.\n adSlots[0] = googletag\n .defineSlot(\"/6355419/Travel/Asia\", [728, 90], \"banner-ad-1\")\n .addService(googletag.pubads());\n adSlots[0].setConfig({\n targeting: {\n color: \"red\",\n position: \"atf\",\n },\n });\n\n adSlots[1] = googletag\n .defineSlot(\"/6355419/Travel/Asia\", [728, 90], \"banner-ad-2\")\n .addService(googletag.pubads());\n adSlots[1].setConfig({\n targeting: {\n position: \"btf\",\n },\n });\n\n // Configure page-level targeting and enable SRA.\n googletag.setConfig({\n targeting: {\n interests: \"basketball\",\n },\n singleRequest: true,\n });\n\n // Enable services.\n googletag.enableServices();\n});\n```\n\nIn this example, two ad slots are defined which specify ad unit\n`/6355419/Travel/Asia` and ad size `728x90`. Then key-value targeting is\napplied to further restrict and differentiate the ads which may serve in each\nslot.\n\nWhen both slot- and page-level targeting are used, the key-values are combined\nand only ads satisfying all criteria will be eligible to serve to a given slot.\nIn this example, the effective tageting for each slot is:\n\n| Ad slot | Effective targeting |\n|---------|-------------------------------------------------------|\n| 1 | `color=red AND position=atf AND interests=basketball` |\n| 2 | `position=btf AND interests=basketball` |\n\n| **Note:** If the same targeting key is defined at both the page- and slot-level, the slot-level value will take precedence for that slot.\n\n### Target multiple keys or values\n\nIn the preceding example, a combination of slot- and page-level targeting was\nused to define multiple targeting keys for a single ad slot. Here are some\nalternative approaches to achieve the same effective targeting: \n\n### Slot-level targeting only\n\nIn this example, shared key-values are repeated for each ad slot. \n\n // Slot-level targeting with multiple keys.\n adSlots[0] = googletag\n .defineSlot('/6355419/Travel/Asia', [728, 90], 'banner-ad-1')\n .addService(googletag.pubads());\n adSlots[0].setConfig({\n targeting: {\n color: 'red',\n position: 'atf',\n interests: 'basketball'\n }\n });\n adSlots[1] = googletag\n .defineSlot('/6355419/Travel/Asia', [728, 90], 'banner-ad-2')\n .addService(googletag.pubads());\n adSlots[1].setConfig({\n targeting: {\n position: 'btf',\n interests: 'basketball'\n }\n });\n\n### Page-level default targeting\n\nIn this example, default targeting is set at the page-level and overridden\nat the slot-level as necessary.\n**Caution:** Key-values set at the page-level cannot be cleared at the slot-level, only modified. \n\n // Page-level default targeting.\n googletag.setConfig({\n targeting: {\n interests: 'basketball',\n position: 'btf'\n }\n });\n\n // Slot-level targeting overrides.\n adSlots[0] = googletag\n .defineSlot('/6355419/Travel/Asia', [728, 90], 'banner-ad-1')\n .addService(googletag.pubads());\n adSlots[0].setConfig({\n targeting: {\n color: 'red',\n position: 'atf'\n }\n });\n adSlots[1] = googletag\n .defineSlot('/6355419/Travel/Asia', [728, 90], 'banner-ad-2')\n .addService(googletag.pubads());\n\nIt's also possible to target multiple values for a single key by providing an\narray of values when calling `setConfig()`: \n\n // Page-level targeting with multiple values for a single key.\n googletag.setConfig({ targeting: { interests: ['baseball', 'basketball'] } });\n\nClear targeting\n---------------\n\nOnce targeting has been set, the configured key-values will be sent with every\nad request for the life of the ad slot. In some circumstances, however, it may\nbe desirable for targeting to change over time. While `setConfig()` can be\nused to add and overwrite key-values, it's not possible to remove them this way.\nTo accomplish that, you must clear the targeting by setting the value to `null`\nin the `setConfig()` method. \n\n```javascript\n// Step 0, define slot- and page-level targeting.\nadSlots[0] = googletag\n .defineSlot(\"/6355419/Travel/Asia\", [728, 90], \"banner-ad-1\")\n .addService(googletag.pubads());\nadSlots[0].setConfig({\n targeting: {\n color: \"red\",\n position: \"atf\",\n },\n});\n\ngoogletag.setConfig({\n targeting: {\n interests: \"basketball\",\n },\n singleRequest: true,\n});\n\n// Step 1, clear slot-level color targeting.\nadSlots[0].setConfig({\n targeting: {\n color: null,\n },\n});\n\n// Step 2, clear all page-level targeting.\ngoogletag.setConfig({\n targeting: null,\n});\n```\n\nWhen `clearTargeting()` is called with a specific key (either at the\nslot- or page- level), only that key is removed. When no key is specified, all\ntargeting at that level is removed.\n\nIn the preceding example, the effective targeting for the ad slot after each\nstep is:\n\n| Step | Effective targeting |\n|------|-------------------------------------------------------|\n| 0 | `color=red AND position=atf AND interests=basketball` |\n| 1 | `position=atf AND interests=basketball` |\n| 2 | `position=atf` |"]]