UX-case study

Prijsweergave verbeteren door duidelijkheid

Het getal dat een reiziger zag bij het kiezen van een hotel en het getal dat op de checkoutpagina werd gevraagd waren niet hetzelfde. Dit is het werk dat de prijs uit elkaar haalde op de pagina in plaats van aan het eind, en het experiment dat mat of meer vertellen over een prijs meer voorraad verkoopt.

8
Vergeleken platforms, het onze inbegrepen
7
Landen, elk met eigen belastingregels
+3.5%
Conversie, buiten de Verenigde Statussen
Klant
Rol UX Designer, enige designer op prijsweergave
Team 1 UX-designer, 1 product owner, 1 data scientist, 1 copywriter, een extern vertaalbureau, een scrumteam
Doorlooptijd Liep nog toen dit werd geschreven; de benchmark vond plaats in september 2020
Platform De boekingsfunnel, op desktop en mobiel web
Tools Figma, Zeplin, FullStory
Een hotelprijs uitgesplitst in een nachttarief, belastingen en kosten, lokale belasting, een resortfee, overige lokale belastingen, een totaal, een korting, en wat nu wordt betaald tegenover wat bij het hotel wordt betaald

Het belangrijkste paneel in het ontwerp. Elke regel onder het kamertarief is geld dat iemand vroeger pas bij de checkout voor het eerst tegenkwam.

Probleem

Een prijs die groeide op weg naar de kassa

Findhotel is een kleinere speler in accommodatie. Het bedient de gelokaliseerde markten die de grootste platforms meestal met rust laten, en een groot deel van het aanbod is restvoorraad: kamers waarvan een hotel verwacht ze niet te verkopen en die het zelf niet kan aanbieden zonder door de grotere sites in de ranglijst omlaag geduwd te worden.

Die voorraad verkopen betekent winnen op prijs, en de funnel ondermijnde zijn eigen sterkste argument. De prijs die werd getoond bij het kiezen van een kamer was niet de prijs die twee schermen later in de funnel werd gevraagd. De data lieten een grote uitval van gebruikers zien, geconcentreerd op de checkoutpagina.

Het gat was het grootst voor reizigers buiten de Verenigde Statussen, want daar zitten de extra regels: een toeristenbelasting die de gemeente int, een resortfee die het hotel int, andere lokale heffingen die per straat verschillen. Niets ervan was met opzet verborgen. Het verscheen simpelweg laat, zonder naam, en allemaal tegelijk.

Twee argumenten wezen voor één keer dezelfde kant op. De business wilde een hogere conversie. Ik wilde dat onze gebruikers de vraag waar betaal ik voor en waarom konden beantwoorden zonder een tweede tabblad te openen.

Aanbiedingsdetails, het enige scherm in de funnel dat als enige taak heeft die vraag te beantwoorden.

Doelen

Wat het werk moest doen

Noem het getal vroeg
Zet wat een verblijf werkelijk kost voor iemand neer terwijl die nog aan het kiezen is, niet pas als hij zich heeft vastgelegd.
Benoem elke heffing
Een kostenpost met een naam kan begrepen en misschien vergeven worden. Een naamloos bedrag aan het eind kan alleen maar irriteren.
Rol het uit zonder de funnel op het spel te zetten
Uiteindelijk elke markt bereiken, en na de eerste kunnen stoppen als de cijfers de verkeerde kant op gingen.

Prijsweergave ligt op het omzetpad van elke boeking die het bedrijf aanneemt, dus een wijziging daaraan is een wijziging waar niemand ontspannen over kan doen. Kunnen wijzen op een gefaseerde uitrol was wat het gesprek überhaupt mogelijk maakte.

Team & publiek

Wie deed wat

De product owner bracht de business case en stelde de prioriteiten. De data scientist leverde de cijfers waarop de beslissingen rustten en ontwierp de A/B-tests die ze maten. Een copywriter had de bewoording van elk label in handen. Een extern bureau vertaalde die bewoording naar de talen waarin de site draait.

Alles tussen het probleem en de overdracht was van mij: de benchmark, de ideatie- en scopingsessies, de wireframes en het prototype, de guerrillatests, het ontwikkelplan, de high-fidelity schermen, het handmatig testen vóór de release, het meekijken daarna, en de verslaglegging waarmee iedereen in het bedrijf kon volgen wat er was veranderd.

Publiek

Op wie we mikten, en in welke volgorde

De eerste release ging naar Amerikaanse reizigers die via Google hotel ads op de kamerselectiepagina binnenkwamen. Dat was de grootste en meest waardevolle groep op de site, wat hen zowel het publiek maakte dat het verbeteren waard was als het publiek waarmee je voorzichtig moest zijn.

Zodra een hypothese overeind was gebleven, ging de wijziging naar de overige Engelstalige markten, en pas daarna naar de zesentwintig andere talen die de site destijds ondersteunde. Elke stap was een kleinere gok dan wat de vorige had opgeleverd, en zo mag een team het omzetpad meer dan één keer aanraken.

De groep waarop we het eerst mikten is niet de groep waar het resultaat vandaan kwam.

Scope en beperkingen

Wat we konden bereiken, en wat niet

Het bedrijf was zo georganiseerd dat de kamerselectiepagina en alles daarna van ons waren, wat betekende dat de zoek- en landingspagina's dat niet waren. Dat is een harde grens dwars door het midden van het probleem: een reiziger vormt zijn verwachting van de prijs op een scherm dat wij niet mochten veranderen, en komt daarna het onze tegen.

