How many of the calls your mattress cleaning business took this week turned into an actual job, versus someone just asking what a steam clean costs?
Most owners can’t answer that without guessing. The phone rings, a tech quotes a price over the phone, and then the lead either books a slot or disappears into a text thread nobody follows up on. Meanwhile your crew still has open afternoons, your Google Local Services ad keeps billing you for calls that went nowhere, and the Thumbtack lead you paid thirty-some dollars for last Tuesday never picked up when your dispatcher called back. None of that shows up as “wasted spend” in any dashboard. It just shows up as a slower month, and nobody can say why.
Here’s the real insight most mattress cleaning shops are missing: a lead and a booked job are two different things, and if you track only the first one, every decision you make about where to spend money is built on bad information. Start simple. Split last month’s calls into three piles, booked, quoted-but-no-show, and price-shopper. Do that once by hand and you’ll already see more truth than most call-tracking software shows you on its own.
Where the trail goes cold between a ringing phone and a crew on the driveway
Mattress cleaning is a phone-and-text business, not a form-fill business. Someone notices a stain, a smell, or a flare-up of allergies after a bad night’s sleep, and they want a human to tell them a price right now. Most of that happens over the phone, through a Google Business Profile message, or through a text after a Google Ads click, not through a contact form sitting on page three of your website. If your tracking setup only logs form submissions and a generic contact number, you’re blind to most of what’s actually driving the business.
Add in the aggregator problem. A lot of mattress cleaning companies buy leads from Thumbtack, Angi, or HomeAdvisor alongside running their own Google Ads and Local Services Ads. Each of those platforms hands you a lead and takes your money whether or not it turns into a job. Without a system that ties every lead back to whether it actually booked, you end up comparing apples to invoices: you know what you paid each platform, but you don’t know what each platform actually put on your schedule.
Then there’s the revenue side, which most tracking setups ignore entirely. A single mattress job might run $80 to $150. Bundle in a couch, an area rug, and a mattress protector application, and the same customer is worth $300 or more. If your reporting treats every booked job as equal, you’ll end up chasing the channel that produces the most calls, not the one that produces the most revenue per visit. A channel that brings in five cheap single-mattress jobs can look great on a lead count and still lose to a channel that brings in two whole-house bundles.
A clean, honest look at local search performance alongside your paid channels usually surfaces this gap fast: the keyword or platform generating the most calls often isn’t the one generating the most completed, paid-for work.
Building the stack: call tracking, source tagging, and the booking tie-back
None of this requires enterprise software. It requires discipline about three things: knowing where every call came from, logging what happened to it, and connecting that outcome back to actual dollars. Here’s how to build it.
The setup, step by step
- 1Get a dynamic tracking number for each major source: Google Ads, Google Business Profile, your website's organic traffic, Yelp, and each aggregator you use. Most call-tracking tools (CallRail, WhatConverts, or similar) can swap numbers automatically based on how the visitor arrived, so you don't have to manually assign them.
- 2Tag every link you put out into the world with a UTM parameter, your paid ads, your Google Business Profile posts, text blasts to past customers, even the link in your email signature. If a click doesn't carry a tag, it shows up as "direct" and muddies everything else.
- 3Train whoever answers the phone to log three things on every call: the source (the tracking number tells you this automatically if set up right), the outcome (booked, quoted-no-answer, price-shopper, not a fit), and the quoted job value. A sticky note works. A free CRM spreadsheet works better.
- 4Separate "lead" from "booking" in whatever you use to run your schedule. A lead is a conversation. A booking is a crew on a calendar with a price attached. Don't let your reporting blur the two.
- 5Flag repeat and referral customers separately from new paid leads. Mattress cleaning has real seasonality, allergy season in spring and again in early fall drives a lot of rebooking, and if those repeat jobs get credited to whatever ad they happened to click, you'll overstate how well that ad is actually working.
- 6Once a month, pull a simple table: source, number of leads, number booked, total revenue booked, and cost for that source. That single table tells you more than any platform dashboard, because it's the only place cost and actual completed work live side by side.
- 7Check landing page speed and clarity for anything you're paying to drive traffic to. A slow page or a confusing price range kills the call before it happens, and you'll never see that loss in your call log, only in a lead count that quietly drops.
- 8Revisit every aggregator lead source quarterly. If Thumbtack brings in leads but your booking rate on those leads sits well below your Google or referral rate, that's a real number to take into a renegotiation or a decision to cut the channel entirely.
You don’t need all of this running perfectly on day one. Even getting steps one through four in place for thirty days will show you which channel is quietly subsidizing the others.
Free tools to set this up yourself
If reading through a list of actual traffic behavior on your own site sounds more useful than guessing, HeyLead Insights shows where visitors stall on a landing page before they ever pick up the phone, which pairs well with call-level tracking once the calls themselves start coming in cleanly tagged.
Get a free marketing audit. We review your search, ads, and landing pages and send back what to fix first.
Get a free audit

