Lances

O Google AdWords fornece várias opções de lance para os seus anúncios, dependendo do que é mais importante para você e sua empresa.

Na AdWords API, todos os parâmetros de lances são gerenciados por meio de pelo menos um dos seguintes objetos:

Com qualquer um dos objetos, é possível usar o campo biddingStrategyType, o campo biddingScheme ou ambos para especificar um tipo de lance. O biddingScheme permite que você defina parâmetros adicionais, específicos ao tipo de lance. Quando os dois campos são especificados, os tipos deles precisam ser compatíveis.

Tipos de estratégia

Na tabela abaixo, a coluna Contextos válidos indica se um determinado BiddingStrategyType e tipo BiddingScheme associado a ele podem ser usados em um ou nos dois contextos mencionados acima:

  • a estratégia padrão com um objeto BiddingStrategyConfiguration
  • a estratégia de portfólio com um objeto SharedBiddingStrategy
BiddingStrategyType BiddingScheme Nome descritivo Contextos válidos
BUDGET_OPTIMIZER

Reprovado. Use o TARGET_SPEND.

BudgetOptimizerBiddingScheme Otimizador de orçamentos Padrão
CONVERSION_OPTIMIZER

Reprovado. Use o TARGET_CPA.

ConversionOptimizerBiddingScheme Focus on conversions – use CPA bids Padrão
ENHANCED_CPC EnhancedCpcBiddingScheme CPC otimizado Portfólio
MANUAL_CPC ManualCpcBiddingScheme Enfoque em cliques – use lances máximos de CPC Padrão
MANUAL_CPM ManualCpmBiddingScheme Enfoque em impressões Padrão
PAGE_ONE_PROMOTED PageOnePromotedBiddingScheme Definir posição na página de pesquisa Portfólio
TARGET_CPA TargetCpaBiddingScheme Custo por aquisição (CPA) desejado – precisa cumprir os requisitos de qualificação Portfólio
Padrão
TARGET_OUTRANK_SHARE TargetOutrankShareBiddingScheme Parcela de superação desejada Portfólio
TARGET_ROAS TargetRoasBiddingScheme Retorno do investimento em publicidade desejado – precisa cumprir os requisitos de qualificação Portfólio
TARGET_SPEND TargetSpendBiddingScheme Maximizar cliques Portfólio
Padrão

Se você tentar usar um BiddingStrategyType ou um BiddingScheme no contexto errado, ocorrerão erros:

  • O uso de um tipo ou esquema somente de portfólio no contexto de uma estratégia padrão gera um erro BiddingErrors com o motivo INVALID_ANONYMOUS_BIDDING_STRATEGY_TYPE.
  • O uso de um tipo ou esquema somente padrão no contexto de uma estratégia de portfólio gera um erro BiddingErrors com o motivo BIDDING_STRATEGY_NOT_SUPPORTED.

Como definir lances

É possível definir lances no nível do grupo de anúncios e do critério do grupo de anúncios. Um lance de critério substituirá um lance de grupo de anúncios.

É possível definir vários lances de diferentes tipos em uma única estratégia simultaneamente (por exemplo, CpcBid e CpmBid). No entanto, somente o lance que corresponde ao biddingStrategyType selecionado é usado.

Os relatórios também retornam somente o lance ativo no momento. Se você fizer a transição para um tipo diferente de lance, o lance correspondente será usado.

O exemplo de código a seguir usa uma chamada de modificação para adicionar um lance de CPC ao nível do grupo de anúncios.

// Create ad group bid.
BiddingStrategyConfiguration biddingStrategyConfiguration =
    new BiddingStrategyConfiguration();
CpcBid bid = new CpcBid();
bid.setBid(new Money(null, 10000000L));

// You can optionally provide this field.
bid.setContentBid(new Money(null, 20000000L));

biddingStrategyConfiguration.setBids(new Bids[] {bid});
adGroup.setBiddingStrategyConfiguration(biddingStrategyConfiguration);

// Create operation.
AdGroupOperation operation = new AdGroupOperation();
operation.setOperand(adGroup);
operation.setOperator(Operator.SET);
AdGroupOperation[] operations = new AdGroupOperation[] {operation};

// Update ad group.
AdGroupReturnValue result = adGroupService.mutate(operations);

Como remover lances

Para remover um lance de uma BiddingStrategyConfiguration, atualize o campo bid, transformando-o em um objeto Money com o microAmount definido como 0.

Transições de estratégias de lances

Para alterar a estratégia de lances, faça uma chamada mutate() para o serviço correspondente com os campos da estratégia atualizados. O exemplo abaixo ilustra como alterar o tipo de lance para uma campanha definindo um biddingScheme diferente:

// Create a new local Campaign object.
Campaign campaign = new Campaign();
campaign.setId(campaignId);

// Create a new biddingStrategyConfiguration.
BiddingStrategyConfiguration biddingStrategyConfiguration =
    new BiddingStrategyConfiguration();

// You can specify either type or scheme, or both.
biddingStrategyConfiguration.setBiddingScheme(new ManualCpcBiddingScheme());
campaign.setBiddingStrategyConfiguration(biddingStrategyConfiguration);

// Create SET operation.
CampaignOperation operation = new CampaignOperation();
operation.setOperand(campaign);
operation.setOperator(Operator.SET);
CampaignOperation[] operations = new CampaignOperation[] {operation};

// Update the campaign.
CampaignReturnValue result = campaignService.mutate(operations);

