يتبع إنشاء مجموعات بيانات لـ "المجموعات الإعلانية للنشاطات المقترَحة" التسلسل الهرمي الهيكلي نفسه وعملية إنشاء الشجرة نفسها التي تتبعها مجموعات بيانات إعلانات الفنادق.
لتقسيم مستودع "نشاطات مقترحة"، استخدِم سمات النشاط المتخصّصة المتاحة في ListingDimensionInfo:
-
ActivityCountryInfo: تتم الفلترة حسب بلد الوجهة (value)، باستخدام اسم مورد ثابت للموقع الجغرافي المستهدف (geoTargetConstants/{criterion_id}، مثل"geoTargetConstants/2840"للولايات المتحدة). -
ActivityStateInfo: لفلترة المنتجات حسب الولاية أو المنطقة المقصودة (value)، باستخدام اسم مورد ثابت للموقع الجغرافي المستهدف (geoTargetConstants/{criterion_id}). -
ActivityCityInfo: لفلترة النتائج حسب مدينة الوجهة (value)، باستخدام اسم مورد ثابت للموقع الجغرافي المستهدف (geoTargetConstants/{criterion_id}، مثل"geoTargetConstants/1023191"لمدينة نيويورك). -
ActivityRatingInfo: لفلترة النتائج حسب تقييم النشاط بالنجوم أو تقييم المستخدمين (value، عدد صحيح من1إلى5، حيث يمثّل5أفضل تقييم) ActivityIdInfo: لفلترة النتائج حسب معرّف النشاط المحدّد في خلاصة Things to do Center (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
)
الخطوات التالية
- يمكنك الاستعلام عن مقاييس أداء النشاط في تقارير "نشاطات مقترَحة".