If you only read this
- Seven channels matter: local search, paid ads and Local Services Ads, AI search, content, brand, reviews, and repeat customers. You don't need all of them on day one.
- Your cheapest job is the one you already earned. A 12–18 month recall program on your existing customer list beats almost any new ad.
- In the accounts we run, healthy companies put roughly 7–12% of gross revenue into marketing. That's our guidance, not an industry benchmark.
- Measure cost per booked job by channel, and judge it against your own average ticket and margin, not someone else's number.
- Build SEO in the slow months, spend on ads ahead of the spring and pre-holiday rushes, and run reactivation in January and February.
What does each of the seven channels do?
Most carpet cleaners market in bursts: a Facebook promo when the schedule goes quiet, a coupon mailer in spring, a few months of Google Ads, then nothing. Bursts are expensive. The companies that stay booked run a small number of channels steadily and let them stack.
| Channel | What it does | Speed | When to add it |
|---|---|---|---|
| Local search (GBP + SEO) | Puts you in the map pack and organic results for city and service searches | 4–9 months | Day one |
| Paid ads and LSA | Buys calls now from people already searching | 30–45 days | Once tracking works |
| AI search | Gets you named when people ask ChatGPT or Google AI who to hire | Months | Alongside local search |
| Content | Answers the questions customers ask; feeds SEO and AI answers | Months | After core service pages exist |
| Brand | Makes your trucks, site and reviews look like one trustworthy company | Slow, lasting | When you outgrow the starter logo |
| Reviews | Converts searchers into callers; feeds map pack and AI | Ongoing | Day one |
| Repeat customers and recall | Rebooks past customers on a 12–18 month cycle; earns referrals | Immediate | Day one, if you have a customer list |
Local search is the backbone. When someone types "carpet cleaning near me", the map pack decides who gets the call. See carpet cleaning SEO and Google Business Profile.
Paid ads buy speed. Google Local Services Ads (carpet cleaning is a supported category, with the Google Guaranteed badge) charge per lead, Google Search ads charge per click, and Meta is best for retargeting and seasonal promotions to people who already know you. See paid advertising.
AI search is the newest surface, where ChatGPT, Perplexity and Google's AI Overviews name businesses in their answers. Few carpet cleaners are working on it yet. See AI search.
Content means honest pages about pet urine, upholstery fabric codes, drying times and your cleaning method, which are the things customers ask about on the phone. Brand is the truck wrap, the uniform, the website and the tone of your review replies agreeing with each other. Reviews are the conversion engine; nobody books a stranger into their living room without reading them first.
Repeat customers are the channel most carpet cleaners underuse. Carpet gets dirty again. A customer who was happy 14 months ago is the easiest booking you will ever make, and they cost a postcard or a text, not a $30 lead. See repeat customers and recall.
What should you budget at each stage?
In the accounts we run, healthy carpet cleaning companies put roughly 7–12% of gross revenue into marketing. That's our guidance from real businesses, not an industry benchmark, and where you sit inside it depends on your goals.
| Stage | Where to sit in 7–12% | Where the money goes |
|---|---|---|
| New or one truck, filling the schedule | Upper end | GBP, reviews, LSA, a working website |
| Steady, schedule mostly full | Lower to middle | SEO, recall program, LSA held steady |
| Adding a truck or a new service area | Upper end for 6–12 months | Paid ads into the new area, city pages, brand refresh |
| Mature, mostly repeat and referral | Lower end | Recall, reviews, SEO maintenance |
Ad spend comes on top of management. We recommend starting at $1,000–$3,000 a month per active channel, paid directly to Google or Meta. With less than that, the platforms don't get enough data to learn. Before you spend more, prove the channel works.
What it costs to be in the auction varies by market. Google Keyword Planner data we pulled in July 2026 put top-of-page bids for the broad "cleaning services" keyword basket between $4.32 (low) and $22.89 (high) nationally, with big metros running roughly 1.09x to 1.51x higher.
Cost per booked job is the number that matters
Clicks, impressions and "leads" are all one or two steps away from money. The number to track is cost per booked job, by channel.
- Add up what the channel cost for a month or quarter: ad spend plus any management fee or software tied to it.
- Count booked jobs from that channel. Count jobs on the schedule, not calls or form fills. Use the Lead Source field in Housecall Pro so every job carries where it came from.
- Divide. Divide the channel's cost by its booked jobs to get your cost per booked job.
Then judge it against your own business. We won't give you a "healthy" benchmark, because a $60 cost per booked job is a bargain for a company averaging $450 tickets with pet treatment and upholstery add-ons, and painful for one doing $150 two-room jobs. Ask three questions:
- What's my average ticket from this channel? LSA and Google Search jobs often run different tickets from Meta promo jobs.
- What's my gross margin on that ticket after labor, chemicals, fuel and truck costs?
- What's the customer worth over time? A first job that turns into a recall customer every 12–18 months, plus a referral, is worth several tickets, not one.
Attribution tells you which channel booked the job
Cost per booked job only works if you know where each job came from. Most carpet cleaners don't, and it's not their fault. Picture a customer who saw a truck, searched the company name, read reviews on Google, and called from the profile. Which channel gets the credit?
You won't get perfect answers. You can get good-enough ones that let you cut the channel that isn't working. Four habits cover most of it:
- Use the Lead Source field on every job in Housecall Pro. Pick from a short, fixed list: Google Business Profile, LSA, Google Ads, Meta, website organic, repeat customer, referral, truck or yard sign, lead-gen platform. A list with 40 options gets ignored.
- Ask on the phone. "How did you hear about us?" takes five seconds. Log the answer, even if it's "I just Googled you".
- Separate the numbers. Use a tracking number on the website and in ads, keep LSA in its own reporting, and tag your Google Business Profile website link with UTM parameters so it shows separately in GA4.
- Enter ad spend. Housecall Pro's Marketing Dashboard ROI Table needs ad spend entered by hand and counts completed jobs. Ten minutes a month turns it into a cost-per-job report.
Expect overlap. A repeat customer who clicked a Meta ad reminder is both. Pick one rule, usually the last thing that made them pick up the phone. Apply it consistently and compare channels quarter to quarter. The trend matters more than the decimal point. You can read more in tracking Housecall Pro bookings in Google Analytics.
What should you do in your first 90 days?
| Days | Focus | What done looks like |
|---|---|---|
| 1–14 | Google Business Profile audit | Right primary category, every service listed, real photos, hours correct, service area set |
| 15–30 | Reviews and recall | Automatic review requests after every job; past customers due for a cleaning contacted |
| 30–60 | Tracking | Calls and online bookings tied to a source; Lead Source used on every job |
| 60–90 | First paid channel | Usually Local Services Ads at $1,000–$2,000 a month; read results weekly |
Deliberately defer a full website rebuild, a content calendar, AI search work and a brand refresh until the basics are working and you can measure what each one adds. There is one exception. If your website is broken on phones or has no click-to-call, fix that first. See carpet cleaning websites.
How does seasonality shape the plan?
Carpet cleaning demand isn't flat, and your marketing shouldn't be either. Most carpet cleaners see this pattern:
- Spring (March–May): People are spring cleaning, opening windows and noticing the traffic lanes. It's a strong season.
- Summer: Demand is moderate. Move-outs and apartment turnovers help if you do commercial or property-manager work.
- Fall into the pre-holiday rush (October–December): People clean before guests arrive. November and early December can book solid.
- January–February: This is the slow stretch for most residential companies.
Use it. Build SEO pages and refresh your Google Business Profile in the slow months so they've matured by spring. Raise paid budgets a few weeks before each rush, not during it, so the platforms are already learning when demand arrives. Run your reactivation campaign (past customers, a seasonal offer and maintenance plans) in January and February, when a booked job is worth the most to your schedule.
Carpet cleaners make these common marketing mistakes
- Bait pricing. "$X per room" ads that turn into a much bigger bill at the door book jobs and destroy reviews. Transparent pricing with clear minimums and add-ons sells better over time. See pricing strategy.
- Ignoring the customer list. You pay for new customers while last year's customers drift to the next postcard.
- Marketing in bursts. Turning ads off every time the schedule fills means relearning every time you turn them back on.
- No tracking. If you can't say which channel booked last month's jobs, you can't cut the bad one.
- Living on one platform. One lead-gen site or one ad account changing its rules shouldn't be able to empty your schedule.
- Advertising services you don't do well. Ranking for water damage when you don't have drying equipment wastes the click and the review.
Go deeper
These deeper guides are on the way.
- How much should a carpet cleaner spend on marketing?Coming soon
- Attribution for carpet cleaners: which channel booked the job?Coming soon
- A seasonal marketing calendar for carpet cleaningComing soon
- Your first year of carpet cleaning marketingComing soon
- Running a January reactivation campaignComing soon
FAQ