Google Ads conversion tracking for chimney sweeps
A chimney sweep earns most of a year's revenue between September and December, which makes every annual average on every dashboard misleading. 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 chimney sweeps, and what Google Ads specifically needs to accept it.
Free30 minutesNo obligation
Specific to Google Ads × Chimney sweeps
Google Ads for chimney sweeps: value relines apart, plan for fall
Track chimney sweeps on Google Ads with two offline conversion actions imported from the job system against the stored gclid, gbraid or wbraid: a completed sweep or inspection and a completed repair, each at its invoiced value. Calls from ads need call tracking joined to the job, since most bookings come by phone.
Counting settings bite chimney work in a specific way. A homeowner who clicks once, books a sweep, then accepts a reline found during the inspection produces two real jobs from one click. If a single completed-job action counts one conversion per click, the reline vanishes from the account. Use separate actions for routine and repair work, or count every conversion on the completed-job action, so the repair is credited to the click that started it.
Timing mostly fits. A September click, a booking six weeks out and a repair invoiced a week later usually lands inside the 90-day import window, unlike verticals with longer cycles. The failure is in the job system: when the repair is opened as a new customer, the gclid stays on the sweep. Check that the import query reads the identifier from the customer record, not from the individual job.
Smart Bidding trained on July data will underbid in October. Google's seasonality adjustments are built for short, predictable conversion-rate shifts of a few days, and a chimney season is far longer, so review budgets and targets by hand as the season opens. Local Services Ads, if you run them, report leads inside LSA and don't feed these conversion actions; keep them out of the cost-per-job comparison or reconcile them separately.
Google Ads · Chimney sweeps · what breaks
Why Google Ads under-reports for chimney sweeps
- 01
Annual averages hiding a four-month season
Cost per job in July and cost per job in October describe different businesses.
- 02
Inspections and repairs valued the same
A £90 sweep and a £3,000 reline are both one job in most reporting.
- 03
Phone bookings outside the measured funnel
Older homeowners call. A website-only measurement misses the larger half.
- 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 · Chimney sweeps · the fix
What working looks like — Google Ads · Chimney sweeps
Completed jobs as the conversion
At the invoiced amount, from the job system.
Follow-on repair work joined to the original visit
So the inspection that found it gets the credit.
Season reported separately from the rest of the year
Because they are not comparable.
Google Ads · Chimney sweeps · architecture
How Google Ads and chimney sweeps actually connect
- 1
The conversion in chimney sweeps
The money event is a completed, invoiced job. A booked appointment in peak season is six weeks from being revenue and a share of them cancel.
- 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
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
Where it gets sent from
The job system — completed and invoiced jobs by date, split by job type.
- 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 · Chimney sweeps · events
The conversion map for chimney sweeps
Five events across a business where the second visit is usually worth more than the first.
| Event | What it means here |
|---|---|
| Enquiry, web or phone | Volume signal. Only the web half carries an identifier. |
| Appointment booked | Frequently weeks out in season. Not yet money. |
| Sweep or inspection completed | Low value, and the gateway to everything else. |
| Repair quoted | Where the real revenue is identified. |
| Repair completed and invoiced | The event worth optimizing toward. |
Google Ads · Chimney sweeps · diagnose
Diagnostic order — Google Ads · Chimney sweeps
- 01
Count records carrying gclid, gbraid and wbraid
- 02
Extreme seasonality
Four months carry the year. Bidding strategies trained on summer data are wrong by October.
- 03
Two very different job values
Routine sweeps and structural repairs need separate conversion values or the average is meaningless.
- 04
Repair work booked as a new customer
If the job system starts a fresh record, the inspection that found the work loses its credit.
- 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 · Chimney sweeps · prove
How it gets proven — Google Ads · Chimney sweeps
Source of truth
The job system — completed and invoiced jobs by date, split by job type
- Completed jobs reconciled per record against what each platform reports.
- Repair work joined to the visit that found it.
- Phone bookings counted separately with call tracking.
- Seasonal and off-season windows reported apart.
- The match rate on the upload, not the success message read directly, not inferred from an upload succeeding.
Google Ads · Chimney sweeps · free audit
What we check in the free audit
- Count records carrying gclid, gbraid and wbraid
- Extreme seasonality
- Two very different job values
- Repair work booked as a new customer
- Read the match rate on the upload, not the success message
Checked against
The job system — completed and invoiced jobs by date, split by job type
Free30 minutesNo obligation
Google Ads · Chimney sweeps · when not to buy
When you don't need this — Google Ads · Chimney sweeps
- If Google Ads already reports conversions that reconcile against the job 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 · Chimney sweeps · what we deliver
What gets built — Google Ads · Chimney sweeps
Click identifier captured and persisted
Through a booking that may be scheduled six weeks out in peak season.
Carried into the job system
Onto the customer record, not the individual job.
Completed job fires the conversion
At the invoiced value, after the work is done.
Follow-on work attributed to the first visit
The reline found in October belongs to whatever produced the inspection.
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 job system — completed and invoiced jobs by date, split by job type. Miss it and we keep working at no cost.
From $400 · See packages
FAQ
Google Ads · Chimney sweeps questions, answered
At the invoiced amount, with routine sweeps and repairs as separate conversion actions. Value-based bidding then favors searches that lead to relines and cap replacements over the cheapest inspection bookings.
Count them, but as a secondary action. A call is an enquiry; the conversion that should drive bidding is the completed job imported from your job system.
Usually yes, at lower spend, because booking capacity in autumn is finite and pre-booking the season is worth something. What you should not do is judge summer campaigns against autumn benchmarks — they are not competing for the same job.
At its invoiced amount, and separately track the rate at which inspections turn into repairs. That rate, by campaign, is the number that tells you which traffic is actually worth having.
Yes, with call tracking. Without it you are measuring the minority of your funnel and every efficiency ratio you compute is wrong by a factor you have not measured.
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.
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.
By reading the match rate on the upload, not the success message and reconciling against The job system — completed and invoiced jobs by date, split by job type. An upload that succeeds is not an upload that matched.
More on Google Ads · Chimney sweeps
- Chimney sweepsConversion tracking for chimney sweeps, measured in completed jobs
- Meta · Chimney sweepsMeta Ads conversion tracking for chimney sweeps
- TikTok · Chimney sweepsTikTok Ads conversion tracking for chimney sweeps
RELATED GUIDES
More for chimney sweeps: other angles on the same outcome
- Chimney sweepsConversion tracking for chimney sweeps, measured in completed jobs
- Google Ads · FurnitureGoogle Ads conversion tracking for furniture brands
- Google Ads · Air duct cleaningGoogle Ads conversion tracking for air duct cleaning companies
- Google Ads · Quote → closed jobHow to track quote request to closed job for Google Ads
- Google Ads × Job SystemHow to reconcile Google Ads against your job management system
- Google Ads · Commercial cleaningGoogle Ads conversion tracking for commercial cleaning companies
- Google Ads · Windows and doorsGoogle Ads conversion tracking for window and door companies
- Google Ads · Home inspectionGoogle Ads conversion tracking for home inspection companies
Free · 30 min
Get Google Ads reporting what chimney sweeps actually earn
Free30 minutesNo obligation
