Crea una campagna Demand Gen

Verifica che siano soddisfatti i requisiti minimi: gli asset della campagna Demand Gen devono soddisfare standard di qualità molto elevati, in quanto verranno pubblicati su piattaforme da forte impatto visivo e di 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 segmenti di pubblico.
  5. 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, pari ad almeno 15 volte la tua 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.V18.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::V18::Resources::CampaignBudget->new({
    name           => "Interplanetary budget #" . uniqid(),
    deliveryMethod => STANDARD,
    amountMicros   => 500000
  });

# Create a campaign budget operation.
my $campaign_budget_operation =
  Google::Ads::GoogleAds::V18::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]});
      

Creare la campagna e la 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 di AdvertisingChannelType di DEMAND_GEN. 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 un tipo e associalo alla campagna discovery.

Crea segmenti di pubblico

Crea e allega 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 best practice e alle specifiche degli asset a livello di campagna Demand Gen per l'elenco degli asset disponibili per ogni tipo di annuncio Demand Gen. La guida fornisce indicazioni su quali asset sono obbligatori e su quanti sono consigliati. Ti consigliamo inoltre di valutare il rendimento degli asset per perfezionare le creatività: la sezione Report spiega come recuperare le metriche sul rendimento per le campagne Demand Gen.

DemandGenCarouselAdInfo ha un asset specializzato aggiuntivo chiamato AdDemandGenCarouselCardAsset.

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