Crea una campaña de generación de demanda

Verifica que se cumplan los requisitos mínimos: Los recursos de las campañas de generación de demanda deben cumplir con estándares de calidad muy altos, ya que se publicarán en plataformas muy visuales y centradas en el entretenimiento, como Descubre y YouTube.

Estos son los pasos para crear una campaña de generación de demanda:

  1. Crea un presupuesto.
  2. Crea una campaña de generación de demanda con estrategias de ofertas adecuadas.
  3. Crea un grupo de anuncios sin un tipo.
  4. Crear públicos
  5. Crea recursos y anuncios de generación de demanda.

Crear presupuesto

Crea un presupuesto. Ten en cuenta que una campaña de generación de demanda no puede utilizar un presupuesto compartido. Te recomendamos que establezcas un presupuesto diario suficiente que equivalga a, por lo menos, 15 veces tu oferta de CPA objetivo esperada. Obtén más información.

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]});
      

Crea una campaña y una estrategia de ofertas

Después de crear el presupuesto, puedes continuar con la creación de una campaña.

A partir de la versión 17 de la API de Google Ads, las campañas de generación de demanda tienen un AdvertisingChannelType de DEMAND_GEN. No se debe establecer AdvertisingChannelSubType.

Configura los objetivos de conversión para tu campaña.

Las estrategias de ofertas compatibles son Maximizar clics, CPA objetivo, Maximizar conversiones y ROAS objetivo.

Crear un grupo de anuncios

Crea un grupo de anuncios sin un tipo y adjúntalo a la campaña discovery.

Cómo crear públicos

Crea y adjunta públicos con AdGroupCriterion.

Crea recursos y anuncios

Existen tres tipos de anuncios disponibles para las campañas de generación de demanda:

Primero, crea recursos para estos tipos de anuncios. Consulta la guía de prácticas recomendadas y especificaciones de los recursos de las campañas de generación de demanda para ver la lista de recursos disponibles para cada tipo de anuncio de generación de demanda. En la guía, se proporciona orientación sobre los recursos necesarios y la cantidad de recursos que se recomiendan. También te recomendamos que evalúes el rendimiento de los recursos para definir mejor las creatividades. En la sección Informes, se explica cómo recuperar las métricas de rendimiento de las campañas de generación de demanda.

DemandGenCarouselAdInfo tiene un recurso especializado adicional llamado AdDemandGenCarouselCardAsset.

Después de crear los recursos y los anuncios, agrégalos al grupo de anuncios.