Conversion tracking for carpet cleaning, measured in invoiced jobs
Carpet cleaning is high volume, low ticket and priced per room, which means the value of a booking is genuinely unknown until the technician is standing in the house counting rooms. On top of that, the business is built on repeat customers — the first clean is barely profitable once you have paid for the lead, and the second and third are where the money is. Measure only first bookings at an advertised price and you will misjudge both halves at once.
Free30 minutesNo obligation
Getting and tracking leads for carpet cleaners
Where a carpet cleaner's jobs come from, and why the booking value is wrong until the tech counts the rooms
Google Ads reports bookings at the advertised room price, the job system shows the real tickets, and the two never agree. Pet-stain calls, coupon shoppers and upholstery add-ons all change the number at the door. Count a job when it is booked at an address you serve, value it at the invoice after the visit, and record the source in the job system.
Carpet cleaning bookings arrive by phone, by text with a photo of the stain, and through online booking in Housecall Pro, Jobber or ServiceMonster. The price on the booking is a guess: the room count, protector, upholstery and stairs are settled in the house. Housecall Pro drops LSA and Reserve with Google bookings into the same Google inbox, Jobber's booking event carries no job revenue, and ServiceMonster's lead source is whatever the customer picks from a dropdown. The ad platforms end up valuing every job at the coupon price.
Bidding trained on coupon-price bookings chases the cheapest whole-house specials, while the customer who rebooks every spring makes one old ad look brilliant for years. A check: pull last month's invoiced jobs with lead source and ticket, sort by ticket, and see which sources sit at the top and which at the bottom. Then set the count of invoiced jobs your system credits to Google beside the conversions Google Ads reported.
Fixed means the booking carries the click ID or the caller's tracked number, the invoiced amount replaces the booking value, repeat cleans are reported as returning customers instead of new ad wins, and LSA leads are matched to jobs by phone each month. Where a job ties back to a click, the conversions Google sees match your invoices within the agreed tolerance. The free audit checks whether your job system's records can carry that invoiced value back.
Where the leads come from
| Channel | Role | Note |
|---|---|---|
| Local Services Ads | Carpet cleaning services category with the Google Verified badge, paid per lead | Keep job types and service area to what you actually clean; leads for work you don't do are no longer credited back. |
| Google Search ads | Pet-stain, upholstery and whole-house searches | Click ID kept on the booking, so the invoiced ticket is imported instead of the advertised price. |
| Business Profile | Before-and-after photos and the reviews that decide the call | Reserve with Google bookings need their own tag in the job system, apart from LSA. |
| Meta | Before-and-after video and seasonal offers to past customers | Measured on invoiced jobs; offers to past customers are repeat business, not new acquisition. |
| Nextdoor | Neighbors asking who cleaned whose carpets | Tracked as its own source; it often arrives as a text after a neighbor's recommendation. |
| Angi, Thumbtack, Yelp | Shared requests, many asking only for a price | Judged on invoiced jobs per request from your own job system. |
Which calls count
- Count it when
- Count the call when the caller asks to book cleaning for rooms, rugs or upholstery at an address inside your service area.
- Minimum duration
- Price-check calls are short and frequent; set a threshold that keeps the calls where rooms and a date are discussed, tune it from your own recordings, and let the invoiced job be the real test.
- After hours
- Apart from flood extraction, carpet work is planned. Stain-photo texts arrive in the evening and need a reply with a price range the next morning; advertise at night only if you do water extraction and someone answers.
Where each lead should land
- Local Services Ads call or message
- Job record with lead source Google LSA, matched monthly to the LSA lead list by phone number.
- Search ad booking or call
- Job record with the click ID or tracked call ID, so the invoiced ticket can be imported.
- Reserve with Google or Business Profile booking
- Job record tagged Google Business Profile, not lumped in with LSA.
- Text with a stain photo
- Customer record noting the number the text came to, so a tracked texting number reveals the source.
Carpet cleaning · what breaks
What carpet cleaning companies usually run into
- 01
Per-room pricing making booking value a guess
Two rooms or six, same booking, threefold difference.
- 02
Repeat business unmeasured
The first clean rarely pays for the lead; the third does.
- 03
Add-ons decided at the door
Protector, upholstery and stain treatment are sold on site.
Carpet cleaning · the fix
What changes — Carpet cleaning
Invoiced jobs as the conversion
At the amount actually charged, not the advertised price.
First cleans and repeats reported apart
So acquisition is not credited with retention.
Average ticket shown per campaign
Because it varies more than cost per lead does.
Carpet cleaning · architecture
The conversion map for carpet cleaning companies
Five events in a business where the first sale is not where the profit is.
- 1
Enquiry or booking
Frequently price-led, frequently by phone.
- 2
Appointment scheduled
Usually within days.
- 3
Technician on site
Room count and add-ons determine the real ticket.
- 4
Invoiced
- 5
Repeat booking
Retention, and where the customer becomes profitable.
Carpet cleaning · diagnose
Where carpet cleaning companies tracking usually breaks
- 01
Advertised price used as conversion value
It understates real revenue and rewards the cheapest bookings.
- 02
Repeat cleans inheriting the first identifier
A customer cleaning twice a year for five years makes one ad look extraordinary.
- 03
Add-on revenue invisible
Protector and upholstery decided at the door, absent from the booking.
- 04
Phone-heavy bookings
Without call tracking, a large share of the funnel is unmeasured.
Carpet cleaning · prove
How the work is proven — Carpet cleaning
Source of truth
The booking and invoicing system — invoiced jobs by date at the amount charged
- Invoiced jobs reconciled per record against what each platform reports.
- First cleans and repeats reported apart.
- Average ticket calculated per campaign, not blended.
- Phone bookings joined via number insertion.
Carpet cleaning · free audit
What we check in the free audit
- Advertised price used as conversion value
- Repeat cleans inheriting the first identifier
- Add-on revenue invisible
- Phone-heavy bookings
Checked against
The booking and invoicing system — invoiced jobs by date at the amount charged
Free30 minutesNo obligation
Carpet cleaning · when not to buy
What lands in your monthly report — Carpet cleaning
- Invoiced revenue by campaign, with average ticket per campaign.
- First cleans against repeat cleans, kept separate.
- Cost per first clean next to first-year value per customer.
- Add-on attach rate, because it decides which traffic is profitable.
Carpet cleaning · what we deliver
The flow we build — Carpet cleaning
Click identifier captured and persisted
Through a short, price-sensitive decision.
Carried into the booking system
Onto the customer, so repeats resolve to the original source.
Invoiced job fires the conversion
At the final amount including add-ons.
Repeat cleans reported as retention
Not as new conversions against the first click.
Written guarantee
95%+ tracking accuracy
Measured against The booking and invoicing system — invoiced jobs by date at the amount charged. Miss it and we keep working at no cost.
From $400 · See packages
FAQ
Carpet cleaning questions, answered
Not as acquisition. Report them as retained revenue against the acquiring source. Sending every repeat with the original identifier turns one cheap click into a career of revenue and makes cost per acquisition meaningless.
The invoiced amount. Two campaigns with identical cost per booking can differ twofold in revenue depending on room counts and add-ons, and only the invoice can see that.
On first-year value per acquired customer, not on the first job. That requires tracking repeats against the original source, which is the whole reason to persist the identifier on the customer record.
With dynamic number insertion, yes. Without it you are measuring a minority of the funnel and every ratio you compute is wrong by an unmeasured factor.
More on Carpet cleaning
- Google Ads · Carpet cleaningGoogle Ads conversion tracking for carpet cleaning companies
- Meta · Carpet cleaningMeta Ads conversion tracking for carpet cleaning companies
- TikTok · Carpet cleaningTikTok Ads conversion tracking for carpet cleaning companies
RELATED GUIDES
Funnels, reconciliation and tools for carpet cleaning
- Commercial HVACConversion tracking for commercial HVAC, measured in signed work
- PoolsConversion tracking for pool companies, measured in signed builds
- Meta · Phone call → saleHow to track phone call to sale for Meta Ads
- Meta · Quote → closed jobHow to track quote request to closed job for Meta Ads
- Google Ads × Job SystemHow to reconcile Google Ads against your job management system
- FencingConversion tracking for fencing, measured in signed contracts
- Chimney sweepsConversion tracking for chimney sweeps, measured in completed jobs
- SolarConversion tracking for solar, from enquiry to signed contract
Free · 30 min
Measure the customer, not the first clean
Free30 minutesNo obligation