Er was ook geen budget voor begeleid testen. Een handvol klanten is gebeld, maar het doel van die gesprekken was verzamelen wat ze al niet beviel aan de huidige ervaring, niet om ze een prototype voor te leggen. De kwalitatieve helft van dit project is dus een benchmark en een set sessieopnamen in plaats van een studie.

Twee schermen, daarna meer
Het begon bij kamerselectie en betaling. Naarmate er bewijs kwam, bereikte het de aanbiedingsdetails, het bevestigingsscherm, bevestigingsmails en boekingsbeheer.
Deskresearch, geen lab
Acht platforms in zeven landen, met de hand doorgewerkt. Geen begeleide sessies.
Vijf weken live verkeer
Eén A/B-test, gelijk verdeeld, lang genoeg om een weekendpatroon te overleven en kort genoeg om op te handelen.

De eerste kaart is degene om bij stil te staan, want het is het verschil tussen een wijziging aan een scherm en een wijziging aan een product. Een prijsopbouw die pas op het moment van betalen volledig zichtbaar is, is niet eerlijk; het is een mededeling. Dezelfde regels moesten dus voorbij het punt waar het geld beweegt overleven, tot in het scherm dat de boeking bevestigt en de mail die daarop volgt.

In dit wireframe is dat beslecht. Het is het bevestigingsscherm, met exact dezelfde opbouw als de checkout, met twee extra regels die de checkout nog niet had: wat er al is betaald, en wat het hotel nog gaat innen. Alles verderop op deze pagina volgt uit die beslissing.

Bevestiging, als wireframe. De opbouw stopt niet bij de betaling, en de valutaplaceholders in de kleine lettertjes staan er omdat het ook in elke markt waar moest zijn.

Proces

Negen stappen, elke iteratie herhaald

Dit was nooit één project met een einde. Het is een lus die meerdere keren heeft gedraaid, en elke ronde leunde op de stappen die het product op dat moment het hardst nodig had. De benchmark is de uitzondering: die is één keer grondig gedaan en daarna geraadpleegd.

01

In kaart brengen waar een prijs verschijnt

Een ruw schema van de interacties die een reiziger met een prijs kan hebben en wat er uit elk daarvan volgt. Het is geen volledige weergave van elke staat waarin de funnel kan verkeren, en dat zou het ook nooit worden. Wat het oplevert zijn de edge cases die je vooraf kunt zien in plaats van die een developer in een sprint vindt, en een gedeeld object om naar te wijzen wanneer iemand vraagt of we aan een heel specifiek edge case hebben gedacht.

02

Acht platforms in zeven landen benchmarken

Het begon als één vraag met een complex antwoord: wat nemen andere platforms op in de nachtprijs?

Die eerlijk beantwoorden betekende beslissen met wie je vergelijkt, waar, en onder welke boeking. Dus: Findhotel tegen Expedia, Booking, Agoda, Skyscanner, TripAdvisor, Airbnb en Kayak, want dat zijn de partijen waaraan het bedrijf zich al spiegelde. In Nederland, Duitsland, het Verenigd Koninkrijk, Australië, Belarus, Indonesië en Israël, want dat zijn de markten waar onze eigen regels voor prijsweergave al verschilden.

Vergelijkbare resultaten hebben een controle nodig, dus elke zoekopdracht was dezelfde zoekopdracht: Park Plaza Victoria in Amsterdam, één volwassene, één kamer, voor de nacht van 13 oktober 2020, een hotel dat juist is gekozen omdat er zowel toeristenbelasting als een toeristenheffing op zit. De zoekopdrachten zelf zijn in september uitgevoerd, een maand vooruit, ongeveer wanneer iemand een stedentrip boekt. Een tweede ronde vroeg om twee nachten, 13 tot 15 oktober, in de vijf markten waar de eerste ronde een vraag had opgeroepen. Waar een platform dat hotel niet had, is het dichtstbijzijnde equivalent gebruikt en is de vervanging genoteerd.

Platform neemt algemene belasting op in nachttarief?

Ja, al vanaf de zoekresultaten

Nee, pas bij de checkout

Noemt het basistarief en het totaal samen

Platform neemt lokale belasting op in nachttarief?

Ja, al vanaf de zoekresultaten

Nee, pas bij de checkout

Noemt het basistarief en het totaal samen

Two questions, asked at every platform

Does the nightly rate include the general tax – the sales tax the platform itself collects?

Does the nightly rate include the local tax – the city or tourist tax the destination collects?

  • Included from the start
  • Revealed in checkout
  • Inconsistent
  • Stated separately

Two searches, one hotel

