This Cleaning Business Journey has been wild
Started just over 7 months ago.
I expected and hoped for the quick growth, a thriving business with good future prospects for expansion. strong KPIs - and all that happened.
The unexpected and arguably even cooler side benefit is the people I have met and friends I've made in this space.
GENUINELY some of the best people I have ever met, and I'm inspired by them every day.
From people here on the Cleaning Twitter community, to the cleaners I have hired, some of which feel like family.
What a cool journey.
Cleaning Twitter - You guys are incredible!
Had a call today with a cleaning business owner about GoHighLevel
Heading toward $40k/mo. Solid operation
BookingKoala for scheduling, Quo for phones, @irentdumpsters running his SEO, LSA ads in the background
Uses GHL, but no one set it up properly. @Lexivindi walked him through our setup
Lead management is a problem:
• Leads coming in from 5 different places
• None of them talk to each other
• No automated follow up within 5 minutes
• Missed calls don't get a text back
• One-time cleans finish and just... disapear
He's also sitting on a list of old customers he's never nurtured. He knows it. Just has no system for it
The leads aren't the problem. They never were.
Here's what we're building for him:
→ One GHL sub-account. Every lead source flows in
→ Missed call? Automated text back in 60 seconds
→ One-time clean completes? 3-week nurture sequence kicks off: SMS, email, Slack ping to his team
→ Old customer list gets a reactivation campaign
→ Better lead capture to convert more website visitors
Free leads every week that nobody's claiming
He was paying $300/mo before and getting a fraction of this
The cleaning businesses that are going to win are the ones with a system that doesn't let leads die
That's what Lead Machine does
thanks for the referral @irentdumpsters
I used to think Google Ads didn't work for cleaning companies
I've talked with 100 cleaning business owners. Built sites for ~40. Run SEO for a bunch. Setup LSA. Every owner I knew said the same.... too competitive
Then we started running it seriously for several cleaning businesses last year and figured out what was actually broken. It's working now.
Here's everything we've learned. Truth is it's just a mountain of work to get right.
>> DM me and i'll do a free audit on your account
Campaign structure
One campaign trying to cover everything is why most accounts fail.
The money keywords go in their own campaign. High intent, max budget, always on. "House cleaning," "maid service," "cleaning company near me."
Then build ad groups around the modifiers that matter
- Commercial cleaning
- Apartment cleaning
- Housekeeping
- Secondary cities and neighborhoods you service
Each ad group gets its own ads. Each location gets its own page. You stop paying the same CPL for a "house cleaning Denver" click and a "commercial cleaning Denver" click when they convert completely differently.
Landing pages are everything
The difference between a 1-4% conversion rate and 15%
The homepage is an SEO page trying to do 10 things at once. No offer. Seven form fields. Phone number buried in the footer.
A Google Ads landing page has one job: get the visitor to call or fill out a form.
What that looks like:
✅ A real offer above the fold. Not "get a free quote." Something specific: "$50 off your first clean"
✅ Big phone number, visible immediately
✅ Three fields max: name, phone, service
✅ Reviews and social proof next to the form
✅ No navigation. Nowhere else to go.
One of our clients saw our onboarding doc and said: "How does anyone run Google Ads on their own?"
Start with one solid page. Build out from there: residential, commercial, each major service. Each one built to convert, not to rank
Tracking
Nobody sets this up properly. This is the real reason Google Ads doesn't work for most cleaning companies.
Everything has to be tracked:
Form submissions
Chat widget completions
Phone calls via CallRail or GHL
A dedicated trackable number in your Google Ads call asset
That same number updated in Google Maps advanced settings
Most accounts track one of these.
When Smart Bidding sees every call and every form fill it learns fast. When it can only see call extension clicks it's guessing. We've cut CPL in half on accounts just by fixing what the algorithm could see. Same campaigns. Same budget.
Negatives on day one
Before a single dollar gets spent we load hundreds of negative keywords built specifically for cleaning companies.
Free. Cheap. Jobs. Gutters. Windows. Pressure washing. Every competitor. Every irrelevant search that eats budget without converting.
Most agencies add negatives after they see the search term report. We add them before the account goes live.
The math most people get wrong
Everyone calculates ROI on the first clean.
That's the wrong number.
The goal of the first clean is to break even. Nothing more.
A recurring cleaning client is worth $2,000 to $4,000+ over their lifetime. At $40-50 CPL, you're spending $40 to acquire $3,000. That's the math you should be running.
The companies that give up on Google Ads are the ones looking at first-clean revenue and calling it a loss. The ones still running it 12 months later are the ones who understood what they were actually buying.
Getting leads is only half the job
We can get the phone to ring. What happens next is on you.
Answer the phone. Call back within 5 minutes. Have a process to convert a one-time booking into a recurring client.
Both cleaning companies we work with run @lexivindisch's Lead Machine on GHL. Automated follow-up. Missed call text-back. Rebooking sequences. The leads that don't close on the first call get nurtured until they do.
Google Ads without a sales process is a leaky bucket. You can keep filling it or you can fix the holes.
The cleaning companies winning right now are doing both.
PJ is right. Hiring shouldn’t start when there’s a hole; it should be constant.
Especially when your team feels “good.” That’s exactly when complacency creeps in.
You need a bench.
Thankful for the CRM to automate the painful parts: interviews, onboarding, contractor signatures. All seamless, all in one place. Saving my sanity 😅
You’re not hiring enough cleaners for springtime unless you forget who you talked to earlier in the day.
I’m hiring like crazy right now while also building a step by step hiring process document for our team to take this over.
Just another day building 🧱
This is what happens when ACTUAL Operators build CRMs for their industries. When these two rare skill sets meet, programming logic 🤝 business operations, magic happens. And you get CRMs that actually work for your industry. Not just in concept but in reality.
@pjmcgeary lol you say it’s clunky but it’s implementing GHL *custom* to your personal operational flow.
The mistake of deploying GHL from a template. Has to be built, with the owner and admin team and iterated to be 1. Simple and 2. Match your ops.
And simplicity is key
@DanielValv3rd3@DanKats23@ConvertLabs lol what no. I just have okay vocabulary I guess. I’ll take it as a compliment. The other Scheduling CRMs also have team member limits as well btw
@DanielValv3rd3@DanKats23@ConvertLabs Yes it’s a lead management and marketing nurture tool to act in tandem with something like ConvertLabs or BookingKoala. Sounds like it’s your schedule/dispatch CRM you are having issues with and the random cap they imposed on team members
You are the man, Dan 😎@DanKats23
Cleaningleadmachine is an extension to something like BookingKoala or ConvertLabs. Sounds like your main issue is with CL and the limit they imposed on team members. But happy to show you our side of the machine for lead capture nurture and conversion just shoot me a DM :)
If you’re trying to make GHL work in your home service business
Or you’ve looked at it and thought this feels way too complicated
I’ve spent the last week talking to a bunch of home service owners on here about their setups
And I keep seeing the same two problems
1 - Half built systems they tried to set up themselves
2 - Giant agency snapshots with way too many features they never use
The real key with GHL is simple
You have to set it up around how your business actually operates
Not around what the software can do
Then layer in automation later
If you want to have a quick chat about your setup DM me or @Lexivindi
@irentdumpsters Me at the Budapest Butcher today saying cut it thick price is no object on the tomahawk.. after refusing to buy an umbrella for 2 euro because I forgot one of my ten at home 😂
@irentdumpsters I’ll be doing a hard inner negotiation on a $200 pair of shoes but the speed at which I’ll drop a band at the butcher for a good freezer restock is alarming.
@pjmcgeary I would say, systems in the cleaning business refined until you no longer have to step into any daily ops for the cleaning. When you have so much free time at that point and get bored of golfing, start a roofing company 😎
- life coach Lexi new side hustle perhaps
@pjmcgeary If you apply what you know operationally and administratively from this ultra low ticket ultra high volume shit storm, if you learn the complexities of a high ticket low volume industry and map over your skill set. Dangerous 😅