From 100% Airbnb to 70% Direct: One Goa Host's 90-Day Playbook
How a 4-bedroom Anjuna villa moved from full OTA dependence to 70% direct bookings in 90 days — every move, every WhatsApp script, every weekly metric.
From 100% Airbnb to 70% Direct: One Goa Host's 90-Day Playbook
TL;DR — A 4-bedroom Anjuna villa, 100% on Airbnb in January, hit 70% direct bookings by April. Recovered ~₹5L in commission, lifted RevPAR 14%, and kept the Airbnb listing live throughout. The recipe wasn't a redesign — it was a website button, a price tweak, a Monday ritual, and one WhatsApp message sent to every past guest.
Why this case study matters
Most "go direct" advice is theoretical. This one isn't. We worked with a host running a single 4-bedroom Anjuna villa, listed on Airbnb only, averaging ₹3.4L/month in gross bookings. Over 90 days he moved to 70% direct — with no agency, no paid ads, and no website redesign.
The playbook below is what he actually did, week by week, with the numbers that came out the other end. Every move is reusable. None of them require a marketing budget.
₹5Lcommission recovered in Q1 +14%RevPAR vs. baseline
3 hrsweekly time investmentThe starting position
Snapshot of the villa as we began:
| Metric | Baseline (Jan) |
|---|---|
| Bedrooms | 4 |
| Listed on | Airbnb only |
| Avg occupancy | 78% |
| Avg nightly rate | ₹14,500 |
| Direct bookings as % of total | 0% |
| Past guest list | ~200 stays in 24 months |
| Website | None |
| Airbnb commission paid (12mo trailing) | ~₹4.8L |
That last row is the prize. The host wasn't running a bad business — he was paying ₹40K/month to a sales channel he could partly replace.
Days 1–14: The foundations
The first two weeks were unsexy and infrastructural. No marketing.
- 1
Stand up a single-page website
Used a basic single-page template atvillaname.com— hero photo, room photos, location pin, two paragraphs of copy, contact details. Total cost: ₹1,500 for the domain, hosting handled by a cousin's WordPress account. Built in one evening. - 2
Add the enquiry button
Plugged in the Doorloom enquiry widget — covered step-by-step in our 10-minute setup guide. From day one, every visitor could ask for dates without picking up the phone. - 3
Export the past guest list from Airbnb
Pulled the last 24 months of bookings out of the Airbnb dashboard. ~200 unique guests, with first names and the WhatsApp number Airbnb had on file post-checkout. Saved as a single contact list. - 4
Set up WhatsApp Business with quick replies
Saved the 10 templates from our WhatsApp templates post as quick replies. The 4 most-used (enquiry reply, holding link, pre-arrival, post-stay) covered 80% of messages from week one.
By day 14 the infrastructure was live. Zero direct bookings yet. The next move was outreach.
Days 15–30: Reactivating past guests
This is the move every host underestimates. Past guests are warm, paid nothing to acquire, and book direct once you make the path obvious.
Hey [guest_name]! [host_first_name] here from [property_name] — hope you've been well since your stay.
Two reasons I'm messaging — first, our long-weekend calendar for the next quarter is open, and we always hold a few nights off Airbnb for repeat guests.
Second — if you book direct on this WhatsApp or at [direct_site_url], you'll skip the booking fees (about 15% off the price you saw last time, same villa).
Send me a date range whenever you're planning the next trip — I'll hold it while you decide.
Cheers, [host_first_name]
The host sent this in batches of 30 per day across a week, manually, to keep replies manageable. The result by day 30:
| Outreach metric | Result |
|---|---|
| Messages sent | 200 |
| Replies | 67 (33%) |
| Direct bookings closed | 18 |
| Direct bookings in pipeline | 24 |
| Direct revenue (closed) | ₹3.2L |
That's the moment direct bookings stopped being theoretical and started being the bigger number.
Why the message lands
It opens with a personal hook, not a sales line. It offers something Airbnb doesn't (held nights for repeat guests). It quantifies the saving in plain language. And it ends with a single low-effort ask — a date range, not a booking.
Days 31–60: The Monday ritual + the calendar squeeze
By day 30 the host had a website, a list, and a working enquiry flow. Days 31–60 were about turning the trickle into a stream — through weekly pricing discipline and aggressive calendar management.
- 1
Started the 10-minute Monday review
Every Monday, opened the next 60 days. Dropped weekend prices 5% on any open weekend within 14 days. Raised them 10% on any sold-out weekend 30+ days out. The framework is in our dynamic pricing post. - 2
Held 2 nights per month off Airbnb
Blocked the calendar on Airbnb for the same 2 nights at the start of every month. Those nights were repeat-guest only — direct site only. Almost always filled within 10 days at full rate. - 3
Turned every checkout into a referral moment
Sent the post-stay WhatsApp the morning of checkout — review request and a "tell a friend" line with the direct site URL. Six referrals came in over month two. - 4
Set up iCal sync between Airbnb and the website
By day 45 the volume on both channels was high enough that double-booking risk was real. Followed the iCal sync guide on a Saturday afternoon.
Day 60 dashboard:
| Metric | Day 60 |
|---|---|
| Direct bookings as % of total | 52% |
| Avg nightly (direct) | ₹13,800 |
| Avg nightly (Airbnb) | ₹14,500 |
| Net per night (direct) | ₹13,400 |
| Net per night (Airbnb) | ₹12,200 |
| Occupancy | 76% |
| Repeat guests as % of direct | 58% |
The direct rate sits 5% below the Airbnb rate (a deliberate "guest saves 5%" carve-out) — but the net per night is higher because the all-in OTA fees are larger than the 5% discount. Two-line spreadsheet, real money.
Want the same setup for your villa?
The Doorloom enquiry widget plus a one-page direct site is what made days 1–14 of this playbook possible. Talk to us about a same-day setup.
Days 61–90: Compounding
The last 30 days were almost entirely about making the systems quieter, not louder. The acquisition work from days 1–60 was now compounding on its own.
Day 90 dashboard:
| Metric | Day 90 | vs. Baseline |
|---|---|---|
| Direct bookings as % of total | 70% | +70 pp |
| Avg occupancy | 80% | +2 pp |
| Avg net nightly | ₹13,200 | +9.1% |
| RevPAR | ₹10,560 | +14.1% |
| Commission paid (this quarter, run rate annualised) | ₹1.4L | −71% vs. trailing 12mo |
Read the bottom row twice. He kept the Airbnb listing live the whole time. He just stopped paying full commission on guests he could reach directly.
What didn't work
For honesty's sake, here's what we tried that didn't move the needle.
- Instagram ads: Burned ₹15K on three boosted posts in month two. Two enquiries, one booking. Cost-per-acquisition ~₹15K. Stopped.
- A discount code on the direct site: A "DIRECT10" coupon code was added in week 4. Almost nobody typed it in. The discount worked better as a flat lower price than as a code.
- Listing on a third OTA: Briefly considered MakeMyTrip / Yatra alongside Airbnb. Decided against — adding distribution at the same time as building direct demand creates conflicting incentives. One thing at a time.
What you can copy directly
Three things from this 90-day arc transfer to almost any host:
- Send the reactivation message to your past guest list this week. Even a list of 40 guests will produce 5–10 enquiries. Use the template above verbatim — change one or two words to make it sound like you.
- Run the Monday 10-minute pricing review every week. It is the single highest-leverage habit in the playbook. The Goa host gained roughly ₹40K of margin in Q1 from this alone.
- Hold 2 nights per month off OTAs for direct-only. It signals to repeat guests that direct booking gets them something they can't get elsewhere — and it forces you to actually market the direct channel.
The compounding effect
Day 91 onward, the host wasn't doing anything new. The direct share held above 65% for the next two quarters because the systems — website, enquiry button, Monday ritual, post-stay messages, iCal sync — kept running on their own. The 90 days were front-loaded effort.
The annualised saving on commission alone: ~₹3.4L. Add the RevPAR lift and the figure pushes ₹5L. For a single 4-bedroom villa.
Frequently asked questions
The takeaway
The path from 100% Airbnb to 70% direct isn't a marketing campaign; it's a sequence of small, deliberate moves over a quarter. The host who ran this playbook didn't build a brand or hire an agency. He put a button on a website, sent one good WhatsApp message to people who already liked his villa, and showed up every Monday morning for ten minutes. That was the whole job.
Start your own 90-day playbook this week.
Talk to Doorloom — we'll set up your direct site, enquiry widget, and channel sync in under a day. The Monday ritual is on you.
Keep reading
Calculate Your OTA Savings: What 60% Direct Would Look Like for a 6-Villa Portfolio
Six villas at 60% direct often save ₹4–8L yearly vs a heavy OTA mix. Run your real numbers through Doorloom's savings calculator before you change rates.
Why Your Guests Want to Book Direct (and Don't Know How)
Guests want lower totals and fast WhatsApp replies — but OTAs feel like the default. Here's why direct helps them too, with a copy-paste message to save.
The Hidden Costs of OTA Dependency (Beyond Commission)
Booking sites charge commission — and they keep guest emails, slow payouts, and cap how you price. Here's what OTA dependency really costs villa hosts in India.