Das Erstellen von Eintragsgruppen für Anzeigengruppen mit möglichen Aktivitäten folgt derselben strukturellen Hierarchie und demselben Prozess zum Erstellen von Baumstrukturen wie Eintragsgruppen für Hotelanzeigen.
Wenn Sie Ihr Inventar für „Mögliche Aktivitäten“ partitionieren möchten, verwenden Sie die speziellen Aktivitätsdimensionen, die in ListingDimensionInfo verfügbar sind:
ActivityCountryInfo: Filtert nach dem Zielland (value) mithilfe eines Ressourcennamens für die Geo-Targeting-Konstante (geoTargetConstants/{criterion_id}, z. B."geoTargetConstants/2840"für die USA).ActivityStateInfo: Filtert nach dem Zielbundesstaat oder der Zielregion (value) mithilfe eines Ressourcennamens für die Geo-Targeting-Konstante (geoTargetConstants/{criterion_id}).ActivityCityInfo: Filtert nach der Zielstadt (value) mithilfe eines Ressourcennamens für die Geo-Targeting-Konstante (geoTargetConstants/{criterion_id}, z. B."geoTargetConstants/1023191"für New York City).ActivityRatingInfo: Filtert nach der Aktivitätsbewertung oder Nutzerbewertung (value, eine Ganzzahl von1bis5, wobei5die beste Bewertung ist).ActivityIdInfo: Filtert nach der spezifischen Aktivitäts-ID, die in Ihrem Feed im „Mögliche Aktivitäten“-Center (value) definiert ist.
Regeln für die Dimensionshierarchie
Beachten Sie beim Erstellen einer Baumstruktur für Eintragsgruppen für „Mögliche Aktivitäten“ die folgenden Regeln:
- Stammknoten: Jeder Eintragsgruppenbaum muss mit einem einzelnen Stammknoten
AdGroupCriterionbeginnen, dessenlisting_group.typeSUBDIVISIONist (oderUNIT, wenn Sie einen einzelnen Catch-all-Knoten verwenden möchten) und dessencase_valuenicht festgelegt ist. - Unterteilungen und Einheiten: Bei Zwischenzweigen muss
typeaufSUBDIVISIONfestgelegt werden, bei Blattknoten musstypeaufUNITfestgelegt werden. Die Einstellungcpc_bid_microsfürUNIT-Knoten ist für Kampagnen für Anzeigen mit möglichen Aktivitäten optional, da Gebote automatisch über dieMaximizeConversionValue-Strategie der Kampagne verwaltet werden. Wenn Sie eine Blatteinheit von der Bereitstellung ausschließen möchten, legen Sienegative = truefür die entsprechendeAdGroupCriterionfest. - Fallback-Knoten („Alles andere“): Jede Unterteilung muss vollständig partitioniert sein. Alle direkt untergeordneten Elemente einer Unterteilung müssen denselben
ListingDimensionInfo-Untertyp verwenden und ein untergeordnetes Element muss eine leere Instanz dieses Untertyps sein, um das gesamte verbleibende Inventar zu erfassen.
Die folgende Struktur veranschaulicht eine gültige Hierarchie, die nach Land, Stadt und Aktivitäts-ID partitioniert ist:
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)
Codebeispiel
Im folgenden Python-Beispiel wird ein Stamm-SUBDIVISION mit einer temporären ID (-1) erstellt und nach ActivityCountryInfo in eine Ziel-Einheit für die USA ("geoTargetConstants/2840") und eine ausgeschlossene Fallback-Einheit für alle anderen Länder partitioniert:
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
)
Nächste Schritte
- Leistungsmesswerte für Aktivitäten in der Berichterstellung für „Mögliche Aktivitäten“ abfragen.