FindHotel
Local General
Market Incl.: Included from the start Held: Revealed in checkout Mix: Inconsistent Split: Stated separately Incl.: Included from the start Held: Revealed in checkout Mix: Inconsistent Split: Stated separately
GermanyDE: Germany Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately
NetherlandsNL: Netherlands Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately
United KingdomUK: United Kingdom Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately
AustraliaAU: Australia Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately
BelarusBY: Belarus Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately
IndonesiaID: Indonesia Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately
IsraelIL: Israel Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately
Expedia
Local General
Market Incl.: Included from the start Held: Revealed in checkout Mix: Inconsistent Split: Stated separately Incl.: Included from the start Held: Revealed in checkout Mix: Inconsistent Split: Stated separately
GermanyDE: Germany Included from the startNot: Revealed in checkoutNot: InconsistentStated separately Included from the startNot: Revealed in checkoutNot: InconsistentStated separately
NetherlandsNL: Netherlands Included from the startNot: Revealed in checkoutNot: InconsistentStated separately Included from the startNot: Revealed in checkoutNot: InconsistentStated separately
United KingdomUK: United Kingdom Included from the startNot: Revealed in checkoutNot: InconsistentStated separately Included from the startNot: Revealed in checkoutNot: InconsistentStated separately
AustraliaAU: Australia Included from the startNot: Revealed in checkoutNot: InconsistentStated separately Included from the startNot: Revealed in checkoutNot: InconsistentStated separately
BelarusBY: Belarus Included from the startNot: Revealed in checkoutNot: InconsistentStated separately Included from the startNot: Revealed in checkoutNot: InconsistentStated separately
IndonesiaID: Indonesia Included from the startNot: Revealed in checkoutNot: InconsistentStated separately Included from the startNot: Revealed in checkoutNot: InconsistentStated separately
IsraelIL: Israel Included from the startNot: Revealed in checkoutNot: InconsistentStated separately Included from the startNot: Revealed in checkoutNot: InconsistentStated separately
Airbnb
Local General
Market Incl.: Included from the start Held: Revealed in checkout Mix: Inconsistent Split: Stated separately Incl.: Included from the start Held: Revealed in checkout Mix: Inconsistent Split: Stated separately
GermanyDE: Germany Included from the startNot: Revealed in checkoutNot: InconsistentStated separately Included from the startNot: Revealed in checkoutNot: InconsistentStated separately
NetherlandsNL: Netherlands Included from the startNot: Revealed in checkoutNot: InconsistentStated separately Included from the startNot: Revealed in checkoutNot: InconsistentStated separately
United KingdomUK: United Kingdom Included from the startNot: Revealed in checkoutNot: InconsistentStated separately Included from the startNot: Revealed in checkoutNot: InconsistentStated separately
AustraliaAU: Australia Included from the startNot: Revealed in checkoutNot: InconsistentStated separately Included from the startNot: Revealed in checkoutNot: InconsistentStated separately
BelarusBY: Belarus Included from the startNot: Revealed in checkoutNot: InconsistentStated separately Included from the startNot: Revealed in checkoutNot: InconsistentStated separately
IndonesiaID: Indonesia Not recorded Not: Included from the startRevealed in checkoutNot: InconsistentNot: Stated separately
IsraelIL: Israel Included from the startNot: Revealed in checkoutNot: InconsistentStated separately Included from the startNot: Revealed in checkoutNot: InconsistentStated separately

More platforms

Agoda
Local General
Market Incl.: Included from the start Held: Revealed in checkout Mix: Inconsistent Split: Stated separately Incl.: Included from the start Held: Revealed in checkout Mix: Inconsistent Split: Stated separately
GermanyDE: Germany Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately
NetherlandsNL: Netherlands Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately
United KingdomUK: United Kingdom *Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately *Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately
AustraliaAU: Australia *Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately *Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately
BelarusBY: Belarus Not: Included from the start*Revealed in checkoutNot: InconsistentNot: Stated separately Not: Included from the start*Revealed in checkoutNot: InconsistentNot: Stated separately
IndonesiaID: Indonesia Not: Included from the start*Revealed in checkoutNot: InconsistentNot: Stated separately Not: Included from the start*Revealed in checkoutNot: InconsistentNot: Stated separately
IsraelIL: Israel Not: Included from the start*Revealed in checkoutNot: InconsistentNot: Stated separately Not: Included from the start*Revealed in checkoutNot: InconsistentNot: Stated separately
Booking.com
Local General
Market Incl.: Included from the start Held: Revealed in checkout Mix: Inconsistent Split: Stated separately Incl.: Included from the start Held: Revealed in checkout Mix: Inconsistent Split: Stated separately
GermanyDE: Germany Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately
NetherlandsNL: Netherlands Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately
United KingdomUK: United Kingdom Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately
AustraliaAU: Australia Not: Included from the startRevealed in checkoutNot: InconsistentNot: Stated separately Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately
BelarusBY: Belarus Not: Included from the startRevealed in checkoutNot: InconsistentNot: Stated separately Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately
IndonesiaID: Indonesia Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately
IsraelIL: Israel Not: Included from the startRevealed in checkoutNot: InconsistentNot: Stated separately Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately
KAYAK
Local General
Market Incl.: Included from the start Held: Revealed in checkout Mix: Inconsistent Split: Stated separately Incl.: Included from the start Held: Revealed in checkout Mix: Inconsistent Split: Stated separately
GermanyDE: Germany Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately
NetherlandsNL: Netherlands Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately
United KingdomUK: United Kingdom Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately
AustraliaAU: Australia Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately Not: Included from the startNot: Revealed in checkoutInconsistentNot: Stated separately
BelarusBY: Belarus Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately Not: Included from the startNot: Revealed in checkoutInconsistentNot: Stated separately
IndonesiaID: Indonesia Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately Not: Included from the startNot: Revealed in checkoutInconsistentNot: Stated separately
IsraelIL: Israel Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately
Skyscanner
Local General
Market Incl.: Included from the start Held: Revealed in checkout Mix: Inconsistent Split: Stated separately Incl.: Included from the start Held: Revealed in checkout Mix: Inconsistent Split: Stated separately
GermanyDE: Germany Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately
NetherlandsNL: Netherlands Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately
United KingdomUK: United Kingdom *Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately *Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately
AustraliaAU: Australia Not: Included from the startNot: Revealed in checkoutInconsistentNot: Stated separately Not: Included from the startNot: Revealed in checkoutInconsistentNot: Stated separately
BelarusBY: Belarus Not: Included from the startNot: Revealed in checkoutInconsistentNot: Stated separately Not: Included from the startNot: Revealed in checkoutInconsistentNot: Stated separately
IndonesiaID: Indonesia Not: Included from the startNot: Revealed in checkoutInconsistentNot: Stated separately Not: Included from the startNot: Revealed in checkoutInconsistentNot: Stated separately
IsraelIL: Israel Not: Included from the startNot: Revealed in checkoutInconsistentNot: Stated separately Not: Included from the startNot: Revealed in checkoutInconsistentNot: Stated separately
TripAdvisor
Local General
Market Incl.: Included from the start Held: Revealed in checkout Mix: Inconsistent Split: Stated separately Incl.: Included from the start Held: Revealed in checkout Mix: Inconsistent Split: Stated separately
GermanyDE: Germany Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately
NetherlandsNL: Netherlands Not: Included from the startRevealed in checkoutNot: InconsistentNot: Stated separately Not: Included from the startRevealed in checkoutNot: InconsistentNot: Stated separately
United KingdomUK: United Kingdom *Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately *Included from the startNot: Revealed in checkoutNot: InconsistentNot: Stated separately
AustraliaAU: Australia Not: Included from the startRevealed in checkoutNot: InconsistentNot: Stated separately Not: Included from the startRevealed in checkoutNot: InconsistentNot: Stated separately
BelarusBY: Belarus Did not appear to sell into Belarus that month.
IndonesiaID: Indonesia Not: Included from the startRevealed in checkoutNot: InconsistentNot: Stated separately Not: Included from the startRevealed in checkoutNot: InconsistentNot: Stated separately
IsraelIL: Israel Not: Included from the start*Revealed in checkoutNot: InconsistentNot: Stated separately Not: Included from the start*Revealed in checkoutNot: InconsistentNot: Stated separately

