คุณใช้ Google Ads API เพื่อตั้งค่าการปรับราคาเสนอ (หรือที่เรียกว่าตัวปรับราคาเสนอ) สำหรับโฆษณาโรงแรมได้ ดูรายละเอียดเกี่ยวกับวิธีการทำงานของการปรับราคาเสนอได้ที่เกี่ยวกับการปรับราคาเสนอสำหรับโฆษณาโรงแรม
การปรับราคาเสนอระดับแคมเปญ
หากต้องการใช้ Google Ads API เพื่อตั้งค่าการปรับราคาเสนอที่ระดับแคมเปญ โปรดดูจัดการตัวปรับราคาเสนอ
การปรับราคาเสนอระดับกลุ่มโฆษณา
ตั้งแต่ v26 เป็นต้นไป เกณฑ์เฉพาะโรงแรม 5 รายการใน AdGroupBidModifier จะเปลี่ยนชื่อเป็นชื่อที่ไม่ขึ้นอยู่กับประเภทธุรกิจ (เช่น วันเริ่มต้นของสัปดาห์และระยะเวลาการจอง) โดยแทนที่เกณฑ์เฉพาะโรงแรมจากเวอร์ชันก่อนหน้า การปรับราคาเสนอเหล่านี้ยังคงรองรับเฉพาะโฆษณาโรงแรม ทั้งในแคมเปญโรงแรมและแคมเปญ Search สำหรับการท่องเที่ยว ตัวปรับราคาเสนอที่มีอยู่ซึ่งสร้างใน v25 หรือเวอร์ชันก่อนหน้าจะส่งต่อโดยอัตโนมัติพร้อมรหัสเกณฑ์และชื่อทรัพยากรที่เหมือนกัน ดูสรุปการเปลี่ยนแปลงที่ส่งผลกับส่วนอื่นในระบบทั้งหมดของ v26 ได้ที่บันทึกประจำรุ่น
หากต้องการตั้งค่าการปรับราคาเสนอที่ระดับกลุ่มโฆษณา ให้สร้างออบเจ็กต์เกณฑ์สำหรับมิติข้อมูลที่ต้องการกำหนดเป้าหมาย และตั้งค่าช่องเป็นค่าที่เหมาะสม ใน v26 ขึ้นไป ให้ใช้ออบเจ็กต์เกณฑ์ที่ไม่ขึ้นอยู่กับประเภทธุรกิจ ได้แก่ AdvanceBookingWindowInfo, UserSetDatesInfo, StartDayOfWeekInfo, LengthOfBookingInfo หรือ StartDateRangeInfo ใน v25 และเวอร์ชันก่อนหน้า ให้ใช้ออบเจ็กต์เกณฑ์เฉพาะโรงแรม ได้แก่ HotelAdvanceBookingWindowInfo, HotelDateSelectionTypeInfo, HotelCheckInDayInfo, HotelLengthOfStayInfo หรือ HotelCheckInDateRangeInfo
ตารางต่อไปนี้สรุปช่องเกณฑ์ AdGroupBidModifier, ประเภทข้อความ, ช่องย่อย และช่วง bid_modifier ที่ถูกต้องใน API เวอร์ชันต่างๆ
| v25 และเก่ากว่า | v26 ขึ้นไป | ฟิลด์ย่อยและประเภท | คำอธิบายและช่วงที่ถูกต้อง |
|---|---|---|---|
hotel_date_selection_type (HotelDateSelectionTypeInfo) |
user_set_dates (UserSetDatesInfo) |
type: DateSelectionType ใน v26 (HotelDateSelectionType ใน v25) ค่า: DEFAULT_SELECTION (รหัสเกณฑ์ 50), USER_SELECTED (รหัสเกณฑ์ 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, max_days ใน v26 (min_nights, max_nights ใน v25) (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, รหัสเกณฑ์ 60–66 สำหรับ MONDAY–SUNDAY) 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 เพื่อเลือกไม่ใช้ |
ตัวอย่างเช่น หากต้องการสร้างตัวปรับราคาเสนอระดับกลุ่มโฆษณาโดยใช้ระยะเวลาการจองล่วงหน้าระหว่าง 30 ถึง 60 วันใน v26 ขึ้นไป ให้สร้างออบเจ็กต์ AdvanceBookingWindowInfo (หรือ HotelAdvanceBookingWindowInfo ใน v25 ลงไป) แล้วตั้งค่า min_days เป็น 30 และ max_days เป็น 60
เชื่อมโยงออบเจ็กต์เกณฑ์กับออบเจ็กต์ AdGroupBidModifier โดยใช้ช่องเกณฑ์ที่เกี่ยวข้อง (advance_booking_window, user_set_dates, start_day_of_week, length_of_booking หรือ start_date_range) ระบุชื่อทรัพยากรของกลุ่มโฆษณาเป้าหมายโดยใช้ ad_group และตั้งค่าช่อง bid_modifier เป็นตัวคูณ ดังนี้
advance_booking_window,length_of_booking,start_day_of_week,start_date_rangeและdevice: ระบุตัวคูณตั้งแต่0.1ถึง10.0(เช่น1.5สำหรับการปรับ +50% หรือ0.5สำหรับการปรับ -50%) หรือตั้งค่า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 ขึ้นไป ประเภท enum ของsegments.user_set_datesคือDateSelectionType(อัปเดตจากHotelDateSelectionTypeใน v25 และก่อนหน้า รายงานแคมเปญโรงแรมที่ใช้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
Java
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 และเวอร์ชันก่อนหน้า จะใช้ hotelLengthOfStay กับ minNights และ maxNights
การสร้างตัวปรับราคาเสนอตามช่วงวันที่เริ่มต้นใน 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หากต้องการแก้ไขตัวคูณราคาเสนอ ให้ส่งการดำเนินการupdateโดยตั้งค่าupdateMask(update_maskใน protobuf) เป็น"bidModifier"("bid_modifier") และตั้งค่าbidModifier(bid_modifier) เป็นค่าที่ถูกต้อง (0.1ถึง10.0หรือ0เพื่อเลือกไม่ใช้สำหรับadvance_booking_window,length_of_booking,start_day_of_week,start_date_rangeและdevice;0.5ถึง2.0สำหรับuser_set_dates) หากต้องการเปลี่ยนเกณฑ์การกำหนดเป้าหมาย ให้นำตัวปรับราคาเสนอออกและสร้างใหม่ - การนำออก: ส่งการดำเนินการ
removeพร้อมชื่อทรัพยากรดังนี้
{
"customerId": "1234567890",
"operations": [
{
"remove": "customers/1234567890/adGroupBidModifiers/987654321~555444333"
}
]
}
กฎการตรวจสอบและการจัดการข้อผิดพลาด
กฎการตรวจสอบจะยังคงเหมือนเดิมในทุกเวอร์ชัน แต่ค่า enum CriterionError 6 ค่าจะเปลี่ยนชื่อใน 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: ไม่มีขอบเขตช่วงที่จำเป็น (เช่นadvance_booking_windowที่ไม่มีmin_daysหรือmax_days)RangeError.TOO_HIGH/RangeError.TOO_LOW: ค่าอยู่นอกขอบเขต เช่นadvance_booking_window.max_daysมากกว่า 330,min_daysมากกว่าmax_daysในadvance_booking_windowหรือlength_of_booking,bid_modifierอยู่นอก0.1–10.0สำหรับadvance_booking_window,length_of_booking,start_day_of_weekหรือstart_date_rangeหรือbid_modifierอยู่นอก0.5–2.0(รวมถึง0) สำหรับuser_set_datesResourceCountLimitExceededError.RESOURCE_LIMIT: กลุ่มโฆษณามีตัวปรับราคาเสนอเกินขีดจำกัดต่อกลุ่มโฆษณาMutateError.INCONSISTENT_FIELD_VALUES: ช่องย่อย enum ของรหัสคงที่ (เช่นuser_set_dates.type,start_day_of_week.day_of_weekหรือdevice.type) ไม่ตรงกับรหัสเกณฑ์ที่ระบุในresource_nameContextError.OPERATION_NOT_PERMITTED_FOR_CONTEXT: พยายามเพิ่มตัวปรับราคาเสนอสำหรับการเดินทางในประเภทแคมเปญที่ไม่รองรับหรือแคมเปญ Search ที่ไม่มีสิทธิ์