Skip to main content
Google Ads · Air duct cleaningGoogle Ads × Air duct cleaning

Google Ads conversion tracking for air duct cleaning companies

This industry has a structural honesty problem that shows up directly in its measurement. 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 air duct cleaning companies, and what Google Ads specifically needs to accept it.

Free30 minutesNo obligation

Specific to Google Ads × Air duct cleaning

Google Ads for air duct cleaning: bid on invoices, not $99 bookings

For air duct cleaning on Google Ads, upload the invoiced ticket as an offline conversion matched on gclid, gbraid or wbraid, sent from the booking and invoicing system at the amount charged. Set the booking as a secondary action so value-based bidding learns from invoices instead of the advertised entry price.

Search is where price-shopping is loudest in this trade. Queries containing a dollar figure or the word cheap attract the customers most likely to decline the real quote at the door, and a booking conversion valued at the advertised price makes those keywords look as good as problem-led searches about dust, odor or a new home. Only invoice value separates them.

The cycle is short: booking to invoice usually takes days, comfortably inside the 90-day upload window, so Google can learn from the real ticket almost in real time. Upload invoices daily, keep the booking as a secondary conversion for diagnostics, and set counting to one per click on the booking so a customer who rebooks after a reschedule is not counted twice. Add dryer vent and sanitizing add-ons to the invoice value rather than as separate conversions, so one visit counts once.

Declined-at-door visits should not be uploaded at all. If a booking was already sent as primary, retract it with a conversion adjustment. The common failure is the opposite: bookings imported as primary from a scheduling widget, at the advertised price, which pushes smart bidding toward the cheapest and least profitable traffic in the account.

Google Ads · Air duct cleaning · what breaks

Why Google Ads under-reports for air duct cleaning companies

  1. 01

    Advertised price treated as job value

    The booking is priced at the ad; the invoice is priced at the house.

  2. 02

    Enormous ticket variance

    The same booking can be a small clean or a full system service.

  3. 03

    Bookings that cancel on arrival

    A homeowner who expected the advertised price and declines the real quote.

  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 · Air duct cleaning · the fix

What working looks like — Google Ads · Air duct cleaning

  • Invoiced tickets as the conversion

    At the amount actually charged.

  • Booking-to-invoice variance measured

    So the gap is a known number rather than a surprise.

  • Declined-at-door jobs counted

    Because they cost a van and produce nothing.

Google Ads · Air duct cleaning · architecture

How Google Ads and air duct cleaning companies actually connect

  1. 1

    The conversion in air duct cleaning companies

    The money event is the invoiced ticket. The booking is a price-led enquiry and is worth whatever the technician actually sells.

  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 tickets 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 · Air duct cleaning · events

The conversion map for air duct cleaning companies

Five events where the value is not known until someone is standing in the house.

Enquiry or bookingDriven by the advertised price, which is not the job.
Appointment scheduledUsually within days.
Technician on siteWhere the real scope and price are set.
Work completedOr declined, which happens and matters.
Invoice raisedThe money event, at the real number.

Google Ads · Air duct cleaning · diagnose

Diagnostic order — Google Ads · Air duct cleaning

  1. 01

    Count records carrying gclid, gbraid and wbraid

  2. 02

    Advertised price used as conversion value

    It understates real revenue and rewards whichever campaign produces the cheapest bookings.

  3. 03

    Ticket variance ignored

    Without measuring it, no cost-per-booking figure can be turned into a profitability judgement.

  4. 04

    Declines at the door

    A van, a technician and an hour spent for nothing. A campaign producing many of these is expensive.

  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 · Air duct cleaning · prove

How it gets proven — Google Ads · Air duct cleaning

Source of truth

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

  • Invoiced tickets reconciled per job against what each platform reports.
  • Booking-to-invoice variance measured and reported.
  • Declined and no-access visits counted separately.
  • Average ticket by campaign, not blended.
  • The match rate on the upload, not the success message read directly, not inferred from an upload succeeding.

Google Ads · Air duct cleaning · free audit

What we check in the free audit

  • Count records carrying gclid, gbraid and wbraid
  • Advertised price used as conversion value
  • Ticket variance ignored
  • Declines at the door
  • Read the match rate on the upload, not the success message

Checked against

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

Get my free conversion tracking audit

Free30 minutesNo obligation

Google Ads · Air duct cleaning · when not to buy

When you don't need this — Google Ads · Air duct 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 · Air duct cleaning · what we deliver

What gets built — Google Ads · Air duct cleaning

  • Click identifier captured and persisted

    Through a short, price-driven decision.

  • Carried into the booking system

    Onto the customer record.

  • Invoiced ticket fires the conversion

    At the final amount, after the work is done.

  • Declines and no-access visits handled

    Reversed or counted as cost, never as revenue.

  • 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 tickets 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 · Air duct cleaning questions, answered

Measure it before deciding. Once invoiced value per keyword is uploaded, price-led terms often show low tickets and high decline rates that cost per booking never revealed.

Free · 30 min

Get Google Ads reporting what air duct cleaning companies actually earn

Free30 minutesNo obligation