La creación de grupos de fichas para los grupos de anuncios de Cosas que hacer sigue la misma jerarquía estructural y el mismo proceso de creación de árboles que los grupos de fichas de anuncios de hoteles.
Para particionar tu inventario de Cosas que hacer, usa las dimensiones de actividad especializadas disponibles en ListingDimensionInfo:
ActivityCountryInfo: Filtra por el país de destino (value) con un nombre de recurso de constante de segmentación geográfica (geoTargetConstants/{criterion_id}, como"geoTargetConstants/2840"para EE.UU.).ActivityStateInfo: Filtra por el estado o la región de destino (value) con un nombre de recurso de constante de segmentación geográfica (geoTargetConstants/{criterion_id}).ActivityCityInfo: Filtra por la ciudad de destino (value), utilizando un nombre de recurso de constante de región geográfica de segmentación (geoTargetConstants/{criterion_id}, como"geoTargetConstants/1023191"para la ciudad de Nueva York).ActivityRatingInfo: Filtra por la calificación de estrellas de la actividad o la calificación de los usuarios (value, un número entero de1a5, donde5es la mejor).ActivityIdInfo: Filtra por el ID de actividad específico definido en tu feed del Centro de Actividades (value).
Reglas de jerarquía de dimensiones
Cuando crees un árbol de grupos de fichas de Cosas que hacer, sigue estas reglas:
- Nodo raíz: Cada árbol de grupos de fichas debe comenzar con un solo
AdGroupCriterionraíz cuyolisting_group.typeseaSUBDIVISION(oUNITsi deseas un solo nodo general) y cuyocase_valueno esté configurado. - Subdivisiones y unidades: Las ramas intermedias deben establecer
typeenSUBDIVISION, mientras que los nodos de hoja deben establecertypeenUNIT. La configuración decpc_bid_microsen los nodosUNITes opcional para las campañas de Cosas que hacer, ya que las ofertas se administran automáticamente con la estrategiaMaximizeConversionValuede la campaña. Para excluir una unidad de hoja de la publicación, establecenegative = trueen suAdGroupCriterion. - Nodos de resguardo ("Todo lo demás"): Cada subdivisión debe estar completamente
particionada. Todos los elementos secundarios inmediatos de una subdivisión deben usar el mismo subtipo de
ListingDimensionInfo, y un elemento secundario debe ser una instancia vacía de ese subtipo para capturar todo el inventario restante.
En el siguiente árbol, se ilustra una jerarquía válida particionada por país, ciudad y ID de actividad:
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)
Ejemplo de código
En el siguiente ejemplo de Python, se crea un SUBDIVISION raíz con un ID temporal
(-1) y se particiona por ActivityCountryInfo en una unidad segmentada para
EE.UU. ("geoTargetConstants/2840") y una unidad de resguardo excluida para todos los demás
países:
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
)
¿Qué sigue?
- Consulta las métricas de rendimiento de la actividad en los informes de Cosas que hacer.