* Added the nights together only at checkout – search and room selection still quoted them one at a time.

De bevinding zit in de twee rijen met een ster. Airbnb en Expedia waren de enige platforms die beide vragen in elke markt hetzelfde beantwoordden, en het antwoord dat ze gaven was noch ja noch nee: ze noemen het basistarief en het totaal tegelijkertijd. Alle anderen, Findhotel inbegrepen, kozen één getal en hoopten dat het voor dat land het juiste was.

Het bord legt ook vast wat niet werkte. De cijfers van Skyscanner klopten niet, en TripAdvisor leek in Belarus helemaal niets te verkopen.

De tabel hieronder toonde hun prijzen in november 2020, voor één kamer en voor meerdere kamers.

Single room
Multiple rooms
Single room
Price details
1 room x 1 night$123.37
You saved 20% ⓘ
Taxes and fees ⓘ$11.10
Local taxPayable at property$7.06
Local taxPayable at property$8.64
Total$150.17
Pay now$134.47
Pay at property$15.70

Rates are quoted in US dollars. Taxes and/or property imposed fees of $15.70 will be collected by the property in the local currency (€13.34). Taxes and/or fees due at the property are based on current exchange rates, which may vary at time of travel.

Multiple rooms
Price details
2 rooms x 1 night$663.44
🏷 You saved 30% ⓘ
Taxes and fees ⓘ$59.72
Local taxPayable at property$14.12
Local taxPayable at property$46.44
Total$783.72
Pay now$723.16
Pay at property$60.56

Rates are quoted in US dollars. Taxes and/or property imposed fees of $60.56 will be collected by the property in the local currency (€51.47). Taxes and/or fees due at the property are based on current exchange rates, which may vary at time of travel.

Single room
Your Genius Price Summary
Small Double RoomIncludes Genius benefit€ 58.83
9 % VAT€ 5.29
Tourism fee€ 3
7 % City tax€ 4.12
Price € 71.24 (for 1 guest)
Multiple rooms
Check-in
Thu 22 Oct 2020
Check-out
Fri 23 Oct 2020
1 night, 2 roomsChange dates

FREE cancellation before 23:59 on 20 October 2020

2 rooms€ 249.36
9 % VAT€ 22.44
Tourism fee€ 12
7 % City tax€ 17.46
Total price due at stay:€ 301.26
Now you’ll pay€ 0

No payment needed now. You’ll pay at the property.

Single room
Original price (1 room x 1 night)€ 413.76
Price (1 room x 1 night)€ 60.00
Booking feesFREE
Price ⓘ€ 60.00

Included in price: Hotel tax and service fees € 4.95

Not included in price (collected by the property): City Tax € 3.85

We price match. Find it for less, and we’ll match it! ⓘ

YOU SAVED € 353.76 ON THIS BOOKING!

Multiple rooms

14% OFF TODAY

Original price (2 rooms x 1 night)€ 139.36
Our price€ 135.00
✓ 24HOURSALE Coupon applied-€ 15.96
Price (2 rooms x 1 night)€ 119.04
Booking feesFREE
Price ⓘ€ 119.04

Included in price: VAT 9%

Not included in price (collected by the property): City Tax € 12.50

We price match. Find it for less, and we’ll match it! ⓘ

YOU SAVED € 15.96 ON THIS BOOKING!

Single room
1 night£205.25
Taxes and fees£36.06
Value Added Tax£18.66
Local tax (Pay on arrival)£17.40
Total£241.31
Pay now £223.91
Pay on arrival £17.40 (19.22 EUR) ⓘ
The price shown in GBP is for reference only and it may change. Payment at check-in must be in EUR. Reference exchange rate: 1.00 GBP=1.1046028974 EUR

🚗 Free cancellation

Multiple rooms
Single room
Budget Twin Room Shared Bathroom
📅 Tue, 10/20 - Wed, 10/21Change Dates
Nightly Rate€55.05
Rooms1
Nights1
Guests2
Subtotal€55.05
Taxes and Fees€14.80
Total:€69.85

