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.

pmax_campaign

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:

edit_pmax

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