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 altos, ya que se publicarán en plataformas visuales y centradas en el entretenimiento, como Descubre y YouTube.

Para crear una campaña de generación de demanda, sigue estos pasos:

  1. Crear 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 las campañas de generación de demanda no pueden utilizar un presupuesto compartido. Te recomendamos que establezcas un presupuesto diario suficiente que equivalga a, al menos, 15 veces tu oferta de CPA objetivo esperado. 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.V20.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: CampaignBudgetOperation = client.get_type(
    "CampaignBudgetOperation"
)
campaign_budget: CampaignBudget = 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.
campaign_budget_response: MutateCampaignBudgetsResponse
try:
    budget_operations: List[CampaignBudgetOperation] = [
        campaign_budget_operation
    ]
    campaign_budget_response = (
        campaign_budget_service.mutate_campaign_budgets(
            customer_id=customer_id,
            operations=budget_operations,
        )
    )
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::V20::Resources::CampaignBudget->new({
    name           => "Interplanetary budget #" . uniqid(),
    deliveryMethod => STANDARD,
    amountMicros   => 500000
  });

# Create a campaign budget operation.
my $campaign_budget_operation =
  Google::Ads::GoogleAds::V20::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 crear una campaña.

Las campañas de generación de demanda tienen un AdvertisingChannelType de DEMAND_GEN. No se debe establecer ningún AdvertisingChannelSubType.

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

Estrategias de ofertas compatibles: 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 de generación de demanda.

Con las campañas de generación de demanda, puedes establecer los criterios de grupo de ubicación y de idioma a nivel del grupo de anuncios.

Cómo crear públicos

Crea y adjunta públicos con AdGroupCriterion.

Crea recursos y anuncios

Hay 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 para 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 indica qué recursos son obligatorios y cuántos se recomiendan. También recomendamos evaluar el rendimiento de los recursos para ajustar los creativos: 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 adicional especializado llamado AdDemandGenCarouselCardAsset.

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