Book now. Pay later when you stay.

Free Cancellation until Oct 18, 2020 ⓘ

Multiple rooms
Standaard driepersoonskamer, 3 eenpersoonsbedden
📅 Wed, 10/21 - Thu, 10/22Change Dates
Nightly Rate€57.80
Rooms2
Nights1
Adults4
Children1
Subtotal€115.60
Taxes and Fees€30.50
Total:€146.10

Non Refundable ⓘ

Single room
Summary

1 room, 2 guests, 2 nights
Fri 09-11-2020 - Sun 09-13-2020


Charges
Standard Double Room$281.39
Taxes, Fees & Surcharges$25.31
City taxPayable at hotel.$33.86
Total ⓘ$340.56
€288.70
Multiple rooms
Summary

2 rooms, 4 guests, 2 nights
Fri 09-11-2020 - Sun 09-13-2020


Charges
Standard Queen Room$389.61
Taxes, Fees & Surcharges$35.05
City taxPayable at hotel.$55.59
Total ⓘ$480.25
€407.12
Single room
Price
Room Subtotal:USD 105.60
USD 88.00

(US$44.00/night x 2 nights)

Taxes & Fees:USD 19.97
Total Price:USD 107.97
You Saved:USD 17.60
Cancellation Policy:
Learn more
Refundable until Oct 02, 2020
Promo Code ▾ Credits ▾
Multiple rooms
1 Night, 4 GuestsChange Dates
☐ VIP Package for $2.99 ⓘ Included: Free upgrade call, 24hr Concierge, Priority Support line

Price
Room Subtotal:USD 87.92
USD 79.29

(US$79.29/night x 1 night)

Tips:USD 1.00
Taxes & Fees:USD 14.27
Total Price:USD 94.56
You Saved:USD 8.63
Tip $1 for saving you $8.63? ⓘ Your support helps us deliver the best in hotel deals.
$1
No Tip$10
Cancellation Policy:
Learn more
Non Refundable
Single room
1 room x 1 night€61.98
Taxes & fees€5.26
VAT€5.26
Special Discount- €3.60
Subtotal (Pay to Trip.com)€63.64

Additional Fees (Pay at Hotel)

City Tax€4.09
City Fee€6.00
Total€73.73

Taxes and fees may vary upon arrival

Multiple rooms
Check-in: Tue, Oct 13
Check-out: Wed, Oct 14
1 night
Rooms: 2›
Prepay Online €138.04›

Taxes due at hotel: ≈ €53.72


×Price Summary

Prepay Online
An online prepayment of €138.04 is required to book this room.

Included in the price: Breakfast not included

2 rooms x 1 night€140.63
Taxes & fees ⓘ€11.41
Silver Tier Deal-€14
Subtotal (Pay to Trip.com)approx. €138.04
Additional Fees (Pay at Hotel)€53.72

other tax and fee

Totalapprox. €191.76
(Local currency: US$225.58)

Taxes and fees may vary upon arrival

Receive after stay:★ 130

130 Trip Coins = €1.11

Best stay with free cancellation

Single room
Summary
🔒 Price Guarantee
Friday, September 11, 202070,18€
Taxes and fees6,31€
City tax10,91€
Includes Your Secret Price: You’re saving 9% as a member
Total price87,40€

for 1 room, 2 guests, 1 night
including taxes and fees

Payment schedule
Due now76,49€
Due at property10,91€

📈 This price may increase if you book later.

Multiple rooms
Summary
🔒 Price Guarantee
Average nightly rate$204.14 CAD

Superior Twin Room 👤👤

Free cancellation

Wednesday, October 14, 2020$189.13 CAD

Executive Double Room 👤👤👤

Free cancellation

Wednesday, October 14, 2020$219.15 CAD
Taxes and fees$36.74 CAD
City tax$47.28 CAD
Includes Your Secret Price:
Total price$492.30 CAD*

for 2 rooms, 5 guests, 1 night
including taxes and fees

Payment schedule
Due now$445.02 CAD
Due at property$47.28 CAD
(30,34€)

*Prices are quoted in CAD based on the current exchange rate. The amount due at the property is payable in EUR.

📈 This price may increase if you book later.

Die zeven beelden vormen het ruwe materiaal waaruit de matrix is afgelezen. Elk is het hele landschap van één land, in één ronde vastgelegd, en dat is ook waarom de studie een datum draagt: zo zagen deze sites eruit in september 2020.

03

Ideatie, daarna terugbrengen tot de scope

Ik leidde de ideatiesessies, en de benchmark is wat ze de moeite waard maakte. Een team meenemen langs wat acht concurrenten met dezelfde boeking doen is een snellere manier om vast te stellen wat mogelijk is dan welke mening ook. Het verschuift het gesprek van meningen over prijs naar waarnemingen over prijzen.

Na elke sessie volgde de scoping, met de product owner en de data scientist. Twee vragen, altijd in deze volgorde: "Hoe zou het juiste antwoord eruitzien als niets de ontwikkeling in de weg stond?", en "Wat is het kleinste stuk dat we konden ontwikkelen om in echt verkeer te zetten?". Het gat tussen die twee antwoorden vormde de roadmap.

04

Een prototype dat goedkoop genoeg is om over te discussiëren

De wireframes werden een klikbaar prototype, bewust ruw gehouden. Het publiek waren stakeholders en iedereen in het bedrijf met een belang bij de uitkomst, en een scherm dat er af uitziet nodigt uit tot een gesprek over hoe af het eruitziet. Een grijs scherm nodigt uit tot een gesprek over de prijs.

