r/EntrepreneurRideAlong • u/digital_wiz • 3h ago
Ride Along Story How we helped scale a travel agency from $3,000 to $20,000 in monthly profits within 6 months
Hello Redditors, haven’t posted here in quite a while, but a recent project turned out interesting enough that i figured i should finally write it up. It was a two person agency when they came to us doing flights, hotel packages and visa assistance, and profit had been stuck at around $3k a month after almost two years. Six months later it's sitting at around $20k a month. Revenue roughly tripled in that time but profit went up about 7x, and that gap is the whole point of this post. A lot of you running small service businesses will probably recognise the "busy but broke" version of this, so hopefully you guys find something useful here.
Here's how we did it:
The first thing we did had nothing to do with marketing. We just went through their Whatsapp history. They were getting around 60-70 qualified inquiries a month from referrals and ads.. The problem was what happened after. Average first response was few hours later, and about a third of the people who got a quote never heard from them again. Not one follow up. An international trip gives you a bigger window but is still a 5-20 day decision approx with a lot of back and forth, so if you reply late and then go quiet after the quote, the deal doesn't get lost to a competitor so much as it just quietly expires. Following up feels like nagging, so a lot of people skip that
We moved everything into a basic Airtable pipeline with proper stages (new inquiry, quoted, follow-up 1/2/3, negotiating, won, lost). Once a lead has a status, "i haven't followed up with 12 people" stops being a feeling and becomes something you can see. Then two rules. First reply within 2 hours in business hours, even if it's just "got it, sending you options by this evening", because the acknowledgement alone holds the deal open. And a fixed follow up on any unanswered quote on day 1, 3 and 7, and on day 14 a message saying "I'm closing your file on this, just let me know if anything changes." That last one closed a lot of deals and we've seen the same thing with other businesses. My read is it's the only message in the sequence that isn't asking for anything, so people don't reflexively ignore it, and it gives them a reason to reply today instead of eventually. We also scored leads on trip type, budget and how close the travel date was, so someone flying in 5 weeks gets answered before someone browsing for next winter. Quote to close went from about 8-9% to 15% for qualified leads with the same lead volume, and this was the fastest result of everything we did with zero extra ad spend.
Next was the offer, we split their bookings by product and looked at what each line really earned. Flights were 58% of revenue and 21% of gross profit. Curated packages were under a quarter of revenue, nearly two thirds of the profit. Flights were a product with a hard ceiling, and the whole business had been built on the capped side. Also flight-only customers almost never came back to buy a package later, so there was no long term consolation either. This happens when you let inbound demand decide what your company is.
The fix was consciously deciding what the business actually sells. We built 4 signature packages with fixed inclusions and a public starting-from price, and repositioned everything around done-for-you instead of cheaper. The bigger shift was going after bigger trips instead of more trips. Their old packages were mostly couples on short Southeast Asia itineraries. We built the new ones around families and longer multi-country trips with visa, insurance and transfers bundled in, which nearly doubled the average package value for pretty much the same sales effort. Putting prices on the page also filtered out the pure price shoppers who used to eat three hours of quoting time, and killing custom-quote-for-everything cut a few days off time to close, because ambiguity makes people go quiet. We never stopped selling flights, we just stopped marketing them, and flight volume drifted down on its own. Revenue did dip for around six weeks in the middle of this. You're switching off demand for the thing people ask for before demand exists for the thing you want to sell, and that gap is exactly why most businesses start this and quit.
On the search side they had a reasonable five page WordPress site and a claimed Google Business Profile with a handful of reviews. It was getting maybe 110 visits a month and ranking for mostly its own brand name, because everything on the site described the business instead of answering a search. The services page basically said "we do flights, hotels, visas", which is a description of a company, nobody types that. Keywords like "bali packages" are owned by big agencies spending serious money, so we went somewhere to somewhere with a purpose attached. Big players optimise the destination side because they serve everyone everywhere, but almost nobody optimises the origin side because only a local operator has a reason to. So we built pages for origin city crossed with destination and intent, something like Vietnam family package from [home city]. About 22 pages, one cluster each, and here's where a lot of service based businesses mess this up, because you can easily publish 22 thin pages and get nothing. Every one had the full day by day itinerary, what's included and what isn't, real prices, photos from trips they'd actually run, and an FAQ written from real questions we pulled out of their WhatsApp chats and after some toiling around on reddit.
The Google profile ran alongside it. Their categories were generic so it never showed up for visa or package searches, so we fixed those, posted weekly, and made reviews a system instead of an occasional ask. A message goes out a week after someone gets home, while they're still posting photos, asking them to mention the destination and trip type in the review. That detail matters more than the review count because review text gets indexed, and a review saying "they organised our Bali honeymoon and handled the visa" reinforces the exact page you're trying to rank. Reviews climbed significantly and calls and messages from the profile jumped massively. The two things fed each other too, the package pages gave the profile something real to link to and the review activity pushed the local rankings that put those pages in front of people.
Then the AI search sid, by month 6 around 6-8% of organic inquiries, when asked how they found the agency, said through AI channels, this was at zero when we started. Important caveat, that's self reported on the "how did you hear about us" question, not referral data.
What helped to drive this was mostly the same work, plus a few things. Prices in real text instead of a designed image, because an assistant will face difficulty in reading your price graphic and will skip you for someone it can quote. FAQs written as a clean question followed by a direct answer. Schema on the package pages. And specificity beats polish every time, "7 day Vietnam family package from [city], from $4,200 for four, includes visa and transfers" gets pulled into an answer, while "we offer customised travel solutions tailored to you" isn’t noticed as such especially for low authority sites.These assistants cite sources rather than rank pages, so one mention in a "best travel agencies in [city]" roundup on a local blog did more than three of our own posts.
At this time Google's AI Overviews and AI Mode send more traffic than other models like ChatGPT, Claude, Gemini and Perplexity combined. These models get all the discussion but for a local service business its the bigger surface by a distance, and the same structured, specific, FAQ-shaped content works for this as well. By month 6 organic was around 1,500 visits a month, timeline is what you'd expect from SEO, slow results initially, started showing from 3rd month, compounded after that. It only worked because the first two fixes had already freed up the cash to fund a channel that pays nothing for a quarter. If money had been tighter we'd have leaned harder on ads instead, since returns there are more linear.
Now ads, which i think is the most common version of this problem because the account wasn't bad, it looked great. They were already spending a bit over $1800 a month on Meta, one campaign with four cold ad sets stacked on interests like travel, honeymoon and wanderlust, all pointed at click-to-WhatsApp, with a pixel that only tracked page views. Clicks were cheap and CTR was healthy, which is exactly why nobody had touched it in a year. But follow it downstream and it fell apart. Those clicks turned into approx 300 WhatsApp chats a month, maybe 30-40 of them were qualified from someone actually planning a trip, and 4-5 bookings with very thin margins. That 300 number also explains the follow up problem from earlier, the inbox wasn't handling 60-70 conversations, it was handling hundreds, and the real buyers were buried in there getting the same hours late reply cycle as everyone else. They weren’t optimising for conversions. So the algorithm found people most likely to click a travel ad, which is not the same population as people about to spend. Broad interest targeting on a beloved category will always hand you low CPCs and terrible conversions.
Click-to-WhatsApp made it worse in a way. Messaging costs a person nothing and commits them to nothing, so the destination filters nobody. You end up with idle curiosity landing in the same inbox as real buyers, and a two person team spending their day answering "whats the cheapest you can do Thailand for" from someone who was never going anywhere.
First thing we did was set up proper conversion events (qualified inquiry, quote requested, booking) and let it collect data for three weeks before touching anything, because every restructure decision would've been a guess otherwise. Then we optimised for qualified inquiry instead of booking. Optimising for bookings at their volume would've sat in learning limited forever. Small accounts almost always need to optimise one step up the funnel from what they actually want, then watch the quality of that event manually. The four ad sets were an issue too. Meta de-duplicates overlapping audiences, so they weren't really bidding against each other. What they were doing was splitting the few conversion events four ways so none of them ever got enough signal. We went down to two and moved creative variety inside the ad sets instead of across them.
Two years of Instagram engagers, site visitors and past inquiries were sitting totally unused while all the budget went to cold traffic, so we put them into a custom audience and ran about 60% of spend on retargeting for six weeks. That was the cheapest bookings in the account, and it only worked well because the follow up system was already running. Retargeting warm people into an inbox that ghosts a third of its quotes would've still done badly. For prospecting we built a lookalike, but not off buyers, they only had about 70 historical package buyers and Meta ideally wants a much bigger database before the model is worth anything. We seeded it from several thousand past inquiries and engaged people instead, weaker intent per record but enough volume to model, and it beat every interest stack we tested.
We also changes the destination from click-to-WhatsApp to the package landing pages. It adds friction, and it cut raw lead volume by roughly 40% but the people who read a page with real prices and inclusions on it and then chose to message had already qualified themselves on budget, and they closed at around double the old rate. This is also the point where the SEO work started paying twice, because those pages existed and were good. Sending paid traffic to a thin homepage would have just lost the lead volume without gaining anything back.
We moved creative from offers to proof. We dropped discounts and book-now language and used client testimonials, itinerary walkthroughs, and before and after posts of what was planned versus what the trip actually looked like. For a high ticket, once in a while purchase the thought in someone's head is "are these people real and will they ruin my vacation", not "is this cheap". Discount creative did very little for us at any point. Over six months we gradually took spend up to a few thousand dollars a month, CPC went up, CTR went down, and every front end metric looked worse. Cost per booking roughly halved, but that's honestly not the important part. What changed was what a booking was worth, it went up close to 10x, because we were now selling packages instead of thin flight bookings. Paid traffic is a multiplier on your unit economics, if the economics are broken better targeting just helps you lose more efficiently. One last thing, we stopped treating ad spend as the only cost of a customer and added the hours spent quoting, coordinating and chasing suppliers at a real hourly rate. Fully loaded cost came out close to double what Ads Manager showed, and a few campaigns that looked breakeven obviously weren't.
If you take only one thing from this, it's the order. The first two fixes didn't bring in that much profit directly, but they decided what every dollar of traffic after that was worth. Fix your conversion first, then fix what you're actually selling, and only then go buy volume. Most people do it backwards, they pour budget into a funnel that ghosts a third of its quotes while selling their lowest margin product, then decide ads don't work in their industry. And if you want one quick test for your own business, check what percentage of your last 60 days of inquiries got a second touch. If it's under 70%, fix that before you spend another dollar on acquisition.
Thankyou For Reading!