The OTA margin problem: why hotels lose 15–25% on every booking
MakeMyTrip, Goibibo, Booking.com, and Agoda charge commissions that typically range from 15% to 25% per booking, depending on your property's tier and how much visibility you pay for on their platform. For a homestay charging Rs 3,000 per night, that is Rs 450 to Rs 750 per night going to the platform, not to you. Over a season, the total can dwarf what a direct-booking campaign would have cost.
OTAs are not the enemy. They have distribution reach that a single property cannot match, and for a new property with zero brand recognition, listing on MakeMyTrip or Goibibo is a reasonable way to get initial occupancy. The problem starts when OTA bookings become your only channel and you never build anything of your own. You end up in a position where you cannot afford to leave, because you have no other source of guests, and the platform knows it.
The goal is not to quit OTAs overnight. It is to build a direct channel (your website, your Google listing, your ad campaigns) that captures the guests who would have found you anyway, or who can be reached for less than the OTA commission. Even shifting 20–30% of your bookings from OTA to direct changes the economics of a small property significantly.
When I worked on the Dandeli Cheetah Jungle Stay campaigns, this was the core brief: build a path for guests to book directly with the property instead of going through an aggregator. Every channel decision below was shaped by that single objective.
- OTA commissions in India typically run 15–25% per booking, sometimes higher for premium placement
- A homestay at Rs 3,000/night loses Rs 450–750 per night to the platform on every OTA booking
- OTAs are useful for initial visibility, but dangerous as your only booking source
- The realistic goal: shift 20–30% of bookings to direct channels, not eliminate OTAs entirely
- Every direct booking recovered at a marketing cost below the OTA commission is pure margin gained
Google Business Profile: the free listing that drives direct calls and enquiries
Before you spend a rupee on ads, your Google Business Profile (GBP) needs to be complete and active. When someone searches "homestay in Dandeli" or "hotel near Jog Falls," the map pack that appears at the top of Google pulls from GBP listings. If your profile is incomplete, has no photos, or shows outdated information, you are invisible in the one place travellers look first.
A strong GBP listing for a hotel or homestay has several things working together. First, accurate NAP (name, address, phone) with the phone number being the one you actually answer for bookings. Second, the right primary category ("hotel," "resort," "homestay," or "lodge" depending on what you are) plus relevant secondary categories. Third, high-quality photos of rooms, the property exterior, meals if you serve them, and the surrounding area. Google's own data shows that listings with photos get significantly more direction requests and website clicks than those without.
Reviews are the other half of GBP that most properties neglect. Ask every checkout guest to leave a Google review. Respond to every review, positive or negative, within 48 hours. Review count and recency are ranking signals for the local map pack, and they are also the first thing a potential guest reads before deciding whether to call or book. A property with 200 reviews at 4.3 stars will outperform a property with 12 reviews at 4.8 stars in both ranking and trust.
The direct value of GBP is the call button and the website link. A traveller who finds you in the map pack and taps "Call" or "Visit website" is a direct enquiry that cost you nothing. Treat your GBP listing as a permanent, free ad that needs maintenance, not a one-time setup task.
- Complete every GBP field: NAP, categories, hours, check-in/check-out times, amenities, and a booking link
- Upload at least 15–20 high-quality photos covering rooms, common areas, food, and surroundings
- Ask every checkout guest for a Google review and respond to all reviews within 48 hours
- Use Google Posts on your GBP to announce seasonal offers, packages, and local events
- Track GBP insights monthly: calls, direction requests, website clicks, and search queries people used to find you
Meta Ads for seasonal travel demand: targeting, creative, and lead forms
Meta (Facebook and Instagram) is where you generate demand for your property among people who are not yet searching for it. Unlike Google, where someone is already typing "resort in Coorg," Meta lets you put your property in front of someone in Pune or Bangalore who hasn't decided where to go yet but fits the profile of a likely guest.
From my work on Lavin Tours & Travel, where I ran lead-generation campaigns for domestic holiday packages, and on the Dandeli property campaigns, I've found that the strongest Meta strategy for hospitality is seasonal, not always-on. You run campaigns in the weeks before your peak booking windows: long weekends, Diwali breaks, summer holidays, year-end travel. Outside those windows, you scale down to a maintenance budget or pause entirely. Hospitality demand is inherently seasonal, and trying to run at full spend in your off-season just burns budget for low-quality enquiries.
For targeting, start broad within your feeder cities. If your property is in Dandeli, your guests are driving from Pune, Bangalore, Goa, and Hubli. Target those cities, ages 25–55, and let Meta's algorithm find the converters. Layering narrow interest targeting ("adventure travel" or "nature lovers") on top of a small feeder-city audience usually hurts delivery more than it helps, because the audience becomes too small for the algorithm to optimise.
Creative is where most properties fail. Generic stock photos of a swimming pool do not work. What works are real photos and short videos of your property: the view from the balcony, the food you serve, guests (with permission) enjoying an activity, the road approach, and a 15-second room walkthrough. Authenticity converts in travel because the guest is buying an experience, not a product. Show what the experience actually looks like.
For the campaign objective, lead forms (Meta instant forms) work well for homestays and small hotels where the booking process involves a conversation: the guest fills a short form (dates, number of guests, phone), and your front desk calls them back to confirm and collect an advance. For properties with a functional booking engine on their website, you can run traffic campaigns to the booking page instead, but only if the site is fast and mobile-friendly.
- Run campaigns seasonally: scale up 3–4 weeks before long weekends, holidays, and peak travel months
- Target feeder cities broadly (ages 25–55) rather than layering narrow interest audiences
- Use real property photos and short video walkthroughs, not stock images
- Lead forms work best when booking involves a phone conversation; traffic campaigns work when you have a fast booking engine
- A/B test the hero image and the offer (e.g., "2N/3D package at Rs X" vs "Monsoon weekend getaway") to see what your audience responds to
Building a direct-booking website that converts
If your website is a single page with a phone number and three blurry photos, you will lose every visitor Meta or Google sends you. The website does not need to be fancy, but it does need to do four things: load fast on a mobile connection, show the property clearly, display pricing or packages, and make it easy to enquire or book.
Speed comes first. Most guests searching on mobile in India are on 4G connections that are not always fast, especially in travel destinations with patchy coverage. Your site should load in under 3 seconds. That means compressed images, no heavy sliders, and ideally a static or lightweight CMS build rather than a bloated WordPress theme with 15 plugins.
The content that converts: clear room photos (one per room type, well-lit, showing the bed and bathroom), a photo of the property entrance or view, a section on what's nearby and what activities are available, transparent pricing or a starting-from price, and a prominent enquiry form or booking widget. Include your Google Maps embed so guests can see exactly where you are, and add a WhatsApp click-to-chat button because in India, many guests prefer to message on WhatsApp before committing.
If you are serious about direct bookings, add a simple booking engine. Platforms like Jeevic, Jeevice, or even a well-built WooCommerce setup let guests check availability and pay an advance online. The conversion rate difference between "fill a form and wait for a call" and "check dates, see the price, pay now" is significant. You do not need a custom-built system. You need a working one.
One technical detail that matters: make sure your site has the Meta Pixel and Google Analytics (GA4) installed before you start running ads. Without tracking, you cannot tell which bookings came from your campaigns and which came from organic search or word of mouth. I will cover tracking in a later section, but the pixel needs to be there from day one.
- Mobile page load under 3 seconds: compress images, skip heavy sliders and plugin-bloated themes
- Must-have content: room photos, property exterior/view, nearby activities, pricing, and an enquiry form
- Add a WhatsApp click-to-chat button, widely preferred by Indian travellers
- A simple booking engine (availability check + advance payment) dramatically improves conversion over a plain enquiry form
- Install Meta Pixel and GA4 before running any ads so every booking source is trackable from day one
Google Ads for high-intent 'hotel near [destination]' searches
Google Search Ads capture people who are already looking. Someone typing "jungle stay in Dandeli" or "resort near Coorg with pool" has high intent: they have picked a destination and are comparing options. Showing up here with a direct-booking ad means you intercept the guest before they land on MakeMyTrip.
The campaign structure for a small hotel or homestay is straightforward. Build one campaign around your core destination keywords: "[property type] in [destination]," "[destination] homestay," "best resort near [destination]." Use phrase match and exact match, not broad match, because broad match on travel queries will send you traffic for flights, bus tickets, and unrelated destinations. Add negative keywords aggressively: "MakeMyTrip," "Goibibo," "Booking.com," "free," "jobs," and any destinations you are not in.
Your ad needs to do one thing fast: tell the searcher that you are a real property they can book directly. The headline should name your property and destination ("Cheetah Jungle Stay, Dandeli"), and the description should include what makes you different ("riverside cottages," "meals included," "direct booking, no OTA markup"). Use sitelink extensions for your rooms page, your activities page, and your contact/booking page.
Budget for Google Search in Indian travel can start small. Even Rs 500–1,000 per day on a tight set of high-intent keywords can bring meaningful direct enquiries, because you are only paying for people actively searching for what you offer. The cost per click for destination-specific hotel queries in tier-2 and tier-3 Indian destinations is often Rs 15–40, far cheaper than metros or international destinations. At those CPCs, your cost to acquire a direct booking through Google Ads will usually be well below what you would have paid the OTA in commission.
- Target high-intent keywords: "[property type] in [destination]," "best [destination] resort," "[destination] homestay booking"
- Use phrase match and exact match; avoid broad match on travel queries
- Add negatives for OTA brand names, unrelated destinations, "free," "jobs," and flight/bus terms
- Name your property in the headline and mention direct booking in the description
- Start at Rs 500–1,000/day; destination-specific CPCs in tier-2/tier-3 India often run Rs 15–40
Content and social media that builds trust before the booking
Paid ads put your property in front of a potential guest. Content and social media build the trust that makes them actually book. In travel, trust is everything: a guest is paying in advance for an experience in an unfamiliar place, and they need to believe it will be good before they commit.
Your Instagram should be a visual diary of your property, not a brochure. Post real photos regularly: sunrise from the property, today's breakfast, a guest testimonial (screenshot of a Google review or a WhatsApp message with permission), a short reel showing the drive from the nearest city, a 30-second room tour. The point is to show that the property is active, maintained, and real. A dead Instagram page with the last post from six months ago makes a prospective guest nervous.
For longer-form content, write simple blog posts or Instagram carousels about the destination, not just about your property. "5 things to do in Dandeli besides river rafting" or "Best time to visit Coorg for coffee plantation stays" are the kind of posts that rank in Google over time and bring organic traffic to your site. Each post should naturally link to your property and booking page. This is content marketing that compounds: a good destination guide published today will still bring visitors a year from now.
User-generated content is the most powerful trust signal in hospitality. Encourage guests to tag your property on Instagram, reshare their stories, and feature their photos (with credit) on your page. A prospective guest seeing real people enjoying your property is more convincing than any ad you can write.
- Post on Instagram 3–4 times per week: real property photos, guest testimonials, short video reels
- Write destination guides ("things to do in [location]") that rank in Google and link back to your booking page
- Reshare guest-tagged content: user-generated photos are the strongest trust signal in travel
- Keep your social pages active: a stale page with no recent posts actively hurts bookings
- Respond to Instagram DMs and comments quickly: many guests use social as a pre-booking research channel
Tracking: how to know which bookings came from your marketing vs OTAs
If you cannot tell whether a booking came from your Meta ad, your Google ad, your organic Google listing, or someone who saw you on MakeMyTrip and then called directly, you are flying blind. Tracking is what turns marketing from a cost into an investment you can measure and improve.
The baseline setup every property website needs: Google Analytics 4 (GA4) with the booking confirmation page tagged as a key event, and the Meta Pixel with a "Lead" or "Purchase" event firing when someone submits an enquiry form or completes a booking. If you use Google Ads, link your GA4 property to your Ads account so conversions flow through. This is the same setup I configure on every client account, and it is non-negotiable before spending on ads.
For properties where most bookings happen over a phone call or WhatsApp message, add a simple tracking layer: use UTM parameters on all your ad URLs (utm_source, utm_medium, utm_campaign) so GA4 records where each website visitor came from. Then train your front desk to ask every caller, "How did you hear about us?" and log the answer in a sheet. It is low-tech, but it closes the loop that digital tracking alone cannot.
The advanced version is call tracking with a dynamic number, where your website shows a different phone number to visitors from each traffic source. That way even the phone bookings can be attributed to the right campaign. Services that offer this in India exist, though for most small properties, the simple UTM plus front-desk question approach is enough to start.
- Install GA4 and tag your booking confirmation or enquiry thank-you page as a key event
- Install the Meta Pixel with Lead or Purchase events firing on form submission or booking completion
- Use UTM parameters on every ad URL: utm_source=google, utm_medium=cpc, utm_campaign=dandeli-resort
- Train front desk staff to ask "How did you hear about us?" and log it consistently
- Link GA4 to Google Ads so conversion data flows into your bidding algorithms
What good numbers look like for Indian hospitality marketing
Benchmarks depend heavily on your destination, your price point, and your season. A jungle homestay in Dandeli has different economics than a luxury resort in Udaipur. But there are rough ranges that help you know if your campaigns are healthy or need fixing.
On Meta Ads for lead generation (instant forms), a cost per lead of Rs 150–400 is a reasonable range for domestic travel and homestay enquiries in India. Below Rs 150, check your lead quality carefully because you may be attracting junk. Above Rs 400, review your creative, your targeting radius, and whether you are running outside your booking season. The leads that matter are the ones that answer the phone and convert to a booking, so track your lead-to-booking ratio, not just CPL.
On Google Ads for search, cost per click in the Rs 15–40 range for tier-2 and tier-3 destination keywords is normal. Your cost per direct booking enquiry from search will depend on your website's conversion rate, but Rs 300–800 per qualified enquiry is a reasonable target. Compare this to your OTA commission per booking: if a booking is worth Rs 6,000 and the OTA takes 20% (Rs 1,200), any acquisition cost below Rs 1,200 means direct is cheaper.
The number that matters most is not CPL or CPC. It is the cost to acquire a confirmed booking through your direct channel, compared to the commission you would have paid the OTA for the same booking. If direct acquisition costs Rs 500 and the OTA commission would have been Rs 1,200, you saved Rs 700 on that booking. That is the math that justifies the entire exercise.
- Meta lead campaigns: Rs 150–400 CPL is a healthy range for domestic travel in India
- Google Search Ads: Rs 15–40 CPC for tier-2/tier-3 destination keywords
- Direct booking acquisition cost target: Rs 300–800 per qualified enquiry
- The key comparison: direct acquisition cost vs OTA commission per booking (typically 15–25% of booking value)
- Track lead-to-booking conversion rate, not just CPL: a Rs 200 lead that never answers the phone costs more than a Rs 400 lead that books
