Google Ads for carpet cleaners: what to run, what to kill, what a lead really costs
Campaign structure, the negative keyword list that saves a carpet cleaning account, realistic cost per lead, ad schedules and call tracking.
Most carpet cleaning Google Ads accounts we open have the same two problems. Broad match on "carpet cleaner", and no negative keywords. Between them they mean the owner is paying $9 to $16 a click for people looking to buy a Bissell, rent a machine at the grocery store, or learn how to get red wine out with vinegar. Those clicks bounce in four seconds and they can eat half a budget before anyone notices.
Fixed properly, Google Ads is the most predictable channel in this trade, because carpet cleaning is a searched service. Somebody's dog had an accident, or in-laws are coming, and they type a phrase with intent behind it. Your job is to be there for that phrase and absent for the rest.
What a lead actually costs
In most US metros expect $6 to $18 per click and $25 to $80 per booked call. Suburban markets with a handful of competitors run at the low end. Dense metros with franchise money in them run at the high end. At an average residential ticket of about $210 and a healthy close rate on the phone, $50 per call is a workable number and $120 is not.
Budget floor: $1,200 a month plus management. Below roughly $40 a day the account gathers data too slowly to optimize and you spend three months learning nothing. If $1,200 is not there, put the money into reviews and the profile first. The benchmark report shows why: with a median of 12 reviews across the trade, a modest review count and a real website beat a small ad budget almost every time.
The account that works
Three campaigns. That is it.
Campaign 1: Core residential search. Exact and phrase match only. Keywords: carpet cleaning [city], carpet cleaners near me, carpet cleaning service, professional carpet cleaning, carpet shampooing service. One ad group per theme, three responsive search ads each, call extensions on, location extensions on, sitelinks to your pricing page, your before-and-after gallery and your pet odor page.
Campaign 2: High-ticket specialties. Separate budget so the cheap clicks do not starve it: pet odor removal, urine treatment, area rug cleaning, oriental rug cleaning, tile and grout cleaning, upholstery cleaning, sofa cleaning. These convert at higher tickets and usually cost less per click than the generic term because franchises ignore them.
Campaign 3: Move-out and commercial. move out carpet cleaning, apartment carpet cleaning, rental carpet cleaning, commercial carpet cleaning, office carpet cleaning. Low volume, high repeat value, and it feeds the property manager relationships that carry January.
Local Services Ads cover carpet cleaning in a lot of US markets and are worth checking during sign-up. They charge per lead rather than per click and they sit above the map pack. If they are live in your zip, run them alongside search rather than instead of it, and note that Google's screening pulls your review count in, so the review work comes first.
The negative list, day one
Paste this in before you turn anything on:
rental, rent, rentals, rug doctor, bissell, hoover, machine, machines, shampooer, vacuum, buy, sale, for sale, cheap, free, diy, how to, homemade, vinegar, baking soda, jobs, hiring, salary, career, school, training, certification, franchise, business for sale, near me open now supplies, home depot, lowes, walmart, amazon, coupon codes, chem dry price list, stanley steemer price
Then, every Friday for the first month, open the search terms report and add whatever nonsense actually came through. In a new carpet cleaning account this exercise typically finds another 30 to 60 terms in the first four weeks and cuts wasted spend by a quarter or more. It is 15 minutes of work with the highest return of anything in the account.
Schedule the ads to your phone, not to the clock
Run ads when someone answers. If your office is staffed 8am to 5pm Monday to Saturday, that is the ad schedule, plus a bid adjustment down after 6pm rather than a hard stop if you use missed-call text-back. There is no reason to buy clicks at 11pm unless a human or an automated text replies within a minute. What that gap costs is exactly what the calculator computes, and the missed-call guide explains the fix.
Weekends matter here more than in most trades. Only 37% of carpet cleaning companies even publish Saturday hours, so Saturday morning is cheap, high-intent traffic that a lot of your competitors are not bidding on.
Landing where the click can convert
Never send paid traffic to your home page. Send the core campaign to a page that states per-room pricing, shows before-and-after images, has a tap-to-call button fixed at the bottom on mobile, and offers a booking form with four fields. Send the pet odor keywords to a pet odor page that explains the process. Send move-out keywords to a move-out page with a flat price by unit size.
Message match is most of the battle. If the ad says "from $49 per room, three-room minimum" then the page says the same thing above the fold. The website guide covers the rest.
Tracking, or you are guessing
Set up a Google Ads call conversion with a forwarding number and a 60-second minimum, turn on call recording, and mark form submissions as conversions. Then, once a week, listen to three calls. Owners who do this discover something uncomfortable within a month: the ads are working and the phone handling is not. A common pattern is a two-minute call where the caller asks the price, hears a number, and hangs up because nobody asked for the appointment.
Import booked jobs from your scheduling software back into Google Ads if it supports offline conversions. Optimizing to calls gets you calls. Optimizing to booked jobs gets you jobs.
What to kill
- Display "audience expansion" bolted onto a search campaign. It spends the budget on app placements.
- Broad match without a tight negative list, at any budget.
- Bidding on your own brand name when nobody else is. That is paying for a click you already had.
- Performance Max as a first campaign. It hides the search terms, and in a category this polluted with machine shoppers, hiding search terms is how budgets disappear.
- The generic word "cleaning" on its own. It brings house cleaning, gutter cleaning and dry cleaning.
Frequently asked
How long before it works? Two to four weeks to stabilize, six to eight weeks to know your true cost per booked job. Judge nothing in week one.
Should I run ads in the slow months? Yes, at a reduced budget. Competition drops in January and February and click costs drop with it. The seasonality guide has the calendar.
Can I run this myself? Yes. Build the three campaigns, paste the negatives, and give it 20 minutes every Friday for search terms. The part most owners cannot sustain is that Friday habit.
Google Ads management, including build, negatives and call tracking, is one of the services in the free 14-day trial. Ad spend stays yours and goes straight to Google. Text or call (385) 832-6175.