Biến và điều kiện

Quảng cáo khách sạn và đường liên kết miễn phí để đặt phòng bao gồm các đường liên kết đến trang đích nơi người dùng có thể đặt phòng. Bạn có thể xác định cách Google tạo đường liên kết để đường liên kết đó có thêm thông tin về người dùng và hành trình của họ. Ví dụ: bạn có thể thêm các thông tin như mã khách sạn, ngôn ngữ, mã tiền tệ và ngày nhận phòng vào URL.

Tổng quan

Bạn xác định URL trang đích trong tệp trang đích. Khi quảng cáo hoặc đường liên kết miễn phí để đặt phòng xuất hiện, thông tin động trong URL sẽ được thay thế bằng các giá trị thực tế. Để thêm giá trị động vào URL trang đích, hãy sử dụng cú pháp sau:

<URL>https://partner_url?param_id=(variable_name)</URL>

Ví dụ sau đây cho thấy một URL sử dụng tên biến của Google thay vì mã khách sạn và hành trình thực tế:

Ví dụ 1

<URL>https://www.partnerdomain.com?hotelID=(PARTNER-HOTEL-ID)&amp;checkinDay=(CHECKINDAY)&amp;checkinMonth=(CHECKINMONTH)&amp;checkinYear=(CHECKINYEAR)&amp;nights=(LENGTH)</URL>

Ví dụ 2

<URL>https://www.partnerdomain.com/hotel/(PARTNER-HOTEL-ID)&amp;checkinDay=(CHECKINDAY)&amp;checkinMonth=(CHECKINMONTH)&amp;checkinYear=(CHECKINYEAR)&amp;nights=(LENGTH)</URL>

Khi đường liên kết đến trang đích được tạo cho trang kết quả tìm kiếm, Google sẽ thay thế các biến bằng giá trị thực tế để đảm bảo URL chứa thông tin động. Ví dụ: Nếu người dùng đặt phòng cho 6 đêm từ ngày 23/5/2023 tại khách sạn số 42, thì Google sẽ hiển thị đường liên kết trước đó như sau:

https://www.partnerdomain.com?hotelID=42&checkinDay=23&checkinMonth=05&checkinYear=2023&nights=6

Giá trị mà Google chỉ định cho các biến trong chuỗi truy vấn phụ thuộc vào dữ liệu tương ứng trong Nguồn cấp dữ liệu giá khách sạn, Nguồn cấp dữ liệu danh sách khách sạn và chế độ cài đặt của người dùng.

Ví dụ: giá trị của biến LENGTH được gán cho phần tử <Nights> từ nguồn cấp dữ liệu giá của hành trình liên quan. Tương tự, giá trị của biến PARTNER-HOTEL-ID được xác định trong phần tử <id> từ Nguồn cấp dữ liệu danh sách khách sạn khớp với tiêu chí tìm kiếm của người dùng.

Một số biến là tập hợp con của các phần tử trong nguồn cấp dữ liệu giá. Ví dụ: các biến CHECKINDAY, CHECKINMONTH và CHECKINYEAR được trích xuất từ một phần tử <Checkin> duy nhất trong nguồn cấp dữ liệu giá. Các biến khác được tính toán dựa trên ngôn ngữ của người dùng và các chế độ cài đặt khác của ứng dụng.

Để biết thêm thông tin về nguồn của các giá trị biến, hãy tham khảo bài viết tổng quan về giá và Danh sách khách sạn.

Biến URL

Bảng sau đây mô tả các biến có sẵn mà bạn có thể sử dụng để tạo URL trang đích:

Biến Nên dùng/không bắt buộc Mô tả
ADVANCE-BOOKING-WINDOW Optional Số ngày đặt trước ngày nhận phòng theo múi giờ của khách sạn tại thời điểm đặt phòng. Ví dụ: 36.
ALTERNATE-HOTEL-ID Recommended (if you have separate IDs to identify properties versus booking engines) Giá trị nhận dạng thay thế cho cơ sở lưu trú của bạn. Tên thuộc tính này được chỉ định trong nguồn cấp dữ liệu danh sách khách sạn. Việc có mã nhận dạng riêng sẽ hữu ích nếu bạn cần một giá trị nhận dạng cơ sở lưu trú cho thông tin của nguồn cấp dữ liệu và một giá trị nhận dạng cơ sở lưu trú khác cho công cụ đặt phòng.
CAMPAIGN-ID Recommended Mã của chiến dịch trên Google Ads mà bạn muốn liên kết với URL. Trường này sẽ để trống nếu lượt nhấp không liên kết với một chiến dịch trên Google Ads.
CHECKINDAY Recommended Ngày có hai chữ số được xác định trong phần tử <Checkin> của Nguồn cấp dữ liệu giá khách sạn. Ví dụ: 20.
CHECKINDAY-OF-WEEK Optional Ngày trong tuần (từ Monday đến Sunday) mà khách nhận phòng, theo múi giờ của khách sạn. Ví dụ: Tuesday.
CHECKINMONTH Recommended Tháng gồm hai chữ số được xác định trong phần tử <Checkin> của Nguồn cấp dữ liệu giá khách sạn. Ví dụ: 05.
CHECKINYEAR Recommended Năm gồm 4 chữ số được xác định trong phần tử <Checkin> của Nguồn cấp dữ liệu giá khách sạn. Ví dụ: 2023.
CHECKOUTDAY Recommended Ngày gồm hai chữ số được tính từ các phần tử <Nights> và <Checkin> của Nguồn cấp dữ liệu giá khách sạn. Ví dụ: 26.
CHECKOUTMONTH Recommended Tháng gồm hai chữ số được tính từ các phần tử <Nights> và <Checkin> của Nguồn cấp dữ liệu giá khách sạn. Ví dụ: 05.
CHECKOUTYEAR Recommended Năm có 4 chữ số được tính từ các phần tử <Nights> và <Checkin> của Nguồn cấp dữ liệu giá khách sạn. Ví dụ: 2023.
CHILD-AGE Recommended (must be provided for child occupancy pricing) Độ tuổi tối đa của mỗi trẻ em như được chỉ định trong các phần tử <Child "age"> của nguồn cấp dữ liệu giá. Bạn phải sử dụng biến này cùng với một khối điều kiện FOR-EACH-CHILD-AGE.
CHILD-INDEX Optional Biến vòng lặp được lập chỉ mục từ 0, đại diện cho bộ đếm cho từng trẻ em và độ tuổi của trẻ em được chỉ định trong hành trình. Mặc dù không bắt buộc, nhưng bạn chỉ có thể sử dụng biến này cùng với một khối điều kiện FOR-EACH-CHILD-AGE.
CLICK-TYPE Optional Cho biết liệu người dùng đã nhấp vào trang thông tin về giá khách sạn tiêu chuẩn hay về Gói dịch vụ phòng. Các giá trị có thể sử dụng là:
  • hotel: Người dùng đã nhấp vào trang thông tin về giá phòng tiêu chuẩn.
  • room: Người dùng đã nhấp vào trang thông tin của một Gói dịch vụ phòng.
