תעריפים מותנים הם סוג של כלל תעריף שמאפשר לכם להציע תעריפים שונים למסלולי נסיעה, על סמך קריטריונים כמו המכשיר של המשתמש, המדינה שלו או אם המשתמש נכנס לחשבון Google.
אם יש לכם יותר מתעריף ציבורי או מותנה אחד למסלול נסיעה או לחבילת חדרים, המשתמש יראה את התעריף הנמוך ביותר. Google תמיד בוחרת את התעריף הנמוך ביותר שעומד בדרישות עבור המשתמש.
סקירה כללית
התעריפים המותנים גלויים בתיבות התמחור הרגילות, והם מוצגים רק למשתמשים שהחיפושים שלהם עומדים בקריטריונים של התעריף המותנה המשויך. הקריטריונים האלה יכולים להתבסס על:
- מכשיר של משתמש קצה
- המדינה של משתמש הקצה
- העדפת השפה של משתמש הקצה
- קבוצת משנה של כל המשתמשים שעבר דגימה לאחור
- אם משתמש הקצה מחובר לחשבון
כדי להפעיל שיעורי חיוב מותנים, משנים את הפרטים הבאים:
קובץ XML של כללי התעריפים: קובע את התנאים שבהם יתקיימו התעריפים המותנים.
פיד מחירים: משתמשים ברכיב
<Rate>
בהודעת עסקה כדי להגדיר את התעריפים.קובץ דף נחיתה: הוספת ערכים ספציפיים לכלל הקצבה לקישורי העומק.
תעריפים מותנים ספציפיים למכשיר
מחירים ספציפיים למכשיר הם מחירי מלונות שגלויים למשתמשים וניתנים להזמנה רק במכשיר ספציפי, כמו מכשיר נייד, טאבלט או מחשב. המחירים ניתנים על ידי השותפים של Google, ומשתמשי הקצה יכולים לראות את אותם מחירים ספציפיים למכשיר באתר של השותף ולבצע הזמנה.
תעריפים מותנים ספציפיים למדינה
תעריפים ספציפיים למדינה הם תעריפי מלונות שגלויים רק למשתמשים שמחפשים מלונות במדינה מסוימת, ורק הם יכולים להזמין בהם. Google קובעת את המדינה לפי כתובת ה-IP של משתמש הקצה. התעריפים ניתנים על ידי השותפים של Google, ומשתמשי הקצה יכולים לראות את אותם תעריפים ספציפיים למדינה ולבצע הזמנה באתר הספציפי למדינה של השותף.
תעריפים מותנים ספציפיים לשפה
מחירים ספציפיים לשפה גלויים רק למשתמשים שמחפשים מלונות תוך שימוש בהגדרת שפה ספציפית ב-Google. תנאים ספציפיים לשפה מוגדרים באמצעות האלמנט <LanguageCode>
.
השפה לא מצוינה בהודעות הבקשה של שאילתות עם הקשר. לכן, אם מציינים את הערך <LanguageCode>
בכללי התמחור, התשובה עם ההקשר אמורה לכלול את כל התעריפים הרלוונטיים שספציפיים לשפה.
תעריפים מותנים לדגימה למטה
תעריפים מותנים שעבר תהליך דגימה למטה גלויים רק לקבוצת משנה אקראית של כל המשתמשים שעומדים בדרישות. קצב הדגימה מוגדר באמצעות הרכיב <MaxUsersPercent>
ומחושב לפי הנוסחה הבאה:
MaxUsersPercent = (number of users selected to view rate)/(total eligible users)
תעריפים מותנים ללקוחות מחוברים
שיעורי ההמרה של משתמשים מחוברים גלויים רק למשתמשים שנכנסו לחשבון Google. השותפים של Google מספקים את המחירים, והמשתמשים יכולים לראות את המחירים ולבצע הזמנה באתר של השותף. שיעורי ההמרות של משתמשים מחוברים מוגדרים באמצעות האלמנט <UserSignedIn>
.
מאחר ש-Google תמיד בוחרת את התעריף הנמוך ביותר שעומד בדרישות, אם התעריף המותנה גבוה מהמחיר שהוגדר ברמה <Result>
, התעריף המותנה אף פעם לא יבחר. כדי למנוע זאת, מסירים את התעריף ברמה <Result>
ומגדירים תנאי לכל התעריפים. לחלופין, תוכלו לשאול את מנהל החשבונות הטכני שלכם אם אפשר להשתמש בכלל ברירת מחדל של שיעור לחישוב מחירים שהוגדרו ברמה <Result>
.
יצירת קובץ XML של כללי התמחור
כללי התעריפים לשיעורי תמחור מותנים מוגדרים באמצעות קובץ XML של כללי התעריפים. למידע נוסף, ראו הפנייה ל-XML של כללי הקצב.
עדכון פיד המחירים
מגדירים תעריפים מותנים באמצעות הרכיב בהודעת עסקה.
אפשר להשתמש ברכיב <Rate>
גם כרכיבי צאצא מרובים של <Rates>
בתוך הרכיבים <RoomBundle>
או <Result>
. כדי להשתמש בו כנקודת שיעור מותנה, צריך להגדיר את הערך של המאפיין rate_rule_id
כך שיתאים למזהה של כלל התמחור שהגדרתם בקובץ ה-XML של כללי התמחור.
אם אין לכם מחיר ברירת מחדל ציבורי לתפוסה של שני אנשים, צריך להגדיר את רכיב הצאצא <Baserate>
של ההודעה <Result>
לערך -1
. כל <Rates>
מותנה שנשלח ל-Google במקרה כזה ייחשב תקף.
דוגמאות
בסיס + תנאי
בדוגמה הבאה מוצגת הודעת Transaction שמכילה שיעור בסיס ושיעור מותנה:
<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">
<Result>
<Property>1234</Property>
<Checkin>2023-04-10</Checkin>
<Nights>1</Nights>
<Baserate currency="USD">200.00</Baserate>
<Tax currency="USD">20.00</Tax>
<OtherFees currency="USD">1.00</OtherFees>
<Rates>
<!-- The rate_rule_id is required when using conditional rates -->
<Rate rate_rule_id="mobile">
<!-- Override base rate and taxes for conditional rates -->
<Baserate currency="USD">180.00</Baserate>
<Tax currency="USD">18.00</Tax>
</Rate>
</Rates>
</Result>
</Transaction>
RoomBundle single
בדוגמה הבאה מוצגת הודעת Transaction שמכילה תעריף יחיד בקטע <RoomBundle>
:
<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">
<Result>
<Property>1234</Property>
<Checkin>2023-04-10</Checkin>
<Nights>2</Nights>
<Baserate currency="USD">300.00</Baserate>
<Tax currency="USD">30.00</Tax>
<OtherFees currency="USD">2.00</OtherFees>
<RoomBundle>
<RoomID>single</RoomID>
<Baserate currency="USD">300.00</Baserate>
<Tax currency="USD">30.00</Tax>
<OtherFees currency="USD">2.00</OtherFees>
</RoomBundle>
<RoomBundle>
<RoomID>3</RoomID> <!-- Links to data in metadata -->
<RatePlanID>basic</RatePlanID>
<Baserate currency="USD">275.00</Baserate>
<Tax currency="USD">27.50</Tax>
<ChargeCurrency>web</ChargeCurrency>
<BreakfastIncluded>1</BreakfastIncluded>
<Rates>
<Rate rate_rule_id="mobile">
<Baserate currency="USD">269.00</Baserate>
<Tax currency="USD">2.69</Tax>
<OtherFees currency="USD">1.00</OtherFees>
</Rates>
</Rates>
</RoomBundle>
</Result>
</Transaction>
RoomBundle multiple
בדוגמה הבאה מוצגת הודעת Transaction שמכילה מספר שיעורי חיוב בקטע <RoomBundle>
:
<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">
<Result>
<Property>1234</Property>
<Checkin>2023-04-10</Checkin>
<Nights>2</Nights>
<!-- When Google receives new room bundle information for an itinerary, all
previous room bundle pricing is dropped from Google's cache. Thus, if you
want to delete a specific room bundle from Google's cache, you may do so
by simply not providing that specific room bundle in subsequent transaction
messages. -->
<RoomBundle>
...
<!-- RoomID is required, PackageID is recommended. -->
<RoomID>5</RoomID>
<PackageID>ABC</PackageID>
<!-- Baserate is required. -->
<Baserate currency="USD">275.00</Baserate>
<Tax currency="USD">27.50</Tax>
<OtherFees currency="USD">2.00</OtherFees>
<!-- RatePlanID is optional and represents the unique identifier for a
room and package data combination. We strongly recommend using RatePlanID
as a variable to build your dynamic landing page (formerly Point of Sale)
URL. For details, see Using Variables and Conditions. -->
<RatePlanID>5-ABC</RatePlanID>
<!-- Occupancy is mandatory for RoomBundle elements. -->
<!-- Elements below will get inherited to nested rate elements. -->
<Occupancy>2</Occupancy>
<OccupancyDetails>
<NumAdults>2</NumAdults>
</OccupancyDetails>
<InternetIncluded>1</InternetIncluded>
<!-- Rate rule "mobile" overrides chargeCurrency, "us_or_gb" doesn't. -->
<ChargeCurrency>web</ChargeCurrency>
<Rates>
<Rate rate_rule_id="mobile">
<Baserate currency="USD">258.33</Baserate>
<Tax currency="USD">25.83</Tax>
<OtherFees currency="USD">1.00</OtherFees>
<!-- The value below overrides ChargeCurrency from roombundle. -->
<ChargeCurrency>hotel</ChargeCurrency>
</Rate>
<Rate rate_rule_id="us_or_gb">
<Baserate currency="USD">268.33</Baserate>
<Tax currency="USD">26.83</Tax>
<OtherFees currency="USD">1.00</OtherFees>
</Rate>
</Rates>
</RoomBundle>
</Result>
</Transaction>
אין תפוסה כפולה ציבורית
בדוגמה הבאה מוצגת הודעת עסקה שמכילה תעריף מותנה ללא תעריף ציבורי לתפוסה כפולה:
<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">
<Result>
<Property>1234</Property>
<Checkin>2023-04-10</Checkin>
<Nights>1</Nights>
<!-- <Unavailable/> should not be specified when available nested rates
exist. -->
<Baserate currency="USD">-1</Baserate>
<Tax currency="USD">0</Tax>
<OtherFees currency="USD">0</OtherFees>
<Rates>
<!-- The rate_rule_id is required when using conditional rates. -->
<Rate rate_rule_id="mobile">
<Baserate currency="USD">180.00</Baserate>
<Tax currency="USD">18.00</Tax>
<OtherFees currency="USD">1.00</OtherFees>
<Custom1>ratecode123</Custom1>
</Rate>
</Rates>
</Result>
</Transaction>
עדכון הקובץ של דף הנחיתה
כדי לוודא שמשתמשי קצה שעומדים בדרישות יוכלו להזמין את המחיר המוזל דרך קישור עומק, צריך לשנות את קובץ דף הנחיתה. יכול להיות שתצטרכו לבצע הטמעה נוספת באתר ההזמנות כדי להציג את המחירים המוזלים בצורה תקינה ולאפשר את מימושם.
אנחנו מצפים מהשותפים לכבד את המחיר שמוצג בקישור העמוק של התעריף המותנה.
בקישורים דינמיים לעומק, אפשר לכלול את כלל הקצב לפי השם שלו, המאפיין id
של הרכיב <RateRule>
, עם המשתנה RATE-RULE-ID
.
בדוגמה הבאה מתווסף מזהה כלל התמחור:
https://bookingsite.com/landing.do?id=(PARTNER-HOTEL-ID)&arrival=(CHECKINDAY)-(CHECKINMONTH)-(CHECKINYEAR)&departure=(CHECKOUTDAY)-(CHECKOUTMONTH)-(CHECKOUTYEAR)&lang=(USER-LANGUAGE)¤cy=(USER-CURRENCY)&prid=(RATE-RULE-ID)
קובץ דף הנחיתה תומך גם בהוראה IF-RATE-RULE-ID
שמאפשרת להגדיר חלקים של כתובת ה-URL באופן מותנה, בהתאם לקיומו של כלל הקצבה:
https://bookingsite.com/(IF-RATE-RULE-ID)privatelanding.do(RATE-RULE-ID)(ELSE)landing.do(ENDIF)?id=(PARTNER-HOTEL-ID)&arrival=(CHECKINDAY)-(CHECKINMONTH)-(CHECKINYEAR)&departure=(CHECKOUTDAY)-(CHECKOUTMONTH)-(CHECKOUTYEAR)&lang=(USER-LANGUAGE)¤cy=(USER-CURRENCY)
בדוגמה הזו מתבצעת בחירה בין שני דפי נחיתה, בהתאם להגדרה של מזהה כלל הקצבה.
מידע נוסף זמין במאמר שימוש במשתנים ובתנאים.