Verifica che i requisiti minimi siano soddisfatti: gli asset delle campagne Demand Gen devono soddisfare standard di qualità molto elevati, in quanto verranno pubblicati su piattaforme molto visive e incentrate sull'intrattenimento, come Discover e YouTube.
Ecco i passaggi per creare una campagna Demand Gen:
- Stabilisci un budget.
- Crea una campagna Demand Gen con le strategie di offerta appropriate.
- Crea un gruppo di annunci senza un tipo.
- Creare segmenti di pubblico.
- Crea asset e annunci Demand Gen.
Crea budget
Crea un budget. Tieni presente che una campagna Demand Gen non può utilizzare un budget condiviso. Ti consigliamo di disporre di un budget giornaliero sufficiente, corrispondente ad almeno 15 volte l'offerta basata su CPA target prevista. Scopri di più.
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.V16.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::V16::Resources::CampaignBudget->new({ name => "Interplanetary budget #" . uniqid(), deliveryMethod => STANDARD, amountMicros => 500000 }); # Create a campaign budget operation. my $campaign_budget_operation = Google::Ads::GoogleAds::V16::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]});
Crea la campagna e la strategia di offerta
Dopo aver creato il budget, puoi procedere con la creazione di una campagna.
Le campagne Demand Gen hanno un valore
AdvertisingChannelType
di DISCOVERY
. Non deve essere impostato alcun AdvertisingChannelSubType
.
Imposta gli obiettivi di conversione per la campagna.
Le strategie di offerta supportate sono Massimizza i clic, CPA target, Massimizza le conversioni e ROAS target.
Crea gruppo di annunci
Crea un gruppo di annunci senza tipo e collegalo alla campagna discovery.
Crea segmenti di pubblico
Crea e collega i segmenti di pubblico
utilizzando AdGroupCriterion
.
Creare asset e annunci
Sono disponibili tre tipi di annunci per le campagne Demand Gen:
Innanzitutto, crea gli asset per questi tipi di annunci. Consulta la guida alle specifiche e alle best practice per gli asset della campagna Demand Gen per conoscere l'elenco degli asset disponibili per ogni tipo di annuncio Demand Gen. La guida fornisce indicazioni su quali asset sono richiesti e quanti sono consigliati. Ti consigliamo inoltre di valutare il rendimento degli asset per perfezionare le creatività: nella sezione Report viene spiegato come recuperare le metriche sul rendimento per le campagne Demand Gen.
DiscoveryCarouselAdInfo
ha un asset specializzato aggiuntivo chiamato
AdDiscoveryCarouselCardAsset
.
Dopo aver creato gli asset e gli annunci, aggiungili al gruppo di annunci.