CLOSE-RATE-RULE-IDS Optional (only applies if you are using conditional or private rates) Danh sách được phân tách bằng dấu phẩy gồm các mã quy tắc giá cho những mức giá không có sẵn, nhưng có thể đã có sẵn nếu người dùng thực hiện một hành động nhỏ. Xin lưu ý rằng mã quy tắc giá cho mức giá ưu đãi chọn lọc luôn được điền sẵn tại đây khi một phiên bản giao diện người dùng tương ứng xuất hiện cho người dùng.
Optional Không dùng nữa: Giá trị cho các trường tuỳ chỉnh được xác định trong phần tử <Result> với giới hạn 200 ký tự cho mỗi trường tuỳ chỉnh. Để biết thêm thông tin, hãy tham khảo bài viết Tổng quan về thông báo giao dịch. Bạn không thể sử dụng các trường tuỳ chỉnh khi dùng ARI. Các biến CUSTOM chỉ được liệt kê khi bạn gửi giá trong thông báo Giao dịch.
DATE-TYPE Optional Cho biết liệu người dùng đã chọn ngày mặc định hay ngày cụ thể được cung cấp trong nội dung tìm kiếm. Các giá trị có thể sử dụng là:
  • default: Người dùng đã nhấp vào một quảng cáo khách sạn hoặc đường liên kết miễn phí để đặt phòng, trong đó ngày mặc định được sử dụng.
  • selected: Người dùng đã nhấp vào một quảng cáo khách sạn hoặc đường liên kết miễn phí để đặt phòng có ngày được đặt.
GOOGLE-ADS-CLICK-SOURCE Optional Cho biết Google Ads là nguồn của lượt nhấp. Các giá trị có thể sử dụng là:
  • bl: Đường liên kết đặt phòng có tính phí
  • tpa: Quảng cáo quảng bá du lịch
  • tfsa: Nguồn cấp dữ liệu du lịch trong quảng cáo Tìm kiếm
  • pm: Chiến dịch Tối đa hoá hiệu suất hoặc chiến dịch Tối đa hoá hiệu suất cho mục tiêu về du lịch
  • dg: Chiến dịch Tạo nhu cầu
  • Lưu ý: Nếu lượt nhấp bắt nguồn từ Google Tìm kiếm chứ không phải Google Ads, thì tham số này sẽ trống

GOOGLE-SITE Optional Sản phẩm của Google nơi người dùng xem dữ liệu giá khách sạn của bạn. Các giá trị có thể sử dụng là:
  • localuniversal: Người dùng tìm thấy đường liên kết đặt phòng khách sạn thông qua tính năng tìm kiếm google.com.
  • mapresults: Người dùng tìm thấy đường liên kết đặt phòng khách sạn thông qua maps.google.com.
  • verification: Google sử dụng giá trị này khi thực hiện các thử nghiệm về chất lượng dữ liệu trên trang web của bạn. Bạn không bị tính phí cho những truy vấn này. Google Analytics có thể sử dụng tham số này và giá trị của tham số để xác định lưu lượng truy cập xác minh của Quảng cáo khách sạn.
  • unknown: Người dùng tìm thấy quảng cáo hoặc đường liên kết miễn phí để đặt phòng thông qua một nguồn không xác định.
LENGTH Recommended Thời gian lưu trú tính theo số đêm được xác định bằng phần tử <Nights> trong Nguồn cấp dữ liệu giá khách sạn. Ví dụ: 3.
MODIFICATION-IDS Optional