Daarna guerrillatesten, wat hier betekent: pakken wie beschikbaar is en kijken hoe ze het proberen. Het vervangt geen studie en het is ook nooit als zodanig gepresenteerd. Het vangt het voor de hand liggende, en het levert de vragen op die als echt onderzoek terugkomen bij het team: wat gebeurt er als de valuta van de reiziger niet de valuta van de aanbieder is, wat gebeurt er bij meerdere kamers, wat gebeurt er als de kostenpost groter is dan de kamer.

Search
Browsing hotels

Silver cloud hotel at Seattle Stadium ★★★

Pioneer Square · 1.5km from city centre

€264
€320
€352

The Belltown Inn ★★

Belltown · 1.3km from city centre

€92
€103
€104
Room selection
Selecting a room

Silver cloud hotel at Seattle Stadium ★★★

1046 1st Avenue South, Pioneer Square, Seattle

You found the best deal33% off

Compared with 2 other sites

· 2 Queen bedroom€320
· King room€352

Standard room
2 guests max

€264

What fees does this deal have?

Just a local tax
Price details33% off
2 nights x 3 rooms
€165.16
Taxes and fees
€31.12
Local tax
€1.00
Total
€197.28
Pay now€196.28
Pay at property€1.00
Just a resort fee
Price details33% off
2 nights x 3 rooms
€165.16
Taxes and fees
€31.12
Resort fee
€148.04
Total
€344.32
Pay now€196.28
Pay at property€148.04
Resort fee, local tax, and other fees
Price details33% off
2 nights x 3 rooms
€165.16
Taxes and fees
€31.12
Local tax
€1.00
Resort fee
€148.04
Other local taxes and fees
€67.40
Total
€412.72
Pay now€196.28
Pay at property€216.44

What’s the currency situation?

Nothing extra is shown - the traveller's own currency already matches the hotel's.

Local taxes or resort fees will be collected by the property in the local currency.
The price is converted to show the approximate cost in AUD. You will pay now in EUR.
No pay-at-property fees
Price details33% off
2 nights x 3 rooms
€165.16
Taxes and fees
€31.12
Total
€196.28
Pay now€196.28
Just other local taxes and fees
Price details33% off
2 nights x 3 rooms
€165.16
Taxes and fees
€31.12
Other local taxes and fees
€67.40
Total
€263.68
Pay now€196.28
Pay at property€67.40
Checkout
Checking out

Personal details

First name
Last name
Email address

Payment

Card number
Expiration · Security code
Confirm payment
Price details33% off
2 nights x 3 rooms
€165.16
Taxes and fees
€31.12
Local tax
€1.00
Resort fee
€148.04
Other local taxes and fees
€67.40
Total
€412.72
Pay now€196.28
Pay at property€216.44

The same fee-display rule from Deal details carries through here.

Confirmation
Success

How likely are you to recommend FindHotel?

012345678910

Congratulations!

Your booking has been confirmed

675919442573866
Booking confirmation email

· via email

Hi {FirstName},
Your booking is confirmed.

Booking ID: 675919442573866

Manage booking
Booking management
Booking overview

Silver cloud hotel at Seattle Stadium

  • Check-in · Sep 17, 2020
  • Check-out · Sep 19, 2020
  • Room 1: Standard Room · 2 adults
  • Room 2: Standard Room · 2 adults, 1 child
Price details33% off
2 nights x 3 rooms
€165.16
Taxes and fees
€31.12
Local tax
€1.00
Resort fee
€148.04
Other local taxes and fees
€67.40
Total
€412.72
Pay now€196.28
Pay at property€216.44

The same fee-display rule from Deal details carries through here.

Free cancellation before Sep 14, 2020. There is a €34 fee for cancelling after this date.

Cancel booking
Cancellation
Confirm cancellation

Cancel this booking?

This discounted rate is non-refundable. You will not be refunded any of the payment already made.

Price details33% off
2 nights x 3 rooms
€165.16
Taxes and fees
€31.12
Local tax
€1.00
Resort fee
€148.04
Other local taxes and fees
€67.40
Total
€412.72
Pay now€196.28
Pay at property€216.44

The same fee-display rule from Deal details carries through here.

Confirm cancellation
Booking cancellation email

· via email

Hi {FirstName},
This booking was cancelled. We sent the email to {email}.

Booking ID: 675919442573866

Book again

De hele flow op een telefoon, in banen per fase, in de vorm waarin er voor het eerst over is gediscussieerd. Hij loopt voorbij de checkout door naar de mails, boekingsbeheer en annulering.

Original flow diagram (PDF)

05

Het omzetten in tickets

Een schema van het happy path en de edge cases die ertoe doen, waarbij elke tak het scherm draagt dat eruit voortkomt. Uit die tekening schrijft een product owner tickets. Het is ook het artefact waar ik in stap zeven op terugval, wanneer de vraag is of de build doet wat is afgesproken.

06

Het overdragen aan de front-end

High-fidelity schermen, ontworpen met de stijlgids en componentbibliotheek van het bedrijf, zodat een developer bekende onderdelen samenstelt in plaats van een plaatje te interpreteren. De belangrijkste schermen gingen in Zeplin in zowel desktop als mobiel, en daar komen de padding, de kleur en het icoon vandaan.

07

De build tegen de scenario's controleren

Zodra developers iets hadden dat nog niet uit was, liep ik met de hand de scenario's terug die voor die sprint waren afgesproken. Hier verdienen de kaart uit stap één en het schema uit stap vijf zichzelf terug, want anders is het antwoord op de vraag of alles is gedekt iemands herinnering aan een gesprek.

