Verifique se os requisitos mínimos foram atendidos: os recursos das campanhas Geração de demanda precisam atender a padrões de qualidade muito altos, já que serão veiculados em plataformas muito visuais e voltadas para o entretenimento, como o Discover e o YouTube.
Siga estas etapas para criar uma campanha Geração de demanda:
- Crie um orçamento.
- Criar uma campanha Geração de demanda com estratégias de lances adequadas.
- Criar um grupo de anúncios sem um tipo.
- Criar públicos-alvo.
- Criar recursos e anúncios de geração de demanda.
Criar orçamento
Criar um orçamento. Uma campanha Geração de demanda não pode usar um orçamento compartilhado. Recomendamos que você tenha um orçamento diário suficiente para cobrir pelo menos 15 vezes o lance de CPA desejado esperado. Saiba mais
Java
private static String addCampaignBudget(GoogleAdsClient googleAdsClient, long customerId) { CampaignBudget budget = CampaignBudget.newBuilder() .setName("Interplanetary Cruise Budget #" + getPrintableDateTime()) .setDeliveryMethod(BudgetDeliveryMethod.STANDARD) .setAmountMicros(500_000) .build(); CampaignBudgetOperation op = CampaignBudgetOperation.newBuilder().setCreate(budget).build(); try (CampaignBudgetServiceClient campaignBudgetServiceClient = googleAdsClient.getLatestVersion().createCampaignBudgetServiceClient()) { MutateCampaignBudgetsResponse response = campaignBudgetServiceClient.mutateCampaignBudgets( Long.toString(customerId), ImmutableList.of(op)); String budgetResourceName = response.getResults(0).getResourceName(); System.out.printf("Added budget: %s%n", budgetResourceName); return budgetResourceName; } }
C#
private static string CreateBudget(GoogleAdsClient client, long customerId) { // Get the BudgetService. CampaignBudgetServiceClient budgetService = client.GetService( Services.V17.CampaignBudgetService); // Create the campaign budget. CampaignBudget budget = new CampaignBudget() { Name = "Interplanetary Cruise Budget #" + ExampleUtilities.GetRandomString(), DeliveryMethod = BudgetDeliveryMethod.Standard, AmountMicros = 500000 }; // Create the operation. CampaignBudgetOperation budgetOperation = new CampaignBudgetOperation() { Create = budget }; // Create the campaign budget. MutateCampaignBudgetsResponse response = budgetService.MutateCampaignBudgets( customerId.ToString(), new CampaignBudgetOperation[] { budgetOperation }); return response.Results[0].ResourceName; }
PHP
private static function addCampaignBudget(GoogleAdsClient $googleAdsClient, int $customerId) { // Creates a campaign budget. $budget = new CampaignBudget([ 'name' => 'Interplanetary Cruise Budget #' . Helper::getPrintableDatetime(), 'delivery_method' => BudgetDeliveryMethod::STANDARD, 'amount_micros' => 500000 ]); // Creates a campaign budget operation. $campaignBudgetOperation = new CampaignBudgetOperation(); $campaignBudgetOperation->setCreate($budget); // Issues a mutate request. $campaignBudgetServiceClient = $googleAdsClient->getCampaignBudgetServiceClient(); $response = $campaignBudgetServiceClient->mutateCampaignBudgets( MutateCampaignBudgetsRequest::build($customerId, [$campaignBudgetOperation]) ); /** @var CampaignBudget $addedBudget */ $addedBudget = $response->getResults()[0]; printf("Added budget named '%s'%s", $addedBudget->getResourceName(), PHP_EOL); return $addedBudget->getResourceName(); }
Python
# Create a budget, which can be shared by multiple campaigns. campaign_budget_operation = client.get_type("CampaignBudgetOperation") campaign_budget = campaign_budget_operation.create campaign_budget.name = f"Interplanetary Budget {uuid.uuid4()}" campaign_budget.delivery_method = ( client.enums.BudgetDeliveryMethodEnum.STANDARD ) campaign_budget.amount_micros = 500000 # Add budget. try: campaign_budget_response = ( campaign_budget_service.mutate_campaign_budgets( customer_id=customer_id, operations=[campaign_budget_operation] ) ) except GoogleAdsException as ex: handle_googleads_exception(ex)
Ruby
# Create a budget, which can be shared by multiple campaigns. campaign_budget = client.resource.campaign_budget do |cb| cb.name = "Interplanetary Budget #{(Time.new.to_f * 1000).to_i}" cb.delivery_method = :STANDARD cb.amount_micros = 500000 end operation = client.operation.create_resource.campaign_budget(campaign_budget) # Add budget. return_budget = client.service.campaign_budget.mutate_campaign_budgets( customer_id: customer_id, operations: [operation], )
Perl
# Create a campaign budget, which can be shared by multiple campaigns. my $campaign_budget = Google::Ads::GoogleAds::V17::Resources::CampaignBudget->new({ name => "Interplanetary budget #" . uniqid(), deliveryMethod => STANDARD, amountMicros => 500000 }); # Create a campaign budget operation. my $campaign_budget_operation = Google::Ads::GoogleAds::V17::Services::CampaignBudgetService::CampaignBudgetOperation ->new({create => $campaign_budget}); # Add the campaign budget. my $campaign_budgets_response = $api_client->CampaignBudgetService()->mutate({ customerId => $customer_id, operations => [$campaign_budget_operation]});
Criar campanha e estratégia de lances
Depois disso, você poderá continuar criando uma campanha.
A partir da v17 da API Google Ads, as campanhas Geração de demanda têm um AdvertisingChannelType
de DEMAND_GEN
. Nenhum AdvertisingChannelSubType
deve ser definido.
Configure as metas de conversão da sua campanha.
As estratégias de lances compatíveis são "Maximizar cliques", "CPA desejado", "Maximizar conversões" e "ROAS desejado".
Criar grupo de anúncios
Crie um grupo de anúncios sem um tipo e anexe à campanha Discovery.
Criar públicos-alvo
Crie e anexe públicos-alvo usando AdGroupCriterion
.
Criar recursos e anúncios
Há três tipos de anúncios disponíveis para campanhas Geração de demanda:
Primeiro, crie recursos para esses tipos de anúncio. Confira o guia de práticas recomendadas e especificações de recursos da campanha Geração de demanda para conferir a lista de recursos disponíveis para cada tipo de anúncio. O guia contém orientações sobre quais recursos são necessários e quantos são recomendados. Também recomendamos avaliar a performance dos recursos para ajustar os criativos: a seção de relatórios aborda como recuperar métricas de desempenho para campanhas Geração de demanda.
DemandGenCarouselAdInfo
tem um recurso especializado adicional chamado
AdDemandGenCarouselCardAsset
.
Depois de criar os recursos e os anúncios, adicione os anúncios ao grupo.