La creazione di gruppi di schede per i gruppi di annunci Things to Do segue la stessa gerarchia strutturale e lo stesso processo di creazione ad albero dei gruppi di schede di annunci per hotel.
Per suddividere l'inventario di Cose da fare, utilizza le dimensioni specializzate per le attività disponibili in ListingDimensionInfo:
ActivityCountryInfo: filtra in base al paese di destinazione (value), utilizzando un nome della risorsa Geo Target Constant (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 della risorsa Geo Target Constant (geoTargetConstants/{criterion_id}).ActivityCityInfo: filtra in base alla città di destinazione (value), utilizzando un nome della risorsa Geo Target Constant (geoTargetConstants/{criterion_id}, ad esempio"geoTargetConstants/1023191"per New York City).ActivityRatingInfo: filtra in base alla stella dell'attività o alla valutazione degli utenti (value, un numero intero compreso tra1e5, dove5è il valore migliore).ActivityIdInfo: filtra in base all'ID attività specifico definito nel feed di Things to do Center (value).
Regole della gerarchia delle dimensioni
Quando crei un albero di gruppi di schede di 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 generico) e il cuicase_valuenon è impostato. - Suddivisioni e unità: i rami intermedi devono impostare
typesuSUBDIVISION, mentre i nodi foglia devono impostaretypesuUNIT. L'impostazione dicpc_bid_microssui nodiUNITè facoltativa per le campagne Things to Do perché le offerte vengono gestite automaticamente dalla strategiaMaximizeConversionValuedella campagna. Per escludere un'unità foglia dalla pubblicazione, impostanegative = truesuAdGroupCriterion. - Nodi di riserva ("Tutto il resto"): ogni suddivisione deve essere completamente
partizionata. Tutti gli elementi secondari immediati di una suddivisione devono utilizzare lo stesso sottotipo
ListingDimensionInfoe un elemento secondario deve essere un'istanza vuota di quel sottotipo per acquisire tutto l'inventario rimanente.
La seguente struttura ad albero illustra una gerarchia valida suddivisa 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)
Codice di esempio
L'esempio Python seguente crea un SUBDIVISION principale utilizzando un ID temporaneo (-1) e lo suddivide in base a ActivityCountryInfo in un'unità target 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
- Esegui query sulle metriche sul rendimento delle attività nei report di Things to Do.