08

Twee opnamen uit productie

Zodra het live is, verandert de vraag van of het werkt naar wat mensen ermee doen. FullStory neemt echte sessies op en laat je segmenteren op gedrag of op waar iemand is, en alles wat ik het bewaren waard vond, een bug of een idee of een gewoonte die niemand had voorspeld, ging in een document.

Twee van die sessies staan hier omdat elk iets laat zien wat een conversiecijfer niet kan. De ene is een Amerikaanse reiziger aan de B-kant die van kamerselectie doorloopt naar de checkout. De andere is een reiziger in Japan die de prijsopbouw van een kamer opent, en dat is precies het gebaar dat dit project de moeite waard moest maken.

Verenigde Statussen, van kamerselectie tot checkout, aan de B-kant van de test

Japan, de prijsopbouw openen vanaf de kamerselectiepagina

09

De verandering leesbaar maken voor collega's

De laatste stap bepaalt of de andere stappen ergens komen. De product owner en de data scientist schreven het leesbare verslag; mijn deel was de twee kanten tegenover elkaar tekenen zodat iemand die nooit bij één vergadering hierover was geweest, één keer kon scrollen en zien wat er was veranderd.

Beide borden hieronder doorlopen dezelfde reis twee keer, kamerselectie links en checkout rechts, met de beslismomenten gepresenteerd als vragen en het resulterende paneel onder elke tak. Zet ze naast elkaar en de hele verandering is drie dingen: de kostenpost krijgt zijn naam terug, wat je nu betaalt wordt gescheiden van wat je daar betaalt, en een zin vertelt wie het int.

Kamerselectie

Meer dan één nacht, of meer dan één kamer?

1 nacht, 1 kamer
You found the best deal
FH FindHotel
CLP 59,803CLP 51,381

Resort Tower Two Queen …

14% off Partially refundable rate
Deal details

Compared with 2 other sites No changes

Hotels
Resort Tower Two Queen …

Non-refundable rate
Booking
Resort Tower Two Queen …

Non-refundable rate

Nightly price including taxes and fees

CLP 59,803

CLP 51,381 Nightly price including taxes and fees

Price details 14% off

1 night x 1 room
CLP 17,540.28
Taxes and fees
CLP 2,699.71
Due at property
CLP 31,140.86
Resort fee
CLP 31,109.12
Total
CLP 51,380.86
Total
CLP 51,328.48
2 nachten, 2 kamers
You found the best deal
FH FindHotel
CLP 74,531CLP 62,031

Resort Tower Two Queen …

17% off Partially refundable rate
Deal details

Compared with 2 other sites No changes

Hotels
Resort Tower Two Queen …
CLP 74,507
Non-refundable rate
Booking
Resort Tower Two Queen …
CLP 74,531
Non-refundable rate

Nightly price per room including taxes and fees

CLP 74,531

CLP 62,031 Nightly price per room including taxes and fees

Price details 17% off

2 nights x 2 rooms
CLP 26,773.45 average per night per room
CLP 107,093.81
Taxes and fees
CLP 4,116.28 average per night per room
CLP 16,465.10
Due at property
CLP 124,563.46
Resort fee
CLP 31,109.12 average per night per room
CLP 124,436.48
Total
CLP 248,122.37
Total
CLP 247,869.44
Checkout

Heeft de gast een andere valuta dan het hotel?

Nothing tells the guest which currency they will pay in at the property.

Pay now
$25.79
Pay at property
$39.68

Pay at property amount will be collected by the property in the local currency.

Is er nog iets verschuldigd bij het hotel?

Meer dan één nacht, of meer dan één kamer?

1 nacht, 1 kamer

1 King Bed, Nonsmoking

Non-refundable rate

Price details 5% off

1 night x 1 room
CLP 41,437.44
Taxes and fees
CLP 12,690.22
Total price
with taxes & fees
CLP 54,127.66
($68.97)
Total
CLP 54,127.66
Total saving
CLP 2,862.46
Total saving
CLP 2,862.46

The price is converted to show you the approximate cost in CLP. You’ll pay in USD.

The price is converted to show you the approximate cost in CLP. You’ll pay now in USD ($68.97).

2 nachten, 2 kamers

1 King Bed, Nonsmoking

Non-refundable rate

Price details 5% off

2 nights x 2 rooms
CLP 41,437.44 per night per room
CLP 165,749.76
Taxes and fees
CLP 12,643.13 per night per room
CLP 50,572.51
Total price
with taxes & fees
CLP 216,322.27
($275.64)
Total
CLP 216,322.27
Total saving
CLP 11,633.11
Total saving
CLP 11,633.11

The price is converted to show you the approximate cost in CLP. You’ll pay in USD.

The price is converted to show you the approximate cost in CLP. You’ll pay now in USD ($275.64).

Meer dan één nacht, of meer dan één kamer?

1 nacht, 1 kamer

Resort Tower Two Queen Room

Partially refundable rate

Price details 14% off

1 night x 1 room
CLP 17,540.28
Taxes and fees
CLP 2,699.71
Due now
CLP 20,239.99
Due at property
CLP 31,109.12
Resort fee
CLP 31,109.12
Total price
with taxes & fees
CLP 51,380.86
($65.47)
Total
CLP 51,328.48
Total saving
CLP 8,422.44
Total saving
CLP 8,474.82
Pay now
CLP 20,219.36
Pay at property
CLP 31,109.12

The price is converted to show you the approximate cost in CLP. You’ll pay in USD.

