Atribuir ou atualizar uma estratégia de lances

Nos anúncios de hotel, é possível atribuir uma estratégia de lances a uma campanha específica.

Confira detalhes sobre como escolher estratégias de lances para anúncios de hotel na visão geral de lances para anúncios de hotel. Depois de se familiarizar com as estratégias de lances, use a API Google Ads para atribuir e atualizar as estratégias de lances das campanhas de hotel.

Atribuir uma estratégia de lances

Para atribuir uma estratégia ao criar uma campanha de hotel, siga estas etapas:

  1. Escolha um campaign_bidding_strategy. As seguintes estratégias de oneof em Campaign podem ser usadas para anúncios de hotel:

    Para ativar o CPC otimizado em uma campanha de hotel, defina manual_cpc.enhanced_cpc_enabled ou percent_cpc.enhanced_cpc_enabled como true.

    A estratégia commission não está mais disponível para campanhas de hotel. Para mais detalhes, consulte Tipos de estratégia de lances.

  2. Determine o par nome-valor do campo que você quer usar para a estratégia escolhida.

  3. Defina o campo da estratégia escolhida no objeto Campaign ao criar a nova campanha.

Este exemplo demonstra como definir uma estratégia de lances percent_cpc ao criar uma campanha:

Java

// Creates the campaign.
Campaign campaign =
    Campaign.newBuilder()
        .setName("Interplanetary Cruise #" + getPrintableDateTime())
        // Configures settings related to hotel campaigns including advertising channel type
        // and hotel setting info.
        .setAdvertisingChannelType(AdvertisingChannelType.HOTEL)
        .setHotelSetting(hotelSettingInfo)
        // Recommendation: Sets the campaign to PAUSED when creating it to prevent
        // the ads from immediately serving. Set to ENABLED once you've added
        // targeting and the ads are ready to serve
        .setStatus(CampaignStatus.PAUSED)
        // Sets the bidding strategy to Percent CPC. Only Manual CPC and Percent CPC can be used
        // for hotel campaigns.
        .setPercentCpc(
            PercentCpc.newBuilder().setCpcBidCeilingMicros(cpcBidCeilingMicroAmount).build())
        // Sets the budget.
        .setCampaignBudget(budgetResourceName)
        // Adds the networkSettings configured above.
        .setNetworkSettings(networkSettings)
        // Declares whether this campaign serves political ads targeting the EU.
        .setContainsEuPoliticalAdvertising(DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING)
        .build();
      

C#

// Create a campaign.
Campaign campaign = new Campaign()
{
    Name = "Interplanetary Cruise Campaign #" + ExampleUtilities.GetRandomString(),

    // Configure settings related to hotel campaigns including advertising channel type
    // and hotel setting info.
    AdvertisingChannelType = AdvertisingChannelType.Hotel,
    HotelSetting = new HotelSettingInfo()
    {
        HotelCenterId = hotelCenterAccountId
    },

    // Recommendation: Set the campaign to PAUSED when creating it to prevent
    // the ads from immediately serving. Set to ENABLED once you've added
    // targeting and the ads are ready to serve.
    Status = CampaignStatus.Paused,

    // Sets the bidding strategy to PercentCpc. Only Manual CPC and Percent CPC can
    // be used for hotel campaigns.
    PercentCpc = new PercentCpc()
    {
        CpcBidCeilingMicros = cpcBidCeilingMicroAmount
    },

    // Set the budget.
    CampaignBudget = budgetResourceName,

    // Configure the campaign network options. Only Google Search is allowed for
    // hotel campaigns.
    NetworkSettings = new NetworkSettings()
    {
        TargetGoogleSearch = true
    },

    // Declare whether or not this campaign contains political ads targeting the EU.
    ContainsEuPoliticalAdvertising = EuPoliticalAdvertisingStatus.DoesNotContainEuPoliticalAdvertising,
};
      

PHP

// Creates a campaign.
$campaign = new Campaign(
    [
    'name' => 'Interplanetary Cruise Campaign #' . Helper::getPrintableDatetime(),
    // Configures settings related to hotel campaigns including advertising channel type
    // and hotel setting info.
    'advertising_channel_type' => AdvertisingChannelType::HOTEL,
    'hotel_setting' => new HotelSettingInfo(['hotel_center_id' => $hotelCenterAccountId]),
    // Recommendation: Set the campaign to PAUSED when creating it to prevent
    // the ads from immediately serving. Set to ENABLED once you've added
    // targeting and the ads are ready to serve.
    'status' => CampaignStatus::PAUSED,
    // Sets the bidding strategy to PercentCpc. Only Manual CPC and Percent CPC can be used
    // for hotel campaigns.
    'percent_cpc' => new PercentCpc(
        [
        'cpc_bid_ceiling_micros' => $cpcBidCeilingMicroAmount
        ]
    ),
    // Sets the budget.
    'campaign_budget' => $budgetResourceName,
    // Configures the campaign network options. Only Google Search is allowed for
    // hotel campaigns.
    'network_settings' => new NetworkSettings(
        [
        'target_google_search' => true,
        ]
    ),
    // Declare whether or not this campaign serves political ads targeting the EU.
    'contains_eu_political_advertising' =>
        EuPoliticalAdvertisingStatus::DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING
    ]
);
      

