指定或更新出价策略

对于酒店广告,您可以为单个广告系列分配出价策略。

如需详细了解如何为酒店广告选择出价策略,请参阅酒店广告出价概览。熟悉出价策略后,您可以使用 Google Ads API 来分配和更新酒店广告系列出价策略。

指定出价策略

如需在制作新的酒店广告系列时分配出价策略,请按以下步骤操作:

  1. 选择一个 campaign_bidding_strategy。以下 Campaign 上的 oneof 策略可用于酒店广告:

    如需为酒店广告系列启用智能点击付费,请将 manual_cpc.enhanced_cpc_enabled 或 percent_cpc.enhanced_cpc_enabled 设置为 true。

    酒店广告系列不再支持commission策略。如需了解详情,请参阅出价策略类型。

  2. 确定您要用于所选策略的字段名称-值对。

  3. 在创建新广告系列时,在 Campaign 对象上设置所选的策略字段。

此示例演示了如何在创建新广告系列时设置percent_cpc出价策略:

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

更新出价策略

如需更新广告系列的出价策略,请构建一个 CampaignOperation.update,其中包含更新后的策略字段(如分配出价策略中所述)的 Campaign 实例,以及一个包含您设置的策略字段路径(例如 percent_cpc 或 target_roas)的 update_mask。由于策略字段属于单个 oneof,因此设置其中一个字段会清除之前设置的策略,因此在从一种策略类型切换到另一种策略类型时,可以使用相同的操作。如需有关构建更新掩码的帮助,请参阅客户端库中的字段掩码实用程序。