Menyesuaikan bid dengan pengubah bid

Anda dapat menggunakan Google Ads API untuk menetapkan penyesuaian bid (juga disebut pengubah bid) untuk iklan Hotel. Untuk mengetahui detail tentang cara kerja penyesuaian bid, lihat Tentang penyesuaian bid untuk Iklan Hotel.

Penyesuaian bid tingkat kampanye

Untuk menggunakan Google Ads API guna menetapkan penyesuaian bid di tingkat kampanye, lihat Mengelola pengubah bid.

Penyesuaian bid tingkat grup iklan

Mulai v26, lima kriteria khusus hotel di AdGroupBidModifier diganti namanya menjadi nama yang tidak bergantung pada vertical (seperti hari mulai dalam seminggu dan durasi pemesanan), menggantikan kriteria khusus hotel dari versi sebelumnya. Penyesuaian bid ini tetap hanya didukung untuk iklan hotel—baik di kampanye Hotel maupun di Kampanye Penelusuran untuk Perjalanan. Pengubah bid yang ada yang dibuat di v25 atau yang lebih lama akan otomatis dipindahkan dengan ID kriteria dan nama resource yang sama. Untuk ringkasan semua perubahan yang dapat menyebabkan gangguan pada v26, lihat catatan rilis.

Untuk menetapkan penyesuaian bid di tingkat grup iklan, buat objek kriteria untuk dimensi yang ingin Anda targetkan dan tetapkan kolomnya ke nilai yang sesuai. Di v26 dan yang lebih baru, gunakan objek kriteria agnostik vertikal: AdvanceBookingWindowInfo, UserSetDatesInfo, StartDayOfWeekInfo, LengthOfBookingInfo, atau StartDateRangeInfo. Di v25 dan versi sebelumnya, gunakan objek kriteria khusus hotel: HotelAdvanceBookingWindowInfo, HotelDateSelectionTypeInfo, HotelCheckInDayInfo, HotelLengthOfStayInfo, atau HotelCheckInDateRangeInfo.

Tabel berikut merangkum kolom kriteria AdGroupBidModifier, jenis pesan, subkolom, dan rentang bid_modifier yang valid di seluruh versi API:

v25 dan yang lebih lama v26 dan yang lebih baru Subkolom dan jenis Deskripsi dan rentang yang valid
hotel_date_selection_type (HotelDateSelectionTypeInfo) user_set_dates (UserSetDatesInfo) type: DateSelectionType di v26 (HotelDateSelectionType di v25). Nilai: DEFAULT_SELECTION (ID kriteria 50), USER_SELECTED (ID kriteria 51). IMMUTABLE. Tanggal default versus tanggal yang dipilih pengguna. Rentang bid_modifier yang valid: 0.5 hingga 2.0 (tidak mendukung pilihan tidak ikut 0).
hotel_advance_booking_window (HotelAdvanceBookingWindowInfo) advance_booking_window (AdvanceBookingWindowInfo) min_days, max_days (int64, 0–330). IMMUTABLE, wajib diisi. Jumlah hari sebelum tanggal mulai pemesanan. Rentang bid_modifier yang valid: 0.1 hingga 10.0, atau 0 untuk memilih tidak ikut.
hotel_length_of_stay (HotelLengthOfStayInfo) length_of_booking (LengthOfBookingInfo) min_days, max_days di v26 (min_nights, max_nights di v25) (int64, 1–30). IMMUTABLE, wajib diisi. Durasi pemesanan. Rentang bid_modifier yang valid: 0.1 hingga 10.0, atau 0 untuk memilih tidak ikut.
hotel_check_in_day (HotelCheckInDayInfo) start_day_of_week (StartDayOfWeekInfo) day_of_week (DayOfWeek, ID kriteria 60–66 untuk MONDAY–SUNDAY). IMMUTABLE. Hari dalam seminggu untuk tanggal mulai pemesanan. Rentang bid_modifier yang valid: 0.1 hingga 10.0, atau 0 untuk memilih tidak ikut.
hotel_check_in_date_range (HotelCheckInDateRangeInfo) start_date_range (StartDateRangeInfo) start_date, end_date (string, YYYY-MM-DD). IMMUTABLE, wajib diisi. Rentang tanggal mulai pemesanan. Rentang bid_modifier yang valid: 0.1 hingga 10.0, atau 0 untuk memilih tidak ikut.

