One common reason a hotel website gets traffic but no direct bookings is poor booking direction. Many sites write great blogs about the area, but never guide readers on how to stay there. If you only talk about things to do, not where to stay, visitors leave and book elsewhere. Another big mistake is hiding the booking option. The most important spot on your website is the top right of the header. If there is no clear "Book Now" button, guests get confused or distracted. Clear calls to action turn readers into bookers. Also, you need social proof (aka reviews) at the top of your landing page so the guest can see you are a 5-star place. Use icons wherever possible instead of writing long paragraphs; guests hate reading. The number one reason could be that your images were not taken by a professional photographer in high definition. Fuzzy camera pics from your phone will have guests scurrying away.
The reason that's hindering the whole guest experience could very well be between the pretty marketing website and the agonizing booking engine. They're sold visions of a smooth and happy holiday getaway from a beautifully laid out website, only to be told to "Book Now" to be whisked away to clunky, slow and suspicious hinterlands of a third-party site. That's a travel transaction missed. You've just dropped your hand of cards, lost the game of bluff that cost you to win them this far. And when the price is not the price? Heaven help us... As Hotelchamp points out - unexpected costs are the number one killer. The guest has a price in mind. The "going rate" has been accepted. Now there's resort fee and taxes to pay. When that appears at the final hurdle it's frustrating; the perceived deception causes them to quit on that booking but stay with the anger towards your brand forever.