Python

# Create campaign.
campaign_operation: CampaignOperation = client.get_type("CampaignOperation")
campaign: Campaign = campaign_operation.create
campaign.name = f"Interplanetary Cruise Campaign {uuid.uuid4()}"

# Configures settings related to hotel campaigns including advertising
# channel type and hotel setting info.
campaign.advertising_channel_type = (
    client.enums.AdvertisingChannelTypeEnum.HOTEL
)
campaign.hotel_setting.hotel_center_id = hotel_center_account_id

# Recommendation: Set the campaign to PAUSED when creating it to prevent the
# ads from immediately serving. Set to ENABLED once you've added targeting
# and the ads are ready to serve.
campaign.status = client.enums.CampaignStatusEnum.PAUSED

# Set the bidding strategy to PercentCpc. Only Manual CPC and Percent CPC
# can be used for hotel campaigns.
campaign.percent_cpc.cpc_bid_ceiling_micros = cpc_bid_ceiling_micro_amount

# Sets the budget.
campaign.campaign_budget = budget_resource_name

# Set the campaign network options. Only Google Search is allowed for hotel
# campaigns.
campaign.network_settings.target_google_search = True

# Declare whether or not this campaign serves political ads targeting the
# EU. Valid values are:
#   CONTAINS_EU_POLITICAL_ADVERTISING
#   DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING
campaign.contains_eu_political_advertising = (
    client.enums.EuPoliticalAdvertisingStatusEnum.DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING
)
      

Ruby

# Create a campaign.
campaign_operation = client.operation.create_resource.campaign do |c|
  c.name = generate_random_name_field("Interplanetary Cruise Campaign")

  # Configure settings related to hotel campaigns.
  c.advertising_channel_type = :HOTEL
  c.hotel_setting = client.resource.hotel_setting_info do |hsi|
    hsi.hotel_center_id = hotel_center_account_id
  end

  # Recommendation: Set the campaign to PAUSED when creating it to prevent the
  # ads from immediately serving. Set to ENABLED once you've added targeting and
  # the ads are ready to serve.
  c.status = :PAUSED

  # Set the bidding strategy to PercentCpc. Only Manual CPC and Percent CPC can
  # be used for hotel campaigns.
  c.percent_cpc = client.resource.percent_cpc do |pcpc|
    pcpc.cpc_bid_ceiling_micros = cpc_bid_ceiling_micro_amount
  end

  # Set the budget.
  c.campaign_budget = budget_resource

  # Configures the campaign network options. Only Google Search is allowed for
  # hotel campaigns.
  c.network_settings = client.resource.network_settings do |ns|
    ns.target_google_search = true
  end

  # Declare whether or not this campaign serves political ads targeting the EU.
  # Valid values are CONTAINS_EU_POLITICAL_ADVERTISING and
  # DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING.
  c.contains_eu_political_advertising = :DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING
end
      

Perl

# Create a hotel campaign.
my $campaign = Google::Ads::GoogleAds::V25::Resources::Campaign->new({
    name => "Interplanetary Cruise Campaign #" . uniqid(),
    # Configure settings related to hotel campaigns including advertising
    # channel type and hotel setting info.
    advertisingChannelType => HOTEL,
    hotelSetting           =>
      Google::Ads::GoogleAds::V25::Resources::HotelSettingInfo->new({
        hotelCenterId => $hotel_center_account_id
      }
      ),
    # Recommendation: Set the campaign to PAUSED when creating it to prevent
    # the ads from immediately serving. Set to ENABLED once you've added
    # targeting and the ads are ready to serve.
    status => Google::Ads::GoogleAds::V25::Enums::CampaignStatusEnum::PAUSED,
    # Set the bidding strategy to PercentCpc. Only Manual CPC and Percent CPC
    # can be used for hotel campaigns.
    percentCpc => Google::Ads::GoogleAds::V25::Common::PercentCpc->new(
      {cpcBidCeilingMicros => $cpc_bid_ceiling_micro_amount}
    ),
    # Declare whether or not this campaign serves political ads targeting the EU.
    # Valid values are CONTAINS_EU_POLITICAL_ADVERTISING and
    # DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING.
    containsEuPoliticalAdvertising =>
      DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING,
    # Set the budget.
    campaignBudget => $budget_resource_name,
    # Configure the campaign network options. Only Google Search is allowed for
    # hotel campaigns.
    networkSettings =>
      Google::Ads::GoogleAds::V25::Resources::NetworkSettings->new({
        targetGoogleSearch => "true"
      })});
      

curl

Atualizar uma estratégia de lances

Para atualizar a estratégia de lances de uma campanha, crie um CampaignOperation.update com uma instância Campaign que contenha o campo de estratégia atualizado (conforme descrito em Atribuir uma estratégia de lances) e um update_mask que inclua o caminho do campo de estratégia definido (por exemplo, percent_cpc ou target_roas). Como os campos de estratégia pertencem a um único oneof, definir um deles limpa a estratégia definida anteriormente. Portanto, a mesma operação funciona ao mudar de um tipo de estratégia para outro. Para ajuda na criação de máscaras de atualização, consulte os utilitários de máscara de campo na sua biblioteca de cliente.