The price is converted to show you the approximate cost in CLP. You’ll pay now in USD ($25.79). Pay at property amount will be collected by the property in the local currency.

2 nachten, 2 kamers

Resort Tower Two Queen Room

Partially refundable rate

Price details 17% off

2 nights x 2 rooms
CLP 26,773.45 per night per room
CLP 107,093.81
Taxes and fees
CLP 4,112.08 per night per room
CLP 16,465.10
Due now
CLP 123,558.91
Due at property
CLP 124,436.48
Resort fee
CLP 31,109.12 per night per room
CLP 124,436.48
Total price
with taxes & fees
CLP 248,122.37
($316.16)
Total
CLP 247,869.44
Total saving
CLP 50,001.57
Total saving
CLP 50,254.50
Pay now
CLP 123,432.96
Pay at property
CLP 124,436.48

The price is converted to show you the approximate cost in CLP. You’ll pay in USD.

The price is converted to show you the approximate cost in CLP. You’ll pay now in USD ($157.44). Pay at property amount will be collected by the property in the local currency.

Prototype

Het prototype zelf

The scenario selector, offering a one night one room stay and choice of World, French or American user

Scenario selector

Eén flow, drie regio’s: dezelfde gedeelde figuur die het prototype van de X-ray planner aandrijft, nu gericht op dit bestand. Kies een regio om te zien hoe de totaalprijs daar is opgebouwd.

Prototype

Het Figma-prototype waarop het concept is getest, met één flow getoond voor drie regio’s. Klik ergens naast een bedieningselement om te zien wat er aanklikbaar is.

Conclusie

Wat vijf weken verkeer zeiden

+3.5%

Conversie, voor reizigers buiten de Verenigde Statussen, over een test van vijf weken.

Markten met belasting inbegrepen bewogen het meest

Het effect was het scherpst waar mensen al verwachten dat een getoonde prijs de belasting bevat. Wat wij hadden meegenomen was helemaal geen belasting: het waren de accommodatiekosten die ernaast stonden.

Desktop omhoog, mobiel omlaag

Desktopverkeer converteerde beter. Mobiel verkeer converteerde iets slechter, bij dezelfde wijziging, in dezelfde weken.

Een week vooruit, beter

Boekingen die ongeveer een week vooruit werden gemaakt verbeterden. Lastminuteboekingen waren iets slechter af, en dat is het patroon dat je verwacht als lezen tijd kost die iemand niet heeft.

We richtten dit op Amerikaanse reizigers die via Google hotel ads binnenkwamen, met het argument dat zij de grootste en meest waardevolle groep op de site waren. De winst kwam van overal elders.

Dat is geen mislukking, maar het is een resultaat over het doelwit in plaats van over de verandering, en het verdient het ook zo gelezen te worden. Een markt waar de getoonde prijs de belasting al bevat, heeft haar reizigers geleerd te verwachten dat het getal op de tegel het getal is dat ze betalen. Breek die verwachting en de correctie is veel waard. Een markt waar belasting aan het eind wordt toegevoegd heeft de tegenovergestelde verwachting aangeleerd, en daar viel minder te corrigeren.

Elke heffing een eigen regel geven is weer een regel, en op een telefoon kost een regel het meest. Niemand heeft gemeten welk van de twee effecten het werk deed, dus wat het resultaat werkelijk zegt is dat duidelijkheid niet overal gratis is en dat dit project nooit heeft uitgezocht waar ze ophoudt zich terug te betalen.

Wat daarna kwam

Tegen december 2020 was het werk een document geworden in plaats van een scherm: één kaart van hoe een prijs in elke fase van de funnel moet worden weergegeven, van de zoekresultaten via kamerselectie en aanbiedingsdetails tot de checkout. Vier borden, één per fase, elk daarvan de regel in plaats van een voorbeeld ervan.

Dit is ook waar de twee Findhotel-projecten op deze site elkaar raken. Onderaan dat checkoutbord staat een keuze tussen nu betalen en bij het hotel betalen, en iemand die keuze fatsoenlijk geven is een eigen case study. Benoemen wat het hotel int is wat het mogelijk maakte die keuze aan te bieden.

Die borden zijn de regels. Wat de oorspronkelijke pagina daarna bood was het ding zelf: een klikbaar prototype van de drie logica's voor prijsweergave die de site tegelijk draaide, zodat een lezer ze kon uitproberen in plaats van erover te lezen.

Lessen

De winnaars weigerden de vraag
Twee van de acht platforms beantwoordden beide vragen in elke markt identiek, en hun antwoord was het basistarief en het totaal samen tonen in plaats van tussen die twee te kiezen. Ik had de studie rond een tweedeling gebouwd en het beste resultaat erin was een derde optie. Het waard te onthouden de volgende keer dat een onderzoeksinstrument alleen de antwoorden aanbiedt waar ik zelf aan had gedacht.
Een naam is de goedkoopste oplossing op de pagina
Het meetbare deel van deze verandering is één woord. Een bedrag verschuldigd bij het hotel werd een resortfee, en hetzelfde geld werd iets waarover een reiziger kon nadenken. Geen enkele opmaak, geen enkel component, geen enkele sprint techniek deed zoveel als de copywriter die een regel hernoemde.
Duidelijkheid heeft een schermformaat
Desktop ging omhoog en mobiel ging omlaag bij dezelfde release. Een uitgesplitste prijs is meer informatie, en meer informatie is goedkoop op een breed scherm en duur op een smal scherm. Ik zou een prijsopbouw nu behandelen als iets dat twee keer ontworpen moet worden in plaats van één keer herschikt.