Google Ads API를 사용하여 호텔 광고의 입찰가 조정 (입찰가 조정이라고도 함)을 설정할 수 있습니다. 입찰가 조정의 작동 방식에 대한 자세한 내용은 호텔 광고의 입찰가 조정에 대한 정보를 참고하세요.
캠페인 수준 입찰가 조정
Google Ads API를 사용하여 캠페인 수준에서 입찰가 조정을 설정하려면 입찰가 조정 관리를 참고하세요.
광고 그룹 수준 입찰가 조정
v26부터 AdGroupBidModifier의 호텔별 기준 5개가 카테고리에 구애받지 않는 이름 (예: 예약 시작 요일, 예약 기간)으로 변경되어 이전 버전의 호텔별 기준을 대체합니다. 이러한 입찰가 조정은 호텔 캠페인과 여행 검색 캠페인 모두에서 호텔 광고에만 계속 지원됩니다. v25 이하에서 생성된 기존 입찰가 조정은 동일한 기준 ID 및 리소스 이름으로 자동으로 이월됩니다. 모든 v26 브레이킹 체인지에 대한 요약은 출시 노트를 참고하세요.
광고 그룹 수준에서 입찰가 조정을 설정하려면 타겟팅하려는 측정기준의 기준 객체를 만들고 해당 필드를 적절한 값으로 설정합니다. v26 이상에서는 카테고리에 구애받지 않는 기준 객체인 AdvanceBookingWindowInfo, UserSetDatesInfo, StartDayOfWeekInfo, LengthOfBookingInfo 또는 StartDateRangeInfo를 사용합니다. v25 이하에서는 호텔별 기준 객체인 HotelAdvanceBookingWindowInfo, HotelDateSelectionTypeInfo, HotelCheckInDayInfo, HotelLengthOfStayInfo 또는 HotelCheckInDateRangeInfo를 사용합니다.
다음 표에는 API 버전 전반의 AdGroupBidModifier 기준 필드, 메시지 유형, 하위 필드, 유효한 bid_modifier 범위가 요약되어 있습니다.
| v25 이하 | v26 이상 | 하위 필드 및 유형 | 설명 및 유효 범위 |
|---|---|---|---|
hotel_date_selection_type(HotelDateSelectionTypeInfo) |
user_set_dates(UserSetDatesInfo) |
type: v26의 DateSelectionType (v25의 HotelDateSelectionType) 값: DEFAULT_SELECTION (기준 ID 50), USER_SELECTED (기준 ID 51). IMMUTABLE. |
기본 날짜와 사용자가 선택한 날짜 유효한 bid_modifier 범위: 0.5~2.0 (0 선택 해제는 지원되지 않음) |
hotel_advance_booking_window(HotelAdvanceBookingWindowInfo) |
advance_booking_window(AdvanceBookingWindowInfo) |
min_days, max_days (int64, 0~330). IMMUTABLE, 필수입니다. |
예약 시작일 전 일수입니다. 유효한 bid_modifier 범위: 0.1~10.0 또는 0(선택 해제) |
hotel_length_of_stay(HotelLengthOfStayInfo) |
length_of_booking(LengthOfBookingInfo) |
min_days, v26에서는 max_days (v25에서는 min_nights, max_nights) (int64, 1~30). IMMUTABLE, 필수입니다. |
예약 기간입니다. 유효한 bid_modifier 범위: 0.1~10.0 또는 0(선택 해제) |
hotel_check_in_day(HotelCheckInDayInfo) |
start_day_of_week(StartDayOfWeekInfo) |
day_of_week (DayOfWeek, MONDAY~SUNDAY의 기준 ID 60~66) IMMUTABLE |
예약 시작일의 요일입니다. 유효한 bid_modifier 범위: 0.1~10.0 또는 0(선택 해제) |
hotel_check_in_date_range(HotelCheckInDateRangeInfo) |
start_date_range(StartDateRangeInfo) |
start_date, end_date (string, YYYY-MM-DD). IMMUTABLE, 필수. |
예약 시작일의 기간입니다. 유효한 bid_modifier 범위: 0.1~10.0 또는 0(선택 해제) |
예를 들어 v26 이상에서 30~60일의 사전 예약 가능 기간을 사용하여 광고 그룹 입찰가 조정을 만들려면 AdvanceBookingWindowInfo 객체 (또는 v25 이하의 HotelAdvanceBookingWindowInfo)를 만들고 min_days를 30로, max_days를 60로 설정합니다.
해당 기준 필드 (advance_booking_window, user_set_dates, start_day_of_week, length_of_booking 또는 start_date_range)를 사용하여 기준 객체를 AdGroupBidModifier 객체와 연결하고, ad_group를 사용하여 타겟 광고 그룹의 리소스 이름을 지정하고, bid_modifier 필드를 승수로 설정합니다.
advance_booking_window,length_of_booking,start_day_of_week,start_date_range,device:0.1~10.0의 승수를 지정하거나 (예: +50% 조정의 경우1.5, -50% 조정의 경우0.5)bid_modifier를0(0.0)로 설정하여 기준을 선택 해제 (-100%)합니다.user_set_dates:0.5~2.0사이의 배수를 지정합니다.bid_modifier를0로 설정하는 것은user_set_dates에서 지원되지 않으며RangeError.TOO_LOW를 반환합니다.
각 조정 유형의 작동 방식에 대한 자세한 내용은 호텔 광고의 입찰가 조정에 대해 알아보기를 참고하세요.
v26에는 다음 보고 세그먼트 및 리소스 한도 세부정보도 적용됩니다.
segments.user_set_dates: v26 이상에서segments.user_set_dates의 enum 유형은DateSelectionType입니다(v25 이하의HotelDateSelectionType에서 업데이트됨.segments.hotel_date_selection_type를 사용하는 호텔 캠페인 보고서는 계속해서HotelDateSelectionType를 사용함). 다른 운항 일정 세그먼트(segments.advance_booking_window,segments.length_of_booking,segments.start_date,segments.start_day_of_week)는 변경되지 않습니다.- 리소스 한도:
ResourceLimitType.HOTEL_ADVANCE_BOOKING_WINDOW_BID_MODIFIERS_PER_AD_GROUP및ResourceLimitType.HOTEL_CHECK_IN_DATE_RANGE_BID_MODIFIERS_PER_AD_GROUP는 v26에서 기존 이름을 유지합니다.
자바
private void runExample(GoogleAdsClient googleAdsClient, long customerId, long adGroupId) { List<AdGroupBidModifierOperation> operations = new ArrayList<>(); // Constructs the ad group resource name to use for each bid modifier. String adGroupResourceName = ResourceNames.adGroup(customerId, adGroupId); // 1) Creates an ad group bid modifier based on the hotel check-in day. AdGroupBidModifier checkInDayAdGroupBidModifier = AdGroupBidModifier.newBuilder() // Sets the resource name to the ad group resource name joined with the criterion ID // whose value corresponds to the desired check-in day. .setAdGroup(adGroupResourceName) .setStartDayOfWeek(StartDayOfWeekInfo.newBuilder().setDayOfWeek(DayOfWeek.MONDAY)) // Sets the bid modifier value to 150%. .setBidModifier(1.5d) .build(); operations.add( AdGroupBidModifierOperation.newBuilder().setCreate(checkInDayAdGroupBidModifier).build()); // 2) Creates an ad group bid modifier based on the hotel length of stay. AdGroupBidModifier lengthOfStayAdGroupBidModifier = AdGroupBidModifier.newBuilder() // Sets the ad group. .setAdGroup(adGroupResourceName) // Creates the length of booking info. .setLengthOfBooking( LengthOfBookingInfo.newBuilder().setMinDays(3L).setMaxDays(7L).build()) // Sets the bid modifier value to 170%. .setBidModifier(1.7d) .build(); operations.add( AdGroupBidModifierOperation.newBuilder().setCreate(lengthOfStayAdGroupBidModifier).build()); // Issues a mutate request to add the ad group bid modifiers. try (AdGroupBidModifierServiceClient adGroupBidModifierServiceClient = googleAdsClient.getLatestVersion().createAdGroupBidModifierServiceClient()) { MutateAdGroupBidModifiersResponse response = adGroupBidModifierServiceClient.mutateAdGroupBidModifiers( Long.toString(customerId), operations); // Prints the resource names of the added ad group bid modifiers. System.out.printf("Added %d hotel ad group bid modifiers:%n", response.getResultsCount()); for (MutateAdGroupBidModifierResult mutateAdGroupBidModifierResult : response.getResultsList()) { System.out.printf(" %s%n", mutateAdGroupBidModifierResult.getResourceName()); } } }
C#
public void Run(GoogleAdsClient client, long customerId, long adGroupId) { // Get the AdGroupBidModifierService. AdGroupBidModifierServiceClient service = client.GetService( Services.V26.AdGroupBidModifierService); // Constructs the ad group resource name to use for each bid modifier. string adGroupResourceName = ResourceNames.AdGroup(customerId, adGroupId); // 1) Create an ad group bid modifier based on the hotel check-in day. AdGroupBidModifier checkInDayAdGroupBidModifier = new AdGroupBidModifier() { // Sets the resource name to the ad group resource name joined with the criterion // ID whose value corresponds to the desired check-in day. AdGroup = adGroupResourceName, StartDayOfWeek = new StartDayOfWeekInfo() { DayOfWeek = DayOfWeek.Monday }, // Set the bid modifier value to 150%. BidModifier = 1.5, }; // Creates an ad group bid modifier operation. var checkInDayAdGroupBidModifierOperation = new AdGroupBidModifierOperation() { Create = checkInDayAdGroupBidModifier }; // 2) Create an ad group bid modifier based on the hotel length of stay. AdGroupBidModifier lengthOfStayAdGroupBidModifier = new AdGroupBidModifier() { // Set the ad group. AdGroup = ResourceNames.AdGroup(customerId, adGroupId), // Set the length of booking info. LengthOfBooking = new LengthOfBookingInfo() { MinDays = 3, MaxDays = 7 }, // Set the bid modifier value to 170%. BidModifier = 1.7 }; // Create an ad group bid modifier operation. var lengthOfStayAdGroupBidModifierOperation = new AdGroupBidModifierOperation() { Create = lengthOfStayAdGroupBidModifier }; try { // Issue a mutate request to add an ad group bid modifiers. MutateAdGroupBidModifiersResponse response = service.MutateAdGroupBidModifiers( customerId.ToString(), new AdGroupBidModifierOperation[] { checkInDayAdGroupBidModifierOperation, lengthOfStayAdGroupBidModifierOperation } ); // Display the resource names of the added ad group bid modifiers. Console.WriteLine($"Added {response.Results.Count} hotel ad group bid modifiers:"); foreach (MutateAdGroupBidModifierResult result in response.Results) { Console.WriteLine($"- {result.ResourceName}"); } } catch (GoogleAdsException e) { Console.WriteLine("Failure:"); Console.WriteLine($"Message: {e.Message}"); Console.WriteLine($"Failure: {e.Failure}"); Console.WriteLine($"Request ID: {e.RequestId}"); throw; } }
PHP
public static function runExample( GoogleAdsClient $googleAdsClient, int $customerId, int $adGroupId ) { $operations = []; // 1) Creates an ad group bid modifier based on the hotel check-in day. $checkInDayAdGroupBidModifier = new AdGroupBidModifier( [ // Sets the ad group. 'ad_group' => ResourceNames::forAdGroup($customerId, $adGroupId), 'hotel_check_in_day' => new HotelCheckInDayInfo( [ 'day_of_week' => DayOfWeek::MONDAY ] ), // Sets the bid modifier value to 150%. 'bid_modifier' => 1.5 ] ); // Creates an ad group bid modifier operation. $checkInDayAdGroupBidModifierOperation = new AdGroupBidModifierOperation(); $checkInDayAdGroupBidModifierOperation->setCreate($checkInDayAdGroupBidModifier); $operations[] = $checkInDayAdGroupBidModifierOperation; // 2) Creates an ad group bid modifier based on the hotel length of stay. $lengthOfStayAdGroupBidModifier = new AdGroupBidModifier( [ // Sets the ad group. 'ad_group' => ResourceNames::forAdGroup($customerId, $adGroupId), // Creates the hotel length of stay info. 'hotel_length_of_stay' => new HotelLengthOfStayInfo( [ 'min_nights' => 3, 'max_nights' => 7, ] ), // Sets the bid modifier value to 170%. 'bid_modifier' => 1.7 ] ); // Creates an ad group bid modifier operation. $lengthOfStayAdGroupBidModifierOperation = new AdGroupBidModifierOperation(); $lengthOfStayAdGroupBidModifierOperation->setCreate( $lengthOfStayAdGroupBidModifier ); $operations[] = $lengthOfStayAdGroupBidModifierOperation; // Issues a mutate request to add an ad group bid modifiers. $adGroupBidModifierServiceClient = $googleAdsClient->getAdGroupBidModifierServiceClient(); $response = $adGroupBidModifierServiceClient->mutateAdGroupBidModifiers( MutateAdGroupBidModifiersRequest::build($customerId, $operations) ); // Print out resource names of the added ad group bid modifiers. printf( "Added %d hotel ad group bid modifiers:%s", $response->getResults()->count(), PHP_EOL ); foreach ($response->getResults() as $addedAdGroupBidModifier) { /** * @var AdGroupBidModifier $addedAdGroupBidModifier */ print $addedAdGroupBidModifier->getResourceName() . PHP_EOL; } }
Python
def main(client: GoogleAdsClient, customer_id: str, ad_group_id: str) -> None: ad_group_service: AdGroupServiceClient = client.get_service( "AdGroupService" ) ag_bm_service: AdGroupBidModifierServiceClient = client.get_service( "AdGroupBidModifierService" ) # Create ad group bid modifier based on hotel check-in day. check_in_ag_bm_operation: AdGroupBidModifierOperation = client.get_type( "AdGroupBidModifierOperation" ) check_in_ag_bid_modifier: AdGroupBidModifier = ( check_in_ag_bm_operation.create ) check_in_ag_bid_modifier.hotel_check_in_day.day_of_week = ( client.enums.DayOfWeekEnum.MONDAY ) check_in_ag_bid_modifier.ad_group = ad_group_service.ad_group_path( customer_id, ad_group_id ) # Sets the bid modifier value to 150%. check_in_ag_bid_modifier.bid_modifier = 1.5 # Create ad group bid modifier based on hotel length of stay info. los_ag_bm_operation: AdGroupBidModifierOperation = client.get_type( "AdGroupBidModifierOperation" ) los_ag_bid_modifier: AdGroupBidModifier = los_ag_bm_operation.create los_ag_bid_modifier.ad_group = ad_group_service.ad_group_path( customer_id, ad_group_id ) # Creates the hotel length of stay info. hotel_length_of_stay_info: HotelLengthOfStayInfo = ( los_ag_bid_modifier.hotel_length_of_stay ) hotel_length_of_stay_info.min_nights = 3 hotel_length_of_stay_info.max_nights = 7 # Sets the bid modifier value to 170%. los_ag_bid_modifier.bid_modifier = 1.7 # Add the bid modifiers ag_bm_response: MutateAdGroupBidModifiersResponse = ( ag_bm_service.mutate_ad_group_bid_modifiers( customer_id=customer_id, operations=[check_in_ag_bm_operation, los_ag_bm_operation], ) ) # Print out resource names of the added ad group bid modifiers. print(f"Added {len(ag_bm_response.results)} hotel ad group bid modifiers:") result: MutateAdGroupBidModifierResult for result in ag_bm_response.results: print(result.resource_name)
Ruby
def add_hotel_ad_group_bid_modifiers(customer_id, ad_group_id) # GoogleAdsClient will read a config file from # ENV['HOME']/google_ads_config.rb when called without parameters client = Google::Ads::GoogleAds::GoogleAdsClient.new operations = [] ad_group_resource = client.path.ad_group(customer_id, ad_group_id) # 1) Creates an ad group bid modifier based on the check-in day. operations << client.operation.create_resource.ad_group_bid_modifier do |bm| # Sets the ad group. bm.ad_group = ad_group_resource # Sets the check-in day to Monday. bm.start_day_of_week = client.resource.start_day_of_week_info do |info| info.day_of_week = :MONDAY end # Sets the bid modifier value to 150%. bm.bid_modifier = 1.5 end # 2) Creates an ad group bid modifier based on the length of booking. operations << client.operation.create_resource.ad_group_bid_modifier do |bm| # Sets the ad group. bm.ad_group = ad_group_resource # Creates the length of booking info. bm.length_of_booking = client.resource.length_of_booking_info do |info| info.min_days = 3 info.max_days = 7 end # Sets the bid modifier value to 170%. bm.bid_modifier = 1.7 end # 3) Issues a mutate request to add an ad group bid modifiers. ad_group_bid_modifier_service = client.service.ad_group_bid_modifier response = ad_group_bid_modifier_service.mutate_ad_group_bid_modifiers( customer_id: customer_id, operations: operations, ) # Print out resource names of the added ad group bid modifiers. puts "Added #{response.results.size} hotel ad group bid modifiers:" response.results.each do |added_ad_group_bid_modifier| puts "\t#{added_ad_group_bid_modifier.resource_name}" end end
Perl
sub add_hotel_ad_group_bid_modifiers { my ($api_client, $customer_id, $ad_group_id) = @_; # 1) Create an ad group bid modifier based on the hotel check-in day. my $check_in_day_ad_group_bid_modifier = Google::Ads::GoogleAds::V26::Resources::AdGroupBidModifier->new({ # Set the ad group. adGroup => Google::Ads::GoogleAds::V26::Utils::ResourceNames::ad_group( $customer_id, $ad_group_id ), hotelCheckInDay => Google::Ads::GoogleAds::V26::Common::HotelCheckInDayInfo->new({ dayOfWeek => MONDAY } ), # Set the bid modifier value to 150%. bidModifier => 1.5 }); # Create an ad group bid modifier operation. my $check_in_day_ad_group_bid_modifier_operation = Google::Ads::GoogleAds::V26::Services::AdGroupBidModifierService::AdGroupBidModifierOperation ->new({ create => $check_in_day_ad_group_bid_modifier }); # 2) Create an ad group bid modifier based on the hotel length of stay. my $length_of_stay_ad_group_bid_modifier = Google::Ads::GoogleAds::V26::Resources::AdGroupBidModifier->new({ # Set the ad group. adGroup => Google::Ads::GoogleAds::V26::Utils::ResourceNames::ad_group( $customer_id, $ad_group_id ), # Create the hotel length of stay info. hotelLengthOfStay => Google::Ads::GoogleAds::V26::Common::HotelLengthOfStayInfo->new({ minNights => 3, maxNights => 7 } ), # Set the bid modifier value to 170%. bidModifier => 1.7 }); # Create an ad group bid modifier operation. my $length_of_stay_ad_group_bid_modifier_operation = Google::Ads::GoogleAds::V26::Services::AdGroupBidModifierService::AdGroupBidModifierOperation ->new({ create => $length_of_stay_ad_group_bid_modifier }); # 3) Add the ad group bid modifiers. my $ad_group_bid_modifiers_response = $api_client->AdGroupBidModifierService()->mutate({ customerId => $customer_id, operations => [ $check_in_day_ad_group_bid_modifier_operation, $length_of_stay_ad_group_bid_modifier_operation ]}); # Print out resource names of the added ad group bid modifiers. my $ad_group_bid_modifier_results = $ad_group_bid_modifiers_response->{results}; printf "Added %d hotel ad group bid modifiers:\n", scalar @$ad_group_bid_modifier_results; foreach my $ad_group_bid_modifier_result (@$ad_group_bid_modifier_results) { printf "\t%s\n", $ad_group_bid_modifier_result->{resourceName}; } return 1; }
curl
예
다음 예에서는 GAQL 및 REST JSON 페이로드를 사용하여 광고 그룹 입찰가 조정을 쿼리, 생성, 업데이트, 삭제하는 방법을 보여줍니다.
GAQL로 입찰가 조정 읽기
다음 쿼리는 v25 이하 버전과 v26 이상 버전에서 예약 기간 입찰가 조정 기능을 가져오는 방법을 보여줍니다.
v25 이하:
SELECT
ad_group_bid_modifier.resource_name,
ad_group_bid_modifier.bid_modifier,
ad_group_bid_modifier.hotel_length_of_stay.min_nights,
ad_group_bid_modifier.hotel_length_of_stay.max_nights
FROM ad_group_bid_modifier
WHERE ad_group_bid_modifier.hotel_length_of_stay.min_nights = 5
v26 이상:
SELECT
ad_group_bid_modifier.resource_name,
ad_group_bid_modifier.bid_modifier,
ad_group_bid_modifier.length_of_booking.min_days,
ad_group_bid_modifier.length_of_booking.max_days
FROM ad_group_bid_modifier
WHERE ad_group_bid_modifier.length_of_booking.min_days = 5
입찰가 조정 만들기 (JSON 페이로드)
다음 JSON 페이로드는 v26 이상에서 광고 그룹 입찰가 조정을 만드는 방법을 보여줍니다.
v26에서 예약 기간 입찰가 조정 만들기:
{
"customerId": "1234567890",
"operations": [
{
"create": {
"adGroup": "customers/1234567890/adGroups/987654321",
"bidModifier": 1.2,
"lengthOfBooking": {
"minDays": "3",
"maxDays": "5"
}
}
}
]
}
v25 이하에서는 minNights 및 maxNights와 함께 hotelLengthOfStay를 사용했습니다.
v26에서 시작일 범위 입찰가 조정 만들기:
{
"customerId": "1234567890",
"operations": [
{
"create": {
"adGroup": "customers/1234567890/adGroups/987654321",
"bidModifier": 1.5,
"startDateRange": {
"startDate": "2026-12-20",
"endDate": "2026-12-31"
}
}
}
]
}
v26에서 사용자 설정 날짜 입찰가 조정 만들기:
{
"customerId": "1234567890",
"operations": [
{
"create": {
"adGroup": "customers/1234567890/adGroups/987654321",
"bidModifier": 1.3,
"userSetDates": {
"type": "USER_SELECTED"
}
}
}
]
}
입찰가 조정 업데이트 및 삭제
기존 입찰가 조정의 배율을 업데이트하거나 입찰가 조정을 완전히 삭제할 수 있습니다.
- 업데이트: 기준 필드는
IMMUTABLE입니다. 입찰 배율을 수정하려면updateMask(protobuf의update_mask)를"bidModifier"("bid_modifier")로 설정하고bidModifier(bid_modifier)를 유효한 값 (0.1~10.0또는0)으로 설정하여update작업을 전송합니다.advance_booking_window,length_of_booking,start_day_of_week,start_date_range,device의 경우 선택 해제하고user_set_dates의 경우0.5~2.0로 설정합니다. 타겟팅 기준을 변경하려면 입찰가 조정을 삭제하고 새로 만듭니다. - 삭제: 리소스 이름과 함께
remove작업을 전송합니다.
{
"customerId": "1234567890",
"operations": [
{
"remove": "customers/1234567890/adGroupBidModifiers/987654321~555444333"
}
]
}
유효성 검사 규칙 및 오류 처리
유효성 검사 규칙은 버전 간에 동일하게 유지되지만 6개의 CriterionError enum 값은 v26에서 다음 표와 같이 이름이 변경됩니다.
| 시나리오 | v25 이하 | v26 이상 |
|---|---|---|
| 예약 기간 범위가 기존 기준과 겹칩니다. | HOTEL_LENGTH_OF_STAY_OVERLAPS_WITH_EXISTING_CRITERION |
LENGTH_OF_BOOKING_OVERLAPS_WITH_EXISTING_CRITERION |
| 사전 예약 가능 기간 범위가 기존 기준과 중복됨 | HOTEL_ADVANCE_BOOKING_WINDOW_OVERLAPS_WITH_EXISTING_CRITERION |
ADVANCE_BOOKING_WINDOW_OVERLAPS_WITH_EXISTING_CRITERION |
| 시작일 범위가 기존 기준과 겹칩니다. | HOTEL_CHECK_IN_DATE_RANGE_OVERLAPS_WITH_EXISTING_CRITERION |
START_DATE_RANGE_OVERLAPS_WITH_EXISTING_CRITERION |
어제보다 start_date 일찍 (UTC) |
HOTEL_CHECK_IN_DATE_RANGE_START_DATE_TOO_EARLY |
START_DATE_RANGE_START_DATE_TOO_EARLY |
end_date이(가) 330일 이후입니다(UTC). |
HOTEL_CHECK_IN_DATE_RANGE_END_DATE_TOO_LATE |
START_DATE_RANGE_END_DATE_TOO_LATE |
start_date end_date 이후 |
HOTEL_CHECK_IN_DATE_RANGE_REVERSED |
START_DATE_RANGE_REVERSED |
다음 유효성 검사 오류는 모든 API 버전에 적용됩니다.
FieldError.REQUIRED: 필수 범위 경계가 누락되었습니다 (예:min_days또는max_days가 없는advance_booking_window).RangeError.TOO_HIGH/RangeError.TOO_LOW: 값이 범위를 벗어남(예:advance_booking_window.max_days이 330보다 큼,min_days이advance_booking_window또는length_of_booking에서max_days보다 큼,bid_modifier이advance_booking_window,length_of_booking,start_day_of_week또는start_date_range에서0.1~10.0범위를 벗어남,bid_modifier이user_set_dates에서0.5~2.0(0포함) 범위를 벗어남)ResourceCountLimitExceededError.RESOURCE_LIMIT: 광고 그룹이 광고 그룹당 입찰가 조정 한도를 초과합니다.MutateError.INCONSISTENT_FIELD_VALUES: 고정 ID enum 하위 필드 (예:user_set_dates.type,start_day_of_week.day_of_week,device.type)가resource_name에 지정된 기준 ID와 일치하지 않습니다.ContextError.OPERATION_NOT_PERMITTED_FOR_CONTEXT: 지원되지 않는 캠페인 유형 또는 부적격한 검색 캠페인에 여행 입찰가 조정을 추가하려고 합니다.