Estratégias de lances de portfólio

É possível usar estratégias de lances de portfólio com as suas campanhas, grupos de anúncios ou palavras-chave.

Use o BiddingStrategyService para criar uma SharedBiddingStrategy e defina os parâmetros. Por exemplo, para usar uma estratégia de lances de portfólio existente, atualize o biddingStrategyConfiguration da campanha com o ID da estratégia:

BiddingStrategyConfiguration biddingStrategyConfiguration = new BiddingStrategyConfiguration();
biddingStrategyConfiguration.setBiddingStrategyId(strategyId);

campaign.setBiddingStrategyConfiguration(biddingStrategyConfiguration);

Dimensões dos critérios da Rede de Display

Para anúncios exibidos na Rede de Display, há várias dimensões diferentes para as quais é possível definir um lance de grupo de anúncios. Se vários lances forem definidos em dimensões diferentes, o campo contentBidCriterionTypeGroup poderá ser usado para especificar a dimensão que deverá ser usada para lances absolutos. Os anúncios na rede de pesquisa sempre usam lances de palavras-chave.

Você também pode definir um ajuste de lance que será usado quando o critério não estiver em uma dimensão de lance absoluto. Ele pode ser acessado por meio do campo bidModifier do BiddableAdGroupCriterion.

Modificadores de lances

Os ajustes de lance no nível da campanha e do grupo de anúncios proporcionam maior controle sobre seus lances nas campanhas do Google AdWords. Eles oferecem a opção de aumentar ou diminuir os lances para determinados critérios.

Na AdWords API, os ajustes no nível da campanha são acessados por meio do CampaignCriterionService, e os ajustes no nível do grupo de anúncios são acessados por meio do AdGroupBidModifierService.

Como recuperar os ajustes de lance

Para recuperar os ajustes de lance existentes, use o método get() ou query() do CampaignCriterionService ou do AdGroupBidModifierService. Assim como outros serviços, o método get() aceita um seletor genérico que permite selecionar campos de resposta e filtrar o conjunto de resultados.

O código abaixo recupera os dez primeiros critérios de plataforma no nível da campanha existentes de todas as suas campanhas:

// Get the CampaignCriterionService.
CampaignCriterionServiceInterface campaignCriterionService =
    adWordsServices.get(session, CampaignCriterionServiceInterface.class);

// Create a selector that limits to the first 10 platform criteria found.
Selector selector =
    new SelectorBuilder()
        .fields(
            CampaignCriterionField.CampaignId,
            CampaignCriterionField.Id,
            CampaignCriterionField.CriteriaType,
            CampaignCriterionField.BidModifier)
        .equals(CampaignCriterionField.CriteriaType, "PLATFORM")
        .equals(CampaignCriterionField.IsNegative, "false")
        .limit(10)
        .build();

// Make a 'get' request.
CampaignCriterionPage campaignCriterionPage = campaignCriterionService.get(selector);

// Display the results.
if (campaignCriterionPage.getEntries() != null) {
  for (CampaignCriterion campaignCriterion : campaignCriterionPage.getEntries()) {
    String value =
        campaignCriterion.getBidModifier() == null
            ? "unset"
            : String.format("%.2f", campaignCriterion.getBidModifier());
    System.out.printf(
        "Campaign ID %d, criterion ID %d has campaign level bid modifier %s.%n",
        campaignCriterion.getCampaignId(), campaignCriterion.getCriterion().getId(), value);
  }
} else {
  System.out.println("No campaign criteria found.");
}

Como adicionar, atualizar e remover ajustes de lance

Use o método mutate() do CampaignCriterionService ou do AdGroupBidModifierService para adicionar ou alterar um ajuste de lance:

  • Para adicionar um novo modificador de lance, use o operador ADD.
  • Para atualizar a substituição de um lance existente para um novo valor, use o operador SET.
  • Para remover a substituição de um modificador de lance, use o operador REMOVE.

Este exemplo demonstra como adicionar um novo ajuste de lance para dispositivos móveis no nível da campanha:

// Get the CampaignCriterionService.
CampaignCriterionServiceInterface campaignCriterionService =
    adWordsServices.get(session, CampaignCriterionServiceInterface.class);

// Create mobile platform. The ID can be found in the documentation.
// https://developers.google.com/adwords/api/docs/appendix/platforms
Platform mobile = new Platform();
mobile.setId(30001L);

// Create criterion with modified bid.
CampaignCriterion campaignCriterion = new CampaignCriterion();
campaignCriterion.setCampaignId(campaignId);
campaignCriterion.setCriterion(mobile);
campaignCriterion.setBidModifier(BID_MODIFIER);

// Create SET operation.
CampaignCriterionOperation operation = new CampaignCriterionOperation();
operation.setOperand(campaignCriterion);
operation.setOperator(Operator.SET);

// Update campaign criterion.
CampaignCriterionReturnValue result =
    campaignCriterionService.mutate(new CampaignCriterionOperation[] {operation});
for (CampaignCriterion campaignCriterionResult : result.getValue()) {
  System.out.printf("Campaign criterion with campaign ID %d, criterion ID %d, "
      + "and type '%s' was modified with bid %.4f.%n",
      campaignCriterionResult.getCampaignId(),
      campaignCriterionResult.getCriterion().getId(),
      campaignCriterionResult.getCriterion().getType(),
      campaignCriterionResult.getBidModifier());
}

Enviar comentários sobre…

Precisa de ajuda? Acesse nossa página de suporte.