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.
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:
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