4.4 Gerenciamento de campanhas

Introdução


É importante permitir que os comerciantes façam mudanças nas campanhas após a criação. Os aspectos mais críticos que eles devem ser capazes de alterar são os seguintes:

  • Orçamento
  • Status (pausando, ativando, removendo)
  • Segmentação por área geográfica (recomendado, mas opcional)
  • Qualquer outro campo incluído na interface de criação da campanha
.

Orientação sobre UX


Mostrar a lista de campanhas na página de visão geral e em outra página como parte do relatórios de performance de campanhas. Permitir que os usuários pausem, excluam e editem campanhas.

pmax_campaign

Ao editar uma campanha, o comerciante pode modificar os mesmos campos que dados fornecidos durante a criação de uma campanha. Um exemplo de como isso pode visual é mostrado abaixo:

edit_pmax

Orientação técnica


Depois de criar uma campanha Performance Max para varejo, você pode mudar seguintes configurações da campanha:

  • Nome da campanha
  • Orçamento da campanha
  • Status da campanha
  • Critérios de segmentação da campanha

Encontre uma visão geral detalhada de como modificar recursos na Guia do desenvolvedor. É possível modificar um recurso específico usando o serviço exposto endpoint para mudar esse recurso (por exemplo, CampaignService.MutateCampaigns) ou fazer mutação em várias recursos usando a funcionalidade mutate em massa disponível usando o GoogleAdsService.Mutate.

Sempre que possível, recomendamos fazer alterações em massa para reduzir o número de operações necessárias para atualizar uma campanha. Com isso em mente, crie sua arquitetura com base no uso do endpoint GoogleAdsService.Mutate de endpoints de recursos individuais. Isso também facilita a extensão no futuro.

Os exemplos posteriores pressupõem que você já tem os IDs relevantes armazenados no seu no seu banco de dados.

Nome da campanha

Para atualizar o nome de uma campanha, é preciso mudar o Campaign.name. .

Ele não pode conter valores nulos (ponto de código 0x0) e feeds de linha NL (ponto de código 0xA) ou de retorno de carro (ponto de código 0xD).

Orçamento da campanha

É uma prática recomendada atualizar um orçamento existente em vez de substituí-lo com um novo orçamento. Isso garante que sua campanha gaste conforme esperado e não gera superfornecimento.

Atualize somente o valor do orçamento, e não modifique nenhum outro campo. aumentando o valor dos gastos DIÁRIOS.

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

Status da campanha

Para atualizar o status (ativar/pausar/remover) de uma campanha, é necessário mudar a propriedade Campaign.status e atribua o status relevante do Enumeração CampaignStatus.

Você pode encontrar um exemplo de modificação do status da campanha no exemplo de código para atualizar campanha.

Critérios da campanha

Ao atualizar os critérios da campanha, você só precisa fornecer o recurso para atualizar critérios que são expostos ao usuário, isto é, no mínimo, a segmentação por área geográfica e, possivelmente, o idioma de destino. Você pode encontrar um exemplo de atualização um critério de campanha no exemplo de código para atualizar modificador de lance do critério da campanha.

Para atualizar os critérios de segmentação por área geográfica, atualize o CampaignCriterion.location como o valor da nova constante de segmentação 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 atualizar os critérios de segmentação por idioma, é necessário atualizar o valor do parâmetro Valor CampaignCriterion.language com a nova constante de idioma.

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