Crea una campagna Demand Gen

Verifica che i requisiti minimi siano soddisfatti: gli asset della campagna Demand Gen devono soddisfare standard di qualità molto elevati, poiché verranno pubblicati su piattaforme molto visive e incentrate sull'intrattenimento, come Discover e YouTube.

Di seguito sono riportati i passaggi per creare una campagna Demand Gen:

  1. Stabilisci un budget.
  2. Crea una campagna Demand Gen con strategie di offerta appropriate.
  3. Crea un gruppo di annunci senza un tipo.
  4. Crea i segmenti di pubblico.
  5. Creare 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 avere un budget giornaliero sufficiente, pari 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.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]});
      

Crea una campagna e una strategia di offerta

Dopo aver creato il budget, puoi procedere con la creazione di una campagna.

A partire dalla versione 17 dell'API Google Ads, le campagne Demand Gen hanno un valore AdvertisingChannelType pari a DEMAND_GEN. Nessun AdvertisingChannelSubType deve essere impostato.

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 un tipo e collegalo alla campagna discovery.

Crea segmenti di pubblico

Crea e collega i segmenti di pubblico utilizzando AdGroupCriterion.

Creare asset e annunci

Per le campagne Demand Gen sono disponibili tre tipi di annunci:

Innanzitutto, crea gli asset per questi tipi di annunci. Consulta la guida alle specifiche degli asset delle campagne Demand Gen e alle best practice per un elenco degli asset disponibili per ogni tipo di annuncio Demand Gen. La guida contiene indicazioni su quali asset sono obbligatori e quanti di questi sono consigliati. Consigliamo inoltre di valutare le prestazioni degli asset per perfezionare le creatività: la sezione sui report spiega come recuperare le metriche di rendimento per le campagne Demand Gen.

DemandGenCarouselAdInfo ha un asset specializzato aggiuntivo chiamato AdDemandGenCarouselCardAsset.

Dopo aver creato gli asset e gli annunci, aggiungili al gruppo di annunci.