4.4 Administración de campañas
Introducción
Es importante brindar a los comercios la posibilidad de realizar cambios en sus campañas. después de haberlos creado. Los aspectos más críticos que deberían poder cambiar son los siguientes:
- Presupuesto
- Estado (deteniendo, habilitando, quitando)
- Orientación geográfica (opción recomendada, pero opcional)
- Cualquier otro campo que hayas incluido en la interfaz de creación de la campaña
Orientación sobre UX
Mostrar la lista de campañas en la página de resumen y en otra página como parte de informes de rendimiento de campañas. Permite que los usuarios detengan, borren y editen campañas.
Editar una campaña debería permitir que el comercio modifique los mismos campos proporcionó información durante la creación de una campaña. Un ejemplo de cómo esto puede el aspecto se muestra a continuación:
Orientación técnica
Una vez que hayas creado una campaña de máximo rendimiento para la venta minorista, puedes modificar la siguiente configuración de la campaña:
- Nombre de la campaña
- Presupuesto de la campaña
- Estado de la campaña
- Criterios de segmentación de la campaña
Puedes encontrar una descripción general detallada de cómo mutar recursos en la
Guía para desarrolladores. Puedes mutar un recurso específico con el servicio expuesto
de mutación de ese recurso (por ejemplo,
CampaignService.MutateCampaigns
) o puedes mutar entre varias tablas diferentes
con la funcionalidad de modificación masiva disponible mediante la
GoogleAdsService.Mutate
.
Si es posible, recomendamos mutar de forma masiva para reducir la cantidad de
operaciones necesarias para actualizar una campaña. Con esto en mente, debes diseñar
tu arquitectura en torno al uso del extremo GoogleAdsService.Mutate
en su lugar
de extremos de recursos individuales. Esto también permite una extensión más fácil de
en el futuro.
En los ejemplos posteriores, se supone que ya tiene los ID relevantes almacenados en su en la base de datos.
Nombre de la campaña
Para actualizar el nombre de una campaña, debes cambiar la Campaign.name
.
.
No debe contener ningún feed de línea de NL (punto de código 0xA
) nulo (punto de código 0x0
)
o retorno de carro (punto de código 0xD
).
Presupuesto de la campaña
Se considera una práctica recomendada actualizar un presupuesto existente en lugar de reemplazar con un nuevo presupuesto. Esto garantiza que tus campañas inviertan según lo esperado y no genera una sobreimpresión.
Solo debe actualizar el valor del presupuesto y no cambiar ningún otro campo, aumentando el valor de la inversión DIARIA.
Python
budget_resource_name = client.get_service(
"CampaignBudgetService"
).campaign_budget_path(customer_id, budget_id)
mutate_operation = client.get_type("MutateOperation")
campaign_budget = mutate_operation.campaign_budget_operation.update
campaign_budget.resource_name = budget_resource_name
# update the budget amount to the new value
campaign_budget.amount_micros = 50000000
client.copy_from(
mutate_operation.campaign_budget_operation.update_mask,
protobuf_helpers.field_mask(None, campaign_budget._pb),
)
return mutate_operation
Estado de la campaña
Para actualizar el estado (habilitar/detener/eliminar) de una campaña, debe mutar el
Campaign.status
y asigna el estado relevante de la
Enum CampaignStatus
.
Puede encontrar un ejemplo de cómo mutar el estado de la campaña en el código de muestra de actualizar la campaña.
Criterios de campaña
Cuando actualizas los criterios de la campaña, solo debes proporcionar la capacidad para los criterios de actualización que se exponen al usuario, como mínimo, para la segmentación geográfica y, potencialmente, la segmentación por idioma. Puedes encontrar un ejemplo de actualización un criterio de campaña en el código de muestra para Actualizar modificador de oferta del criterio de campaña.
Para actualizar los criterios de segmentación geográfica, debes actualizar el
CampaignCriterion.location
según el valor de la nueva constante de segmentación geográfica.
Python
criterion_rname = client.get_service(
"CampaignCriterionService"
).campaign_criterion_path(
customer_id, campaign_id, criterion_id
)
mutate_operation = client.get_type("MutateOperation")
campaign_criterion = mutate_operation.campaign_criterion_operation.update
campaign_criterion.resource_name = criterion_rname
# Set the geo to the update geo targeting
campaign_criterion.location.geo_target_constant = (
geo_target_constant_service.geo_target_constant_path("1022762")
) # Brooklyn
client.copy_from(
mutate_operation.campaign_criterion_operation.update_mask,
protobuf_helpers.field_mask(None, campaign_criterion._pb),
)
return mutate_operation
Para actualizar los criterios de segmentación por idioma, debes actualizar el valor del parámetro de configuración
Es el valor CampaignCriterion.language
con la constante de idioma nuevo.
Python
campaign_criterion_service = client.get_service("CampaignCriterionService")
criterion_rname = campaign_criterion_service.campaign_criterion_path(
customer_id, campaign_id, criterion_id
)
mutate_operation = client.get_type("MutateOperation")
campaign_criterion = mutate_operation.campaign_criterion_operation.update
campaign_criterion.resource_name = criterion_rname
# Set the language to the updated language
# For a list of all language codes, see:
# https://developers.google.com/google-ads/api/data/codes-formats#languages
campaign_criterion.language.language_constant = (
googleads_service.language_constant_path("1000")
) # English
client.copy_from(
mutate_operation.campaign_criterion_operation.update_mask,
protobuf_helpers.field_mask(None, campaign_criterion._pb),
)
return mutate_operation