Misalnya, untuk membuat pengubah bid grup iklan menggunakan periode pemesanan di awal antara 30 dan 60 hari di v26 dan yang lebih baru, buat objek AdvanceBookingWindowInfo (atau HotelAdvanceBookingWindowInfo di v25 dan yang lebih lama) dan tetapkan min_days ke 30 dan max_days ke 60.

Kaitkan objek kriteria dengan objek AdGroupBidModifier menggunakan kolom kriteria yang sesuai (advance_booking_window, user_set_dates, start_day_of_week, length_of_booking, atau start_date_range), tentukan nama resource grup iklan target menggunakan ad_group, dan tetapkan kolom bid_modifier ke pengganda:

  • advance_booking_window, length_of_booking, start_day_of_week, start_date_range, dan device: Tentukan pengganda dari 0.1 hingga 10.0 (misalnya, 1.5 untuk penyesuaian +50%, atau 0.5 untuk penyesuaian -50%), atau tetapkan bid_modifier ke 0 (0.0) untuk memilih tidak ikut (-100%) kriteria.
  • user_set_dates: Tentukan pengganda dari 0.5 hingga 2.0. Menetapkan bid_modifier ke 0 tidak didukung untuk user_set_dates dan menampilkan RangeError.TOO_LOW.

Untuk mengetahui detail selengkapnya tentang cara kerja setiap jenis penyesuaian, lihat Tentang penyesuaian bid untuk Iklan Hotel.

Detail batas resource dan segmen pelaporan berikut juga berlaku di v26:

  • segments.user_set_dates: Di v26 dan yang lebih baru, jenis enum segments.user_set_dates adalah DateSelectionType (diperbarui dari HotelDateSelectionType di v25 dan yang lebih lama; laporan kampanye Hotel yang menggunakan segments.hotel_date_selection_type terus menggunakan HotelDateSelectionType). Segmen itinerari lainnya (segments.advance_booking_window, segments.length_of_booking, segments.start_date, dan segments.start_day_of_week) tidak berubah.
  • Batas resource: ResourceLimitType.HOTEL_ADVANCE_BOOKING_WINDOW_BID_MODIFIERS_PER_AD_GROUP dan ResourceLimitType.HOTEL_CHECK_IN_DATE_RANGE_BID_MODIFIERS_PER_AD_GROUP mempertahankan nama yang ada di 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

Contoh

Contoh berikut menunjukkan cara membuat kueri, membuat, memperbarui, dan menghapus pengubah bid grup iklan menggunakan payload JSON REST dan GAQL.

Membaca pengubah bid dengan GAQL

Kueri berikut menggambarkan pengambilan pengubah bid durasi pemesanan di v25 dan yang lebih lama dibandingkan dengan v26 dan yang lebih baru:

v25 dan yang lebih lama:

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 dan yang lebih baru:

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

Membuat pengubah bid (payload JSON)

Payload JSON berikut menunjukkan pembuatan pengubah bid grup iklan di v26 dan yang lebih baru.

Membuat pengubah bid durasi pemesanan di v26:

{
  "customerId": "1234567890",
  "operations": [
    {
      "create": {
        "adGroup": "customers/1234567890/adGroups/987654321",
        "bidModifier": 1.2,
        "lengthOfBooking": {
          "minDays": "3",
          "maxDays": "5"
        }
      }
    }
  ]
}

Di v25 dan yang lebih lama, ini menggunakan hotelLengthOfStay dengan minNights dan maxNights.

Membuat pengubah bid rentang tanggal mulai di v26:

{
  "customerId": "1234567890",
  "operations": [
    {
      "create": {
        "adGroup": "customers/1234567890/adGroups/987654321",
        "bidModifier": 1.5,
        "startDateRange": {
          "startDate": "2026-12-20",
          "endDate": "2026-12-31"
        }
      }
    }
  ]
}

Membuat pengubah bid tanggal yang ditetapkan pengguna di v26:

{
  "customerId": "1234567890",
  "operations": [
    {
      "create": {
        "adGroup": "customers/1234567890/adGroups/987654321",
        "bidModifier": 1.3,
        "userSetDates": {
          "type": "USER_SELECTED"
        }
      }
    }
  ]
}

Memperbarui dan menghapus pengubah bid

Anda dapat memperbarui pengali pada pengubah bid yang ada atau menghapus pengubah bid sepenuhnya:

  • Memperbarui: Kolom kriteria adalah IMMUTABLE. Untuk mengubah pengubah bid, kirim operasi update dengan updateMask (update_mask di protobuf) ditetapkan ke "bidModifier" ("bid_modifier") dan tetapkan bidModifier (bid_modifier) ke nilai yang valid (0.1 hingga 10.0 atau 0 untuk memilih tidak ikut untuk advance_booking_window, length_of_booking, start_day_of_week, start_date_range, dan device; 0.5 hingga 2.0 untuk user_set_dates). Untuk mengubah kriteria penargetan, hapus pengubah bid dan buat yang baru.
  • Menghapus: Kirim operasi remove dengan nama resource:
{
  "customerId": "1234567890",
  "operations": [
    {
      "remove": "customers/1234567890/adGroupBidModifiers/987654321~555444333"
    }
  ]
}

Aturan validasi dan penanganan error

Aturan validasi tetap sama di seluruh versi, tetapi enam nilai enum CriterionError diganti namanya di v26 seperti yang ditunjukkan dalam tabel berikut:

Skenario v25 dan yang lebih lama v26 dan yang lebih baru
Rentang durasi pemesanan tumpang-tindih dengan kriteria yang ada HOTEL_LENGTH_OF_STAY_OVERLAPS_WITH_EXISTING_CRITERION LENGTH_OF_BOOKING_OVERLAPS_WITH_EXISTING_CRITERION
Rentang periode pemesanan di awal tumpang-tindih dengan kriteria yang ada HOTEL_ADVANCE_BOOKING_WINDOW_OVERLAPS_WITH_EXISTING_CRITERION ADVANCE_BOOKING_WINDOW_OVERLAPS_WITH_EXISTING_CRITERION
Rentang tanggal mulai tumpang-tindih dengan kriteria yang ada HOTEL_CHECK_IN_DATE_RANGE_OVERLAPS_WITH_EXISTING_CRITERION START_DATE_RANGE_OVERLAPS_WITH_EXISTING_CRITERION
start_date lebih awal dari kemarin (UTC) HOTEL_CHECK_IN_DATE_RANGE_START_DATE_TOO_EARLY START_DATE_RANGE_START_DATE_TOO_EARLY
end_date lebih dari 330 hari ke depan (UTC) HOTEL_CHECK_IN_DATE_RANGE_END_DATE_TOO_LATE START_DATE_RANGE_END_DATE_TOO_LATE
start_date setelah end_date HOTEL_CHECK_IN_DATE_RANGE_REVERSED START_DATE_RANGE_REVERSED

Error validasi berikut berlaku di semua versi API:

  • FieldError.REQUIRED: Tidak ada batas rentang yang diperlukan (seperti advance_booking_window tanpa min_days atau max_days).
  • RangeError.TOO_HIGH / RangeError.TOO_LOW: Nilai di luar batas, seperti advance_booking_window.max_days lebih besar dari 330, min_days lebih besar dari max_days pada advance_booking_window atau length_of_booking, bid_modifier di luar 0.1–10.0 untuk advance_booking_window, length_of_booking, start_day_of_week, atau start_date_range, atau bid_modifier di luar 0.5–2.0 (termasuk 0) untuk user_set_dates.
  • ResourceCountLimitExceededError.RESOURCE_LIMIT: Grup iklan melebihi batas per grup iklan untuk pengubah bid.
  • MutateError.INCONSISTENT_FIELD_VALUES: Subkolom enum ID tetap (seperti user_set_dates.type, start_day_of_week.day_of_week, atau device.type) tidak cocok dengan ID kriteria yang ditentukan di resource_name.
  • ContextError.OPERATION_NOT_PERMITTED_FOR_CONTEXT: Mencoba menambahkan pengubah bid perjalanan pada jenis kampanye yang tidak didukung atau kampanye Penelusuran yang tidak memenuhi syarat.