La creazione di gruppi di schede per i gruppi di annunci di Cose da fare segue la stessa gerarchia strutturale e lo stesso processo di creazione dell'albero dei gruppi di schede Hotel Ads.
Per partizionare l'inventario di Things to Do, utilizza le dimensioni specializzate per le attività disponibili in ListingDimensionInfo:
ActivityCountryInfo: filtra in base al paese di destinazione (value), utilizzando un nome risorsa costante di targeting geografico (geoTargetConstants/{criterion_id}, ad esempio"geoTargetConstants/2840"per gli Stati Uniti).ActivityStateInfo: filtra in base allo stato o alla regione di destinazione (value), utilizzando un nome di risorsa costante di targeting geografico (geoTargetConstants/{criterion_id}).ActivityCityInfo: filtra in base alla città di destinazione (value), utilizzando un nome risorsa costante di targeting geografico (geoTargetConstants/{criterion_id}, ad esempio"geoTargetConstants/1023191"per New York).ActivityRatingInfo: filtra in base alla stella dell'attività o alla valutazione dell'utente (value, un numero intero compreso tra1e5, dove5è la valutazione migliore).ActivityIdInfo: filtra in base all'ID attività specifico definito nel feed del Centro per le cose da fare (value).
Regole della gerarchia delle dimensioni
Quando crei una struttura ad albero del gruppo di schede Cose da fare, segui queste regole:
- Nodo principale: ogni albero di gruppi di schede deve iniziare con un singolo nodo principale
AdGroupCriterionil cuilisting_group.typeèSUBDIVISION(oUNITse vuoi un singolo nodo catch-all) e il cuicase_valuenon è impostato. - Suddivisioni e unità: i rami intermedi devono impostare
typesuSUBDIVISION, mentre i nodi foglia devono impostaretypesuUNIT. L'impostazionecpc_bid_microssui nodiUNITè facoltativa per le campagne Cose da fare perché le offerte vengono gestite automaticamente dalla strategiaMaximizeConversionValuedella campagna. Per escludere una unità foglia dalla pubblicazione, impostanegative = truesul relativoAdGroupCriterion. - Nodi di riserva ("Tutto il resto"): ogni suddivisione deve essere completamente
partizionata. Tutti i figli immediati di una suddivisione devono utilizzare lo stesso
sottotipo
ListingDimensionInfoe uno dei figli deve essere un'istanza vuota di questo sottotipo per acquisire tutto l'inventario rimanente.
Il seguente albero illustra una gerarchia valida partizionata per paese, città e ID attività:
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)
Esempio di codice
L'esempio Python seguente crea una radice SUBDIVISION utilizzando un ID temporaneo
(-1) e la partiziona in base a ActivityCountryInfo in un'unità di destinazione per gli
Stati Uniti ("geoTargetConstants/2840") e un'unità di riserva esclusa per tutti gli altri
paesi:
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
)
Passaggi successivi
- Metriche sul rendimento dell'attività di query nei report Cose da fare.