Nếu bạn sử dụng ARI Sửa đổi giá, giá trị của biến này là thuộc tính id của thông báo sửa đổi giá. Nếu áp dụng nhiều mức sửa đổi giá, thì đây là danh sách mã sửa đổi được phân tách bằng dấu phẩy theo thứ tự tuỳ ý.

NUM-ADULTS Recommended (must be used with the NUM-CHILDREN or FOR-EACH-CHILD-AGE condition) Số lượng người lớn mà người dùng chỉ định cho hành trình. Bạn phải sử dụng biến này cùng với NUM-CHILDREN, FOR-EACH-CHILD-AGE hoặc cả hai.
NUM-CHILDREN Recommended Số lượng trẻ em (0-17 tuổi) mà người dùng chỉ định trong hành trình. NUM-CHILDREN, FOR-EACH-CHILD-AGE hoặc cả hai đều bắt buộc để tham gia thành công vào hành trình có trẻ em.
NUM-GUESTS Recommended (if you don't send child occupancy pricing) Tổng số người lưu trú, cả người lớn và trẻ em, do người dùng chỉ định cho hành trình. Giá trị này là tổng của các giá trị NUM-ADULTS và NUM-CHILDREN. Để tối đa hoá tỷ lệ tham gia, bạn nên sử dụng cả NUM-ADULTS và NUM-CHILDREN.
PACKAGE-ID Recommended (applies if you use Room Bundles) Giá trị nhận dạng riêng biệt của gói trong Nguồn cấp dữ liệu giá khách sạn. Đối với gói tiêu chuẩn, mã gói là giá trị của phần tử <PackageID> trong khối <Result>. Đối với Gói dịch vụ phòng, mã gói là giá trị của phần tử <PackageID> trong khối <RoomBundle> hoặc <PackageData> của thông báo Giao dịch.
PARTNER-CURRENCY Optional Mã tiền tệ gồm ba chữ cái được xác định bằng thuộc tính currency của phần tử <Baserate> trong Nguồn cấp dữ liệu giá khách sạn. Ví dụ: USD hoặc CAD .
PARTNER-HOTEL-ID Recommended Giá trị nhận dạng riêng biệt của khách sạn do phần tử <id> xác định trong Nguồn cấp dữ liệu danh sách khách sạn.
PARTNER-ROOM-ID Recommended (applies if you use Room Bundles) Giá trị nhận dạng riêng biệt của phòng trong Nguồn cấp dữ liệu giá khách sạn. Đối với phòng tiêu chuẩn, mã phòng là giá trị của phần tử <RoomID> trong khối <Result>. Đối với Gói dịch vụ phòng, mã phòng là giá trị được chỉ định cho phần tử <RoomID> trong khối <RoomBundle> hoặc <RoomData> trong thông báo Giao dịch.
Optional (only applies to Ads) Không dùng nữa: Chuyển thành một chuỗi được xác định sẵn commission hoặc số IATA mà Google chỉ định (ví dụ: "01234567") nếu bạn sử dụng một đại lý thu phí hoa hồng. Để thay đổi định dạng của số IATA hoặc chuỗi được xác định trước, hãy liên hệ với Nhà quản lý tài khoản hỗ trợ kỹ thuật (TAM).
PRICE-DISPLAYED-FEES (Optional) Số tiền phí có trong tổng số thuế và phí, được hiển thị cho người dùng bằng đồng nội tệ của họ. Giá trị của PRICE-DISPLAYED-FEES là giá trị của phần tử <Fee> trong thông báo Giao dịch. Đối với ARI, đây là số tiền phí được tính dựa trên thông báo TaxFeeInfo. Ví dụ: "60.14".
PRICE-DISPLAYED-TAX (Optional) Số tiền thuế hiển thị cho người dùng theo nội tệ của người dùng. Giá trị của PRICE-DISPLAYED-TAX là giá trị của phần tử <Tax> trong Nguồn cấp dữ liệu giá khách sạn. Ví dụ: "3.14".
PRICE-DISPLAYED-TOTAL (Optional) Tổng chi phí của phòng được hiển thị cho người dùng bằng nội tệ của người dùng. Giá trị của PRICE-DISPLAYED-TOTAL là tổng của các phần tử <Baserate>, <Tax> và <OtherFees> trong Nguồn cấp dữ liệu giá khách sạn. Ví dụ: "152.13".
PROMO-CODE (Optional)

Nếu bạn sử dụng chương trình khuyến mãi ARI, thì giá trị của biến này sẽ được gán cho thuộc tính id của <Promotion> được áp dụng. Nếu áp dụng nhiều chương trình khuyến mãi, thì đây là danh sách mã khuyến mãi được phân tách bằng dấu phẩy theo thứ tự tuỳ ý.

Nếu bạn sử dụng quy tắc giá, thì giá trị của biến này sẽ được gán cho phần tử PromoCode nếu quy tắc giá tương ứng được áp dụng.

RATE-PLAN-ID Recommended (only applies if you use RoomBundles) Mã nhận dạng do phần tử <RatePlanID> xác định trong khối <RoomBundle> của nguồn cấp dữ liệu giá. <RatePlanID> đại diện cho giá trị nhận dạng riêng biệt của một tổ hợp dữ liệu phòng và gói dịch vụ, đồng thời phải có độ dài trong vòng 50 ký tự để đạt hiệu suất tối ưu. Để biết thêm thông tin, hãy xem bài viết Gói dịch vụ phòng.
RATE-RULE-ID Recommended (only applies if you use conditional rates or private rates) Mã nhận dạng do thuộc tính rate_rule_id xác định trong khối <Rate> của nguồn cấp dữ liệu giá. Để biết thêm thông tin, hãy tham khảo bài viết Giá phòng có điều kiện.

Lưu ý: Chỉ những giá phòng có điều kiện hoặc mức giá ưu đãi chọn lọc không bị ẩn mới xuất hiện.

USER-COUNTRY Recommended Mã quốc gia gồm hai chữ cái cho biết vị trí của người dùng. Thông tin này được trích xuất từ chế độ cài đặt ứng dụng của người dùng. Ví dụ: US hoặc FR.
USER-CURRENCY Recommended Mã tiền tệ gồm 3 chữ cái cho biết nội tệ của người dùng. Giá trị của biến USER-CURRENCY được suy ra từ chế độ cài đặt ứng dụng của người dùng. Ví dụ: USD hoặc CAD .
USER-DEVICE Recommended Loại thiết bị của người dùng. Giá trị của USER-DEVICE có thể là một trong những giá trị sau:
  • mobile
  • tablet
  • desktop
  • unknown

Giá trị của biến USER-DEVICE được suy luận từ chế độ cài đặt ứng dụng của người dùng.

USER-LANGUAGE Recommended Mã ngôn ngữ gồm hai chữ cái theo tiêu chuẩn ISO 639-1, chỉ định ngôn ngữ hiển thị của quảng cáo hoặc đường liên kết miễn phí để đặt phòng. Giá trị của biến USER-LANGUAGE được suy luận từ chế độ cài đặt ứng dụng của người dùng. Ví dụ: en hoặc fr.
USER-LIST-ID (được xác định trong Google Ads) Optional (only applies if you use Audience Lists in Google Ads) Mã danh sách người dùng Google Ads chứa danh sách đối tượng hoặc thông tin người dùng. Danh sách đối tượng được dùng làm cơ sở để đặt mức điều chỉnh giá thầu. Nếu người dùng nằm trong nhiều danh sách đối tượng, thì hệ thống sẽ chọn danh sách đối tượng có mức điều chỉnh giá thầu lớn nhất. Các trường hợp bằng nhau giữa những đối tượng có mức điều chỉnh giá thầu lớn nhất sẽ được quyết định ngẫu nhiên.
VERIFICATION Optional Một boolean xác minh xem đường liên kết có phải do Google tạo để thử nghiệm hoặc xác thực hay không. Giá trị này là true nếu đường liên kết do Google tạo ra để kiểm tra hoặc xác thực, nếu không thì giá trị này là false.

Logic có điều kiện trong URL

Bạn có thể sử dụng các lệnh đặc biệt trong phần tử <URL> của tệp trang đích để tạo điểm cuối theo điều kiện.

Logic có điều kiện hỗ trợ các câu lệnh sau:

  • if_statement: Nếu true, thì các giá trị theo điều kiện này sẽ được chèn vào URL, nếu không thì các giá trị theo lệnh ELSE sẽ được chèn.

  • for_statement: Tạo điều kiện vòng lặp FOR lặp lại trên số lượng giá trị được cung cấp.

Câu lệnh IF và FOR bao gồm:

Điều kiện Nên dùng/không bắt buộc Mô tả
IF-AD-CLICK (Chỉ dành cho Quảng cáo khách sạn) Optional Phân giải thành true nếu lượt nhấp của người dùng bắt nguồn từ một quảng cáo. Phân giải thành false nếu lượt nhấp của người dùng bắt nguồn từ một đường liên kết miễn phí để đặt phòng.
IF-CLICK-TYPE-HOTEL Optional Chuyển thành true nếu người dùng nhấp vào trang thông tin của một khách sạn, nếu không thì chuyển thành false.
IF-CLICK-TYPE-ROOM Optional Phân giải thành true nếu người dùng nhấp vào một trang thông tin cho một Gói dịch vụ phòng, nếu không thì phân giải thành false.
IF-CLOSE-RATE-RULE-IDS Optional Trả về true nếu ít nhất một giá phòng có điều kiện không có hiệu lực vì người dùng không đủ điều kiện, nếu không thì trả về false. Theo mặc định, giá trị này là true nếu người dùng nhìn thấy hình thức xử lý giao diện người dùng cho mức giá riêng tư .
IF-DEFAULT-DATE Optional Phân giải thành true nếu người dùng nhấp vào một trang thông tin khách sạn sử dụng ngày mặc định, nếu không thì phân giải thành false.
IF-HOTEL-CAMPAIGN Optional Phân giải thành true nếu lượt nhấp của người dùng bắt nguồn từ một chiến dịch khách sạn, nếu không thì phân giải thành false. Sự khác biệt này giúp các đối tác có nhiều loại chiến dịch trong Google Ads phân bổ giá trị đóng góp.
IF-MODIFICATION-IDS Optional Phân giải thành true nếu người dùng nhấp vào một mức giá được sửa đổi bằng cách sửa đổi giá ARI; nếu không, phân giải thành false.
(Chỉ dành cho Quảng cáo khách sạn) Recommended (if you use pay-per-stay Google Ads campaigns) Không dùng nữa: Chuyển thành true đối với những khách sạn trong chương trình hoa hồng Trả tiền cho mỗi lần lưu trú (PPS), nếu không thì chuyển thành false.
IF-PROMO-CODE Optional Phân giải thành true nếu người dùng nhấp vào một mức giá dựa trên chương trình khuyến mãi ARI hoặc quy tắc giá có PromoCode nhất định; nếu không, phân giải thành false.
IF-PROMOTED (Chỉ dành cho Quảng cáo khách sạn) Recommended (if you use Promoted hotels) Phân giải thành true nếu người dùng nhấp vào Quảng cáo quảng bá cơ sở lưu trú, nếu không thì phân giải thành false.
IF-RATE-RULE-ID Optional Phân giải thành true nếu người dùng chọn một giá phòng có điều kiện , nếu không thì phân giải thành false.
IF-USER-LIST-ID (được xác định trong Google Ads) Optional Trả về giá trị true nếu người dùng là thành viên của một mã danh sách khách hàng trên Google Ads mà bạn đã chỉ định khi đặt hệ số nhân giá thầu cho danh sách đối tượng, nếu không thì trả về giá trị false.
IF-VERIFICATION Optional Phân giải thành true nếu đường liên kết do Google tạo ra để kiểm tra hoặc xác thực, nếu không thì phân giải thành false.
ELSE Recommended (if you use any conditional IF statements) Nếu không đáp ứng điều kiện trước đó, thì các giá trị theo điều kiện này sẽ được chèn vào URL.
END-IF Optional (required if you have any IF conditional statements) Kết thúc khối điều kiện của câu lệnh IF.
FOR-EACH-CHILD-AGE Optional (required for child occupancy pricing) Thực thi một lần cho mỗi phần tử <Child "age"> trong nguồn cấp dữ liệu giá. Ví dụ: nếu <OccupancyDetails> bao gồm hai phần tử <Child age="17"> và <Child age= "17">, thì lệnh sẽ thực thi hai lần.
END-FOR-EACH Optional (required if using FOR-EACH block) Kết thúc khối điều kiện của câu lệnh FOR-EACH.

Ví dụ về IF-AD-CLICK

Bạn có thể tạo một khối điều kiện để kiểm tra xem người dùng có nhấp vào quảng cáo hoặc đường liên kết miễn phí để đặt phòng hay không, nhằm chuyển hướng đến trang đích của bạn.

Ví dụ sau đây sử dụng lệnh này trong tệp trang đích:

<URL>https://partner.com?hid=(PARTNER-HOTEL-ID)(IF-AD-CLICK)&amp;adType=1(ELSE)&amp;adType=0(ENDIF)</URL>

Trong ví dụ này, nếu người dùng không nhấp vào quảng cáo, kết quả sẽ là URL sau:

https://www.partner.com?hid=123&adType=0

Nếu người dùng nhấp vào quảng cáo, kết quả sẽ là URL sau:

https://www.partner.com?hid=123&adType=1

Ví dụ về IF-CLICK-TYPE-HOTEL

Bạn có thể tạo một khối điều kiện để kiểm tra xem người dùng có chọn một khách sạn không có Gói phòng rõ ràng hay không. Giá trị của phần tử <RatePlanID> trong khối <Room Bundle> của Thông báo giao dịch sẽ được đặt thành giá gói phòng liên kết ngầm định mà người dùng đã chọn.

Ví dụ sau đây sử dụng lệnh này trong tệp trang đích:

<URL>https://partner.com/(IF-CLICK-TYPE-HOTEL)landing(ELSE)landing_room(ENDIF)?hid=(PARTNER-HOTEL-ID)</URL>

Trong ví dụ này, nếu người dùng không chọn Gói dịch vụ phòng, thì kết quả sẽ là URL sau:

https://partner.com/landing?hid=123

Nếu người dùng chọn một Gói dịch vụ phòng, thì kết quả sẽ là URL sau:

https://partner.com/landing_room?hid=123

Ví dụ về IF-CLICK-TYPE-ROOM

Bạn có thể tạo khối điều kiện, khối này sẽ kiểm tra xem người dùng có chọn RoomBundle hay không.

Ví dụ sau đây sử dụng lệnh này trong tệp trang đích:

<URL>https://partner.com/(IF-CLICK-TYPE-ROOM)landing_room(ELSE)landing(ENDIF)?hid=(PARTNER-HOTEL-ID)</URL>

Trong ví dụ này, nếu người dùng không chọn Gói phòng, thì kết quả sẽ là URL sau:

https://partner.com/landing?hid=123

Nếu người dùng chọn một Gói dịch vụ phòng, thì kết quả sẽ là URL sau:

https://partner.com/landing_room?hid=123

Ví dụ về IF-CLOSE-RATE-RULE-IDS

Bạn có thể tạo một khối điều kiện để kiểm tra xem người dùng có được hưởng mức giá ưu đãi đặc biệt hoặc mức giá ưu đãi chọn lọc dành cho thành viên của chương trình khách hàng thân thiết hay không.

Ví dụ sau đây sử dụng lệnh này trong tệp trang đích:

<URL>https://partner.com?hid=(PARTNER-HOTEL-ID)(IF-CLOSE-RATE-RULE-IDS)&amp;rate_rule=(CLOSE-RATE-RULE-ID)(ELSE)(ENDIF)</URL>

Trong ví dụ này, nếu người dùng không đủ điều kiện nhận mức giá riêng tư, thì kết quả sẽ là URL sau:

https://partner.com?hid=123

Nếu người dùng là thành viên của một chương trình khách hàng thân thiết và đủ điều kiện nhận mức giá ưu đãi chọn lọc, thì kết quả sẽ là URL sau:

https://partner.com?hid=123&rate_rule=sample_qr

Ví dụ sau đây là logic giá phòng có điều kiện với ngày nhận phòng, ngày trả phòng và thông tin chi tiết về số người lưu trú cùng các điều kiện IF lồng nhau để kiểm tra xem người dùng có đủ điều kiện nhận giá phòng riêng tư, giá phòng riêng tư có điều kiện hay giá phòng công khai hay không:

<URL>https://partner.com/?hid=(PARTNER-HOTEL-ID)&amp;checkinDay=(CHECKINDAY)&amp;checkinMonth=(CHECKINMONTH)&amp;checkinYear=(CHECKINYear)&amp;checkoutDay=(CHECKOUTDAY)&amp;checkoutMonth=(CHECKOUTMONTH)&amp;checkoutYear(CHECKOUTYear)&amp;num_adults=(NUM-ADULTS)(IF-CLOSE-RATE-RULE-IDS)&amp;promo_type=member_signup&amp;rate_rule=(CLOSE-RATE-RULE-ID)(ELSE)(IF-RATE-RULE-ID)&amp;promo_type=conditional&amp;rate_rule=(RATE-RULE-ID)(ELSE)promo_type=public(ENDIF)(ENDIF)</URL>

Nếu người dùng đủ điều kiện nhận giá phòng riêng, thì kết quả sẽ là URL sau:

https://partner.com/?hid=123&checkinDay=05&checkinMonth=03&checkinYear=2026&checkoutDay=07&checkoutMonth=03&checkoutYear=2026&num_adults=2&promo_type=member_signup&rate_rule=sample_qr

Nếu người dùng đủ điều kiện nhận mức giá riêng tư có điều kiện, thì kết quả sẽ là URL sau:

https://partner.com/?hid=123&checkinDay=05&checkinMonth=03&checkinYear=2026&checkoutDay=07&checkoutMonth=03&checkoutYear=2026&num_adults=2&promo_type=conditional&rate_rule=US_users

Nếu người dùng đủ điều kiện nhận giá công khai, thì kết quả sẽ là URL sau:

https://partner.com/?hid=123&checkinDay=05&checkinMonth=03&checkinYear=2026&checkoutDay=07&checkoutMonth=03&checkoutYear=2026&num_adults=2&promo_type=public

Ví dụ về kiểu kết hợp IF-DEFAULT-DATE

Sử dụng câu lệnh có điều kiện IF-DEFAULT-DATE để đặt một tham số không phải ngày mà trang web của bạn có thể sử dụng để kích hoạt hành vi tuỳ chỉnh nếu người dùng không chọn ngày.

Ví dụ sau đây kiểm tra xem ngày mặc định có được sử dụng hay không:

<URL>https://partner.com?hotelID=(PARTNER-HOTEL-ID)&amp;checkinDay=(CHECKINDAY)&amp;checkinMonth=(CHECKINMONTH)&amp;checkinYear=(CHECKINYEAR)&amp;nights=(LENGTH)(IF-DEFAULT-DATE)&amp;popup_datepicker=true(ELSE)&amp;popup_datepicker=false(ENDIF)</URL>

Trong ví dụ này, nếu người dùng không chọn ngày, thì kết quả có thể tương tự như URL sau đây (cho thấy các lựa chọn ngày mặc định):

https://partner.com?hotelID=123&checkinDay=23&checkinMonth=05&checkinYear=2023&nights=1&popup_datepicker=true

Nếu người dùng chọn một ngày, thì kết quả có thể tương tự như URL sau, tuỳ thuộc vào hành trình mà họ chọn:

https://partner.com?hotelID=123&checkinDay=23&checkinMonth=05&checkinYear=2023&nights=2&popup_datepicker=false

Ví dụ về tham số IF-HOTEL-CAMPAIGN (Lượt nhấp vào quảng cáo khách sạn và đường liên kết miễn phí để đặt phòng)

Bạn có thể tạo khối điều kiện, khối này sẽ kiểm tra xem người dùng nhấp vào quảng cáo có nguồn gốc từ một chiến dịch khách sạn hay không.

Ví dụ sau đây sử dụng lệnh này trong tệp trang đích:

<URL>https://partner.com?hotelID=(PARTNER-HOTEL-ID)(IF-HOTEL-CAMPAIGN)&amp;hotel_campaign=(CAMPAIGN-ID)(ELSE)utm_campaign=(CAMPAIGN-ID)(ENDIF)</URL>

Trong ví dụ này, nếu đó không phải là lượt nhấp vào URL của chiến dịch khách sạn (ví dụ: chiến dịch tìm kiếm thông thường), kết quả sẽ là URL sau:

https://www.partner.com?hotelID=123&utm_campaign=87654321

Nếu người dùng nhấp vào URL của chiến dịch khách sạn, kết quả sẽ là URL sau:

https://www.partner.com?hotelID=123&hotel_campaign=12345678

Điều này rất hữu ích khi bạn muốn phân biệt lưu lượng truy cập của các lượt nhấp vào chiến dịch khách sạn với các lượt nhấp khác.

CAMPAIGN-ID trống có lượt nhấp vào đường liên kết miễn phí để đặt phòng (FBL)

Nếu lượt nhấp là từ một Đường liên kết miễn phí để đặt phòng, thì IF-HOTEL-CAMPAIGN sẽ trả về TRUE và giá trị CAMPAIGN-ID được đặt thành trống như trong URL sau:

https://www.partner.com?hotelID=123&hotel_campaign=

Bạn có thể sử dụng câu lệnh có điều kiện IF-AD-CLICK để ngăn mã chiến dịch trống như trong ví dụ sau:

<URL>https://partner.com?hotelID=(PARTNER-HOTEL-ID)(IF-HOTEL-CAMPAIGN)(IF-AD-CLICK)&amp;hotel_campaign=(CAMPAIGN-ID)(ELSE)&amp;FreeBookingLink(ENDIF)(ELSE)utm_campaign=(CAMPAIGN-ID)(ENDIF)</URL>

IF-MODIFICATIONS-IDS

Bạn có thể tạo một khối điều kiện để kiểm tra xem người dùng đã cập nhật thông báo Sửa đổi giá ARI hay chưa.

Ví dụ sau đây sử dụng lệnh này trong tệp trang đích:

<URL>https://partner.com/?hid=(PARTNER-HOTEL-ID)(IF-MODIFICATION-IDS)&amp;promo_applied=true&amp;mod_ids=(MODIFICATION-IDS)(ENDIF)</URL>

Trong ví dụ này, nếu người dùng không sửa đổi thông báo Sửa đổi giá ARI, thì kết quả sẽ là URL sau:

https://partner.com?hid=123

Nếu người dùng cập nhật thông báo Sửa đổi giá ARI, thì kết quả sẽ là URL sau:

https://partner.com?hid=123&promo_applied=true&mod_ids=7

IF-PROMO-CODE

Bạn có thể tạo một khối điều kiện để kiểm tra xem mã khuyến mãi giảm giá có liên kết với giá phòng cho người dùng được chỉ định hay không. Giá phòng này được định cấu hình thông qua thông báo Khuyến mãi ARI hoặc quy tắc về giá phòng.

Ví dụ sau đây sử dụng lệnh này trong tệp trang đích:

<URL>https://partner.com/booking?hid=(PARTNER-HOTEL-ID)(IF-PROMO-CODE)&amp;promotion_code=(PROMO-CODE)&amp;discount_applied=true(ENDIF)</URL>

Trong ví dụ này, nếu mã khuyến mãi không hợp lệ thì kết quả sẽ là URL sau:

https://partner.com?hid=123

Nếu người dùng có mã khuyến mãi hợp lệ và đủ điều kiện được chiết khấu, thì kết quả sẽ là URL sau:

https://partner.com?hid=123&promotion_code=123_abc&discount_applied=true

Ví dụ về IF-PROMOTED (chỉ dành cho Quảng cáo khách sạn)

Bạn có thể tạo một khối điều kiện để kiểm tra xem người dùng có nhấp vào Quảng cáo cơ sở lưu trú hay không.

Ví dụ sau đây sử dụng lệnh này trong tệp trang đích:

<URL>https://partner.com/(IF-PROMOTED)1(ELSE)0(ENDIF)?hid=(PARTNER-HOTEL-ID)</URL>

Trong ví dụ này, nếu người dùng không chọn Quảng cáo cơ sở lưu trú, thì kết quả sẽ là URL sau:

https://partner.com/0?hid=123

Nếu người dùng chọn một Quảng cáo cơ sở lưu trú, thì kết quả sẽ là URL sau:

https://partner.com/1?hid=123

Ví dụ về IF-RATE-RULE-ID

Bạn có thể tạo một khối điều kiện để kiểm tra xem người dùng có chọn một giá phòng có điều kiện hay không. Nếu có, thì giá trị của phần tử <RateRuleID> trong khối <Rate> của thông báo giao dịch sẽ được sử dụng. Tìm hiểu thêm.

Ví dụ sau đây sử dụng lệnh này trong tệp trang đích:

<URL>https://partner.com?hid=(PARTNER-HOTEL-ID)(IF-RATE-RULE-ID)&amp;rate_rule=(RATE-RULE-ID)(ELSE)(ENDIF)</URL>

Trong ví dụ này, nếu người dùng không chọn giá phòng có điều kiện, thì kết quả sẽ là URL sau:

https://www.partner.com?hid=123

Nếu người dùng chọn một giá phòng có điều kiện, thì kết quả sẽ là URL sau:

https://www.partner.com?hid=123&rate_rule=(RATE-RULE-ID)

Ví dụ về IF-USER-LIST-ID (được xác định trong Google Ads)

Nếu đặt hệ số giá thầu cho danh sách đối tượng trong một chiến dịch khách sạn trên Google Ads, bạn có thể sử dụng IF-USER-LIST-ID cùng với USER-LIST-ID để đặt một tham số trên trang web của mình cho một khách hàng thuộc một danh sách đối tượng nhất định trên Google Ads. Bạn có thể muốn làm như vậy cho mục đích theo dõi hoặc để tuỳ chỉnh trang web của mình cho các thành viên trong danh sách đối tượng.

<URL>https://partner.com/?hid=(PARTNER-HOTEL-ID)(IF-USER-LIST-ID)&amp;audience_list=(USER-LIST-ID)(ELSE)(ENDIF)</URL>

Trong ví dụ này, nếu người dùng không phải là thành viên của danh sách đối tượng, thì kết quả sẽ là URL sau:

https://www.partner.com?hid=123

Nếu người dùng là thành viên của danh sách đối tượng 12345678, thì kết quả sẽ là URL sau:

https://www.partner.com?hid=123&audience_list=12345678

Ví dụ về kiểu kết hợp IF-VERIFICATION

Nếu cần kiểm tra xem Google có tạo URL để kiểm thử hoặc xác thực hay không, bạn có thể sử dụng IF-VERIFICATION.

<URL>https://partner.com/?hid=(PARTNER-HOTEL-ID)(IF-VERIFICATION)&amp;isgoogle=true(ENDIF)</URL>

Trong ví dụ này, nếu Google không tạo URL để kiểm tra hoặc xác thực, thì kết quả sẽ là URL sau:

https://www.partner.com?hid=123

Nếu Google tạo URL để kiểm tra hoặc xác thực, thì kết quả sẽ là URL sau:

https://www.partner.com?hid=123&isgoogle=true

Ví dụ về FOR-EACH-CHILD-AGE

Bạn có thể tạo một khối có điều kiện để điền độ tuổi tối đa của mỗi trẻ em, như được chỉ định trong Nguồn cấp dữ liệu giá khách sạn.

Ví dụ sau đây sử dụng lệnh này trong tệp trang đích:

<URL>https://partner.com?adults=(NUM-ADULTS)&amp;children=(NUM-CHILDREN)(FOR-EACH-CHILD-AGE)&amp;age=(CHILD-INDEX)_(CHILD-AGE)(END-FOR-EACH)&amp;hid=(PARTNER-HOTEL-ID)&amp;</URL>

Trong ví dụ này, nếu hành trình có 2 người lớn và 2 trẻ em lần lượt là 0 và 17 tuổi, thì kết quả sẽ là URL sau:

https://www.partner.com?adults=2&children=2&age=0_0age=1_17&hid=123

Nếu hành trình có 2 người lớn và 0 trẻ em, thì kết quả sẽ là URL sau:

https://www.partner.com?adults=2&children=0&hid=123

Quy tắc chung khi tạo URL

Tất cả các biến đều không bắt buộc. Bạn không bắt buộc phải chèn bất kỳ biến nào vào URL trang đích. Tuy nhiên, việc sử dụng các biến để truyền thông tin về hành trình và người dùng thường mang lại trải nghiệm tốt hơn cho người dùng và giúp bạn tuân thủ các chính sách của Google.

Các quy tắc chung sau đây áp dụng khi xác định URL được tạo trong tệp trang đích:

  • Tất cả các biến đều được đặt trong dấu ngoặc đơn mở và đóng.

  • Các tham số chuỗi truy vấn phải được phân tách bằng ký hiệu và ("&") trong kết quả cuối cùng. Vì dấu và (&) là một ký tự đặc biệt trong XML và định dạng tệp trang đích là XML. Do đó, bạn phải sử dụng thực thể được mã hoá "&amp;" thay cho ký tự này. Kết quả cuối cùng sẽ hiển thị ký tự "&" thực tế. Ví dụ:

    <!-- Do this: -->
    <URL>https://www.partnerdomain.com?hotelID=(PARTNER-HOTEL-ID)&amp;nights=(LENGTH)</URL>
    
    <!-- Do NOT do this: -->
    <URL>https://www.partnerdomain.com?hotelID=(PARTNER-HOTEL-ID)&nights=(LENGTH)</URL>
    

    Bạn cũng phải mã hoá URL cho các ký tự đặc biệt mà bạn có thể đưa vào URL trang đích. Ví dụ:

    • dấu cách (" "): Thay thế các ký tự dấu cách bằng "%20;" trong phần tử <URL>
    • dấu gạch chéo lên ("/"): Thay thế dấu gạch chéo lên bằng "%2F;" trong phần tử <URL>

    Không phải tất cả các ký tự không phải chữ cái đều phải được mã hoá URL. Ví dụ: dấu gạch nối ("-") không cần phải được mã hoá URL. Để biết danh sách các ký tự phổ biến phải được mã hoá URL, hãy tham khảo bài viết Mã hoá URL.

  • Bạn có thể tạo giá trị cho một tham số từ nhiều biến. Ví dụ sau đây tạo một tham số duy nhất, checkinDate, từ các biến CHECKINDAY,CHECKINMONTH và CHECKINYEAR:

    <URL>https://www.partnerdomain.com?checkinDate=(CHECKINDAY)%2F;(CHECKINMONTH)%2F;(CHECKINYEAR)</URL>
    

    Ví dụ này sẽ tạo ra một URL có thể có dạng như sau:

    https://www.partnerdomain.com?checkinDate=7/23/1971
    
  • Bạn có thể sử dụng bất kỳ mã nhận dạng nào cho tên của các tham số chuỗi truy vấn. Máy chủ của bạn xử lý các giá trị này. Tuy nhiên, các giá trị mà bạn truyền bị giới hạn trong danh sách các biến có sẵn.

  • Bạn có thể sử dụng tối đa 5 biến tuỳ chỉnh ngoài danh sách các biến có sẵn.