The FTC’s review rule, and why “verified” leads matter more now
Mattress cleaning sells trust before anything else. Someone is letting a stranger into their bedroom to work on the thing they sleep on every night, and reviews do most of the convincing before the phone ever rings. That’s exactly why the FTC’s 2024 Rule on the Use of Consumer Reviews and Testimonials matters here more than in most service trades. The rule bans buying or writing fake reviews, bans “review gating” where a business only solicits reviews from customers it’s screened as happy, and requires disclosure if a reviewer got a discount or freebie in exchange for posting. The penalties attach per violation, and the FTC has shown it will enforce against small local service businesses, not just big platforms. A lot of mattress cleaning companies lean hard on review counts in their ads and landing pages: “500+ five-star reviews,” “verified customers,” that kind of language. If you can’t trace those reviews back to real, completed jobs, you’re exposed, and it also means you’re running your marketing on a number you can’t actually defend. This is where lead tracking and review tracking should live in the same system, not two separate ones. When a job closes out, trigger a review request by text tied to that specific job record, not a blind blast to anyone in your database. That gives you two things at once: a real paper trail showing the review came from an actual completed job, and a cleaner signal about which channels are producing customers who end up happy enough to leave five stars.
Picture an illustrative case: a two-truck mattress cleaning company running a Google Local Services ad that claims “500+ five-star reviews.” A customer complaint prompts a look, and it turns out a chunk of those reviews came from a gift-card incentive program the shop ran two years back, with no disclosure on the reviews themselves. That’s not a hypothetical FTC problem anymore, it’s exactly the kind of practice the 2024 rule was written to stop. The fix isn’t complicated: tie every review request to a dated, completed job, keep the ask neutral (no discount tied to a positive review), and track which review platform is actually converting browsers into callers so you know where to put effort, not just where to put a badge on your website.
What mattress cleaning owners say once they can see where a job came from
“We used to brag about how many calls the ads brought in. Then we actually logged outcomes for a month and realized half of those ‘leads’ were people asking if we do rugs. We don’t. Now we know to say so right in the ad.”
Owner, two-truck mattress and upholstery cleaning company
“Allergy season used to look like our paid ads were crushing it. Turns out most of that spike was repeat customers calling back on their own, and we’d been crediting the ad budget for work it had nothing to do with.”
Office manager, allergy-focused home cleaning service

FAQ
Do I need a CRM to track leads, or can I use a spreadsheet? A spreadsheet is enough to start. What matters is consistency: every call gets a source, an outcome, and a value logged the same day it happens. Move to a lightweight CRM or call-tracking platform once you’re managing more than one or two tracking numbers by hand.
How long before I can trust the numbers enough to shift budget? Give it a full billing cycle, usually 30 days, before making a real decision. Mattress cleaning calls come in unevenly, and a single bad week on one channel can look like a trend when it isn’t. Look at booking rate and revenue per source over at least four to six weeks before cutting anything.
What counts as a “good” cost per booked job in this business? There’s no universal number here, it depends heavily on your average ticket, your market, and whether you’re chasing single-mattress jobs or whole-house bundles. The more useful exercise is comparing your own channels against each other: whichever source produces the lowest cost per booked job, relative to the revenue that job brought in, deserves more of your budget this quarter.
Does a Google Business Profile message count as a trackable lead? It should. GBP messaging is a real and growing source of mattress cleaning enquiries, especially from people searching on their phone while standing in their bedroom. Log those conversations with the same rigor as a phone call, source, outcome, and value, or you’ll undercount one of your better channels.
Should I stop buying aggregator leads entirely? Not necessarily, but don’t keep paying for them on faith. Once you can see booking rate by source, you’ll know whether a given aggregator is worth the per-lead cost or whether that budget would book more work going straight into Google Ads or review generation instead.
Putting it to work
This week, pull your last 30 days of calls and texts, and for every single one, write down where it came from and whether it turned into a booked job. It’ll take an afternoon, maybe two if your call volume is heavy, but it’s the fastest way to see which channel is actually filling your schedule and which one is just generating conversations. Most owners who do this for the first time find at least one channel they’ve been funding on reputation alone.
Tying every mattress cleaning lead back to a real booked job, and making sure the reviews backing your ads can survive a closer look, is exactly the kind of ongoing work a marketing partner should own so it doesn’t fall through the cracks between busy weeks. Chat with us on WhatsApp if you want help setting it up.
Free marketing audit, or reach Martin directly:
Get a free audit Connect on WhatsApp · [email protected]