Skip to main content
Google Ads · Carpet cleaningGoogle Ads × Carpet cleaning

Google Ads conversion tracking for carpet cleaning companies

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. What Google Ads adds on top of that is a mechanical requirement: gclid, gbraid and wbraid have to reach the record that holds the money, because Google Ads can only credit a conversion it can tie back to a click it recognizes. This page covers both halves — what a conversion is in carpet cleaning companies, and what Google Ads specifically needs to accept it.

Free30 minutesNo obligation

Specific to Google Ads × Carpet cleaning

Google Ads for carpet cleaning: import invoices, count first jobs once

Carpet cleaning companies on Google Ads should capture gclid, gbraid and wbraid on every booking, including calls via call tracking, and import the invoiced job from the booking system at the amount actually charged. Use a counting setting of one per customer for acquisition, and keep repeat cleans out of the conversion action.

Google search is where most carpet cleaning bookings start, and a large share of them come by phone within minutes of the click. That makes call tracking the first job, not an add-on. A form-only conversion setup measures the minority of customers who prefer typing, and Smart Bidding will learn from them alone.

The value problem is per-room pricing. A booking made at an advertised three-room rate can invoice at twice that once the technician counts rooms and sells protector or upholstery cleaning on site. The cycle is short, usually days, so the invoiced job sits well inside the 90-day offline window. Import the invoice at the charged amount and let value-based bidding see which campaigns bring bigger homes and add-on buyers.

The common break is repeat bookings. Customers return every six or twelve months, and if the booking system resends the original gclid each time, one click starts reporting a stream of conversions. Import the first invoice per customer as acquisition and report repeats as retention outside Google Ads. Local Services Ads bookings, where used, follow their own lead reporting and need reconciling separately.

Google Ads · Carpet cleaning · what breaks

Why Google Ads under-reports for carpet cleaning companies

  1. 01

    Per-room pricing making booking value a guess

    Two rooms or six, same booking, threefold difference.

  2. 02

    Repeat business unmeasured

    The first clean rarely pays for the lead; the third does.

  3. 03

    Add-ons decided at the door

    Protector, upholstery and stain treatment are sold on site.

  4. 04

    Gclid, gbraid and wbraid never reaches the record

    Three parameters, not one. gclid is the long-standing identifier; gbraid and wbraid arrive on iOS traffic where privacy constraints prevent the usual one. Capture code that names only gclid loses a growing share, silently, and the loss is invisible until you audit how many records carry an identifier.

Google Ads · Carpet cleaning · the fix

What working looks like — Google Ads · 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.

Google Ads · Carpet cleaning · architecture

How Google Ads and carpet cleaning companies actually connect

  1. 1

    The conversion in carpet cleaning companies

    The money event is an invoiced job at its real price. The booking carries an advertised rate that the room count and add-ons will change.

  2. 2

    Google Ads needs a click to match

    A click identifier inside the 90-day window, a conversion action name that matches one configured in the account, a conversion timestamp for when the outcome happened, and a value. Read the match rate after uploading — a file can upload perfectly and match nothing.

  3. 3

    The identifier: gclid, gbraid and wbraid

    Three parameters, not one. gclid is the long-standing identifier; gbraid and wbraid arrive on iOS traffic where privacy constraints prevent the usual one. Capture code that names only gclid loses a growing share, silently, and the loss is invisible until you audit how many records carry an identifier.

  4. 4

    Where it gets sent from

    The booking and invoicing system — invoiced jobs by date at the amount charged.

  5. 5

    Deduplication and window

    There's no shared event ID mechanism like Meta's. What matters instead is the counting setting on each conversion action — 'one' for lead-type conversions so a repeat submitter doesn't count three times, 'every' for ecommerce where a second purchase is a second sale. This is the single most common misconfiguration we find in Google Ads accounts. Google's offline import window is 90 days from the click. Anything older can't be matched, and rows outside it fail as unmatched without much explanation. Measure your median click-to-outcome time against that before designing anything.

Google Ads · Carpet cleaning · events

The conversion map for carpet cleaning companies

Five events in a business where the first sale is not where the profit is.

Enquiry or bookingFrequently price-led, frequently by phone.
Appointment scheduledUsually within days.
Technician on siteRoom count and add-ons determine the real ticket.
InvoicedThe money event.
Repeat bookingRetention, and where the customer becomes profitable.

Google Ads · Carpet cleaning · diagnose

Diagnostic order — Google Ads · Carpet cleaning

  1. 01

    Count records carrying gclid, gbraid and wbraid

  2. 02

    Advertised price used as conversion value

    It understates real revenue and rewards the cheapest bookings.

  3. 03

    Repeat cleans inheriting the first identifier

    A customer cleaning twice a year for five years makes one ad look extraordinary.

  4. 04

    Add-on revenue invisible

    Protector and upholstery decided at the door, absent from the booking.

  5. 05

    Read the match rate on the upload, not the success message

    A conversion action that stops receiving hits is flagged as inactive 30 days later — by which point a month of budget has already run against a missing signal. Check the last-received date on every action monthly; it takes two minutes and it's the cheapest monitoring available.

Google Ads · Carpet cleaning · prove

How it gets proven — Google Ads · 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.
  • The match rate on the upload, not the success message read directly, not inferred from an upload succeeding.

Google Ads · Carpet cleaning · free audit

What we check in the free audit

  • Count records carrying gclid, gbraid and wbraid
  • Advertised price used as conversion value
  • Repeat cleans inheriting the first identifier
  • Add-on revenue invisible
  • Read the match rate on the upload, not the success message

Checked against

The booking and invoicing system — invoiced jobs by date at the amount charged

Get my free conversion tracking audit

Free30 minutesNo obligation

Google Ads · Carpet cleaning · when not to buy

When you don't need this — Google Ads · Carpet cleaning

  • If Google Ads already reports conversions that reconcile against the booking and invoicing system within a few percent, this is working and there is nothing to buy.
  • Measure identifier coverage yourself first — pull your last hundred records and count how many carry gclid, gbraid and wbraid.
  • If you're running Performance Max exclusively and haven't separated your conversion actions, the import will work and the reporting won't tell you much. Worth sorting the account structure first.

Google Ads · Carpet cleaning · what we deliver

What gets built — Google Ads · 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.

  • Dispatch via Google's offline conversion import

    Uploaded against the click identifier, either through the Google Ads API or as a file. The upload is the easy part; what limits it is how many of your records carry an identifier at all. Verify the current column format against Google's own template — it has changed before.

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.

Get my free conversion tracking audit

From $400 · See packages

FAQ

Google Ads · Carpet cleaning questions, answered

Invoices, imported at the amount charged. The booking price understates value and rewards the cheapest jobs.

Free · 30 min

Get Google Ads reporting what carpet cleaning companies actually earn

Free30 minutesNo obligation