The fastest way to get commercial cleaning contracts is trigger-based outreach to facility managers. Three public events tell you a building is about to hire a cleaner:
- A commercial fit-out permit
- A janitorial job posting
- A business relocation
Reach the office manager within days of one of those and you are pitching before the vendor search starts.
This guide compares six channels by estimated cost per contract, from referrals to purchased leads, and ends with a 30-day plan you can start this week.
| Channel | What it costs | What it returns | Close rate |
|---|---|---|---|
| Referrals | Close to $0 | 4 to 6 warm intros a year on a 12-client book | 40 to 60% |
| CRE relationships | 6 to 12 months of lunches | 2 to 5 contracts a year per relationship | 1 in 5 become a source |
| Bid boards | 10 to 40 hours per bid | $100K to $1M contracts | 5 to 15% per bid |
| Google Business Profile | About 2 hours a month | 2 to 8 inquiries a month | 20 to 30% |
| Trigger cold email | About $190 a month | 8 to 20 walkthroughs a month | 25 to 40% |
| Buying leads | $30 to $80 per lead | Shared with 3 to 5 competitors | 5 to 10% |
Referrals and their ceiling
Referrals produce the cheapest contracts, at close to $0 in direct cost, and they stop scaling at roughly 10 to 15 contracts. That ceiling is an estimate from the cleaning companies 2V Automation has worked with.
The math is simple. A client refers you once every 2 to 3 years on average, and only a fraction of those referrals are facilities in your target size. A 12-client book throws off 4 to 6 warm introductions a year.
Close rates on referrals run high, often 40 to 60%, so keep asking for them. Put a referral request into every quarterly check-in and every invoice footer.
Then accept that referrals alone will not take you from $500K to $2M.
Commercial real estate relationships
Commercial real estate brokers and property managers can hand you 2 to 5 contracts a year each once the relationship is warm, at a cost of 6 to 12 months of lunches and follow-up. Property managers control the vendor list for multi-tenant buildings, and brokers know about a lease 60 to 90 days before the tenant moves in.
How to work the channel:
- Pick your targets. 10 property management firms in your metro and 10 tenant-rep brokers.
- Offer something concrete. A same-week post-construction cleanup quote for any tenant they place.
- Expect attrition. Roughly 1 in 5 relationships turns into a repeat source.
This channel is slow to start and strong once running. Treat the first contract as a 9-month project, which is an estimate.
Janitorial bid boards
Bid boards and RFP portals produce large contracts at low win rates, typically 5 to 15% per bid, with 10 to 40 hours of work per submission. Government, school district, and hospital contracts run through formal procurement, listed on sites like BidNet, GovSpend, and each state’s procurement portal.
The contracts are big, often $100K to $1M a year, and the competition is 8 to 20 bidders.
Bid boards make sense once you have all three:
- A proposal template
- Insurance at the required limits
- References from 3 or more similar facilities
Before that, the hours are better spent elsewhere. Budget one bid a month at most until your win rate crosses 10%.
Google Business Profile
A Google Business Profile brings 2 to 8 inbound inquiries a month in a mid-size metro, at a cost of about 2 hours a month to maintain. That inquiry count is an estimate and depends heavily on review count.
Most inbound calls from Maps are residential or one-off jobs. Filter them fast with a “commercial only” line in the profile description and a minimum square footage in your booking form.
To rank, you need three things:
- A verified address in the service area
- 30 or more reviews with the words “office” or “commercial” in them
- Weekly photo posts
Ask every walkthrough client for a review on the first invoice. Close rates on inbound commercial inquiries run 20 to 30%, because the buyer came to you.
Trigger-based cold email
Trigger-based cold email is the channel with the lowest cost per contract that still scales, at about $190 a month in tools for 800 to 1,000 prospects and 8 to 20 booked walkthroughs.
The method, in four steps:
- Pull buying signals weekly. Fit-out permits from the city permit portal, janitorial and day porter job postings from Indeed, and new leases and openings from the local business journal and Google Maps.
- Filter. Drop anything under 3,000 square feet, outside a 40 km radius, or already in your CRM.
- Find the decision maker. The office or facility manager with Hunter, with the email verified by BetterContact.
- Send a 4-step sequence over 14 days. The first line names the trigger.
“Saw the fit-out permit for 120 Main St was approved last month” gets read. “We are a full-service cleaning company” gets deleted.
What the numbers look like
| Stage | On trigger sources | On plain facility lists |
|---|---|---|
| Reply rate | 3 to 6% | 1 to 3% |
| Replies on 1,000 prospects | 30 to 60 | 10 to 30 |
| Walkthroughs booked | 8 to 20 | Fewer |
| Walkthrough to contract | 25 to 40% | 25 to 40% |
Those figures are estimates from typical B2B campaigns with warmed domains, and they assume you answer replies the same day. At those rates the channel produces 2 to 8 new contracts a month from one sending domain.
The full workflow, the ICP filter logic, the email sequence, and the stack costs are documented in the Commercial Cleaning Lead Gen System. It runs on n8n Cloud and you own every piece of it.
If you would rather have the sourcing run for you, FieldClients is the service version from the same team. It watches these public records daily and delivers commercial cleaning leads as accounts tied to a dated event, each routed to one member, with member counts capped per trade and market.
Buying leads versus owning a system
A lead seller’s “commercial cleaning lead” is usually a form fill from a facility manager who is now fielding 4 calls in an hour.
| Buying leads | Owning the system | |
|---|---|---|
| Cost | $30 to $80 per lead | About $190 a month in tools |
| Exclusivity | Shared with 3 to 5 competitors | Exclusive |
| Close rate | 5 to 10% | 25% at the walkthrough |
| Cost per contract | About $625 at $50 a lead and an 8% close | $35 to $88 once it runs |
| Time to first lead | Today | 2 to 3 weeks of domain warmup |
Those close rates are fair estimates. The real cost per exclusive conversation on a purchased lead is 4 to 6 times the sticker price, once you count the hours spent racing competitors to the phone.
The trade is speed. If you need contracts this week, buy a small batch of leads while the domain warms. If you need contracts every month for the next 3 years, build the system.
What to do first
Start by registering a separate sending domain in week 1, because domain warmup is the longest step in the whole process. Here is a 30-day sequence.
Week 1: domain and accounts
- Buy a sending domain like get[yourcompany].com. Never send cold email from your main domain.
- Set up SPF, DKIM, and DMARC.
- Create 2 inboxes and connect them to a warmup tool such as Instantly. Ramp from 10 to 50 emails a day per inbox (80 is the upper bound with a strong domain).
- Open your accounts. An n8n Cloud workspace (about $24 a month), plus Apify, SerpAPI, Hunter, and BetterContact.
Weeks 2 and 3: warm the domain, build the feed
Let the domain warm. Meanwhile:
- Build the permit feed first. Permits are the highest-intent trigger with the least competition. Find your city or county permit portal and scrape new commercial fit-out and tenant improvement permits weekly.
- Write your ICP filter. Offices, medical, gyms, private schools, warehouses, and showrooms, 3,000 square feet or more, within 40 km.
- Draft the 4-step sequence. Have 3 people read the step 1 email out loud. If it takes longer than 20 seconds to read, cut it.
Week 4: first full-volume send
Send from the permit trigger only, aiming for 150 to 200 prospects in the first week. Reply within 2 hours during business hours and book walkthroughs for the following week.
Track three numbers: reply rate, walkthrough rate, and close rate.
Add the job posting trigger in month 2 and the relocation trigger in month 3 once the permit feed is stable. Add referrals, reviews, and property manager outreach on top, because each of those channels is cheap and none of them conflict with the system.
That combination is how a cleaning company goes from 12 contracts to 40 in 18 months, and that timeline is an estimate.
