تتّبع عملية إنشاء مجموعات من المؤسسات لمجموعات إعلانات "أماكن مقترَحة" التسلسل الهرمي والبنية نفسها وعملية إنشاء الشجرة نفسها المتّبعة في مجموعات المؤسسات في "إعلانات الفنادق".
لتقسيم مستودع "اقتراحات"، استخدِم سمات الأنشطة المتخصّصة المتوفّرة في ListingDimensionInfo:
-
ActivityCountryInfo: يتم الفلترة حسب البلد الوجهة (value)، باستخدام اسم مصدر Geo Target Constant (geoTargetConstants/{criterion_id}، مثل"geoTargetConstants/2840"للولايات المتحدة). -
ActivityStateInfo: يتم الفلترة حسب حالة الوجهة أو المنطقة (value)، باستخدام اسم مورد Geo Target Constant (geoTargetConstants/{criterion_id}). - استبدِل
ActivityCityInfoبما يلي: يتم الفلترة حسب مدينة الوجهة (value)، باستخدام اسم مصدر Geo Target Constant (geoTargetConstants/{criterion_id}، مثل"geoTargetConstants/1023191"لمدينة نيويورك). -
ActivityRatingInfo: يتم الفلترة حسب نجمة النشاط أو تقييم المستخدم (value، وهو عدد صحيح يتراوح بين1و5، حيث5هو الأفضل). ActivityIdInfo: يتم الفلترة حسب معرّف النشاط المحدّد المعرّف في خلاصة "مركز الأنشطة المقترَحة" (value).
قواعد التسلسل الهرمي للسمات
عند إنشاء شجرة لمجموعة بطاقات بيانات "اقتراحات"، اتّبِع القواعد التالية:
- العقدة الجذر: يجب أن تبدأ كل شجرة لمجموعة بطاقات بيانات بعقدة جذر واحدة
AdGroupCriterionيكونlisting_group.typeالخاص بها هوSUBDIVISION(أوUNITإذا كنت تريد عقدة واحدة شاملة) ويكونcase_valueالخاص بها غير مضبوط. - التقسيمات والوحدات: يجب أن تضبط الفروع الوسيطة قيمة
typeعلىSUBDIVISION، بينما يجب أن تضبط عُقد الأوراق قيمةtypeعلىUNIT. إنّ ضبطcpc_bid_microsعلى عقدUNITهو أمر اختياري في "حملات النشاطات المقترَحة" لأنّ عروض الأسعار تتم إدارتها تلقائيًا من خلال استراتيجيةMaximizeConversionValueفي الحملة. لاستبعاد وحدة فرعية من العرض، اضبطnegative = trueعلىAdGroupCriterion. - عُقد الاحتياط ("كل ما عدا ذلك"): يجب تقسيم كل قسم فرعي بالكامل. يجب أن تستخدم جميع الأقسام الفرعية المباشرة لنوع فرعي معيّن النوع الفرعي نفسه
ListingDimensionInfo، ويجب أن يكون أحد الأقسام الفرعية مثيلاً فارغًا من هذا النوع الفرعي لتسجيل كل المستودع الإعلاني المتبقي.
توضّح الشجرة التالية تسلسلاً هرميًا صالحًا مقسّمًا حسب البلد والمدينة ومعرّف النشاط:
Root (SUBDIVISION)
├── ActivityCountryInfo: "geoTargetConstants/2840" (US, SUBDIVISION)
│ ├── ActivityCityInfo: "geoTargetConstants/1023191" (New York, SUBDIVISION)
│ │ ├── ActivityIdInfo: "activity_123" (UNIT, biddable)
│ │ └── ActivityIdInfo: <empty> (UNIT, "Everything else in New York")
│ └── ActivityCityInfo: <empty> (UNIT, "Everything else in US")
└── ActivityCountryInfo: <empty> (UNIT, negative=true, excluded)
مثال على الرمز
ينشئ مثال Python التالي SUBDIVISION جذرًا باستخدام رقم تعريف مؤقت (-1) ويقسمه حسب ActivityCountryInfo إلى وحدة مستهدَفة للولايات المتحدة ("geoTargetConstants/2840") ووحدة احتياطية مستبعَدة لجميع البلدان الأخرى:
ad_group_service = client.get_service("AdGroupService")
ad_group_criterion_service = client.get_service("AdGroupCriterionService")
ad_group_resource_name = ad_group_service.ad_group_path(
customer_id, ad_group_id
)
operations = []
# 1. Create the root SUBDIVISION node with temporary criterion ID -1.
root_op = client.get_type("AdGroupCriterionOperation")
root = root_op.create
root.resource_name = ad_group_criterion_service.ad_group_criterion_path(
customer_id, ad_group_id, -1
)
root.status = client.enums.AdGroupCriterionStatusEnum.ENABLED
root.listing_group.type_ = client.enums.ListingGroupTypeEnum.SUBDIVISION
operations.append(root_op)
# 2. Create a child UNIT node targeting activities in the US.
us_op = client.get_type("AdGroupCriterionOperation")
us_unit = us_op.create
us_unit.ad_group = ad_group_resource_name
us_unit.status = client.enums.AdGroupCriterionStatusEnum.ENABLED
us_unit.listing_group.type_ = client.enums.ListingGroupTypeEnum.UNIT
us_unit.listing_group.parent_ad_group_criterion = root.resource_name
us_unit.listing_group.case_value.activity_country.value = "geoTargetConstants/2840"
operations.append(us_op)
# 3. Create the required fallback ("Everything else") UNIT node.
other_op = client.get_type("AdGroupCriterionOperation")
other_unit = other_op.create
other_unit.ad_group = ad_group_resource_name
other_unit.negative = True
other_unit.listing_group.type_ = client.enums.ListingGroupTypeEnum.UNIT
other_unit.listing_group.parent_ad_group_criterion = root.resource_name
client.copy_from(
other_unit.listing_group.case_value.activity_country,
client.get_type("ActivityCountryInfo"),
)
operations.append(other_op)
response = ad_group_criterion_service.mutate_ad_group_criteria(
customer_id=customer_id, operations=operations
)
الخطوات التالية
- مقاييس أداء نشاط طلب البحث في تقارير "اقتراحات"