Google Ads conversion tracking for siding contractors
Siding splits into two businesses that share a crew, and they need opposite 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 siding contractors, and what Google Ads specifically needs to accept it.
Free30 minutesNo obligation
Specific to Google Ads × Siding contractors
Google Ads for siding: bid on approved scopes, not hail-week leads
For a siding contractor on Google Ads, import the approved job as an offline conversion: the approved insurance scope or the signed retail contract, keyed on the gclid, gbraid or wbraid stored on the customer record. Send it from the job system with a work-type label, and import inspections as a separate, secondary action.
Search is where hail shows up first. The morning after a storm, queries for hail damage and siding repair jump in the affected ZIP codes, conversion rate jumps with them, and Smart Bidding reads that as the campaigns getting better. If you know a storm is driving the spike, check whether a seasonality adjustment fits your bid strategy, and afterwards consider a data exclusion so one week of storm leads doesn't set bids for the quiet months.
Build two conversion actions, not one. Retail replacement fires at the signed contract value; restoration fires only when the claim is approved, at the approved scope, never at the contingency. Both should count one per click, because a homeowner who calls back after the adjuster's visit is still one job. Keep restoration and retail in separate campaigns so value-based bidding isn't comparing a carrier-funded scope with a homeowner's own budget.
The 90-day window is the constraint on claims. A retail job that signs in three weeks imports comfortably; a claim that waits on a second adjuster visit or a supplement can land past day 90 and fail as unmatched. Upload approvals as they happen rather than at final invoice, and send supplements or reductions later as conversion adjustments. Nothing about the carrier, claim number or policy belongs in the upload.
Google Ads · Siding contractors · what breaks
Why Google Ads under-reports for siding contractors
- 01
Insurance and retail work pooled
One is decided by a homeowner, the other by an adjuster.
- 02
Storm demand credited to campaigns
Hail creates a season nobody bought.
- 03
Signed contingencies counted as won work
A contingency agreement is not an approved claim.
- 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 · Siding contractors · the fix
What working looks like — Google Ads · Siding contractors
Approved or signed jobs as the conversion
At the approved scope for insurance, contract value for retail.
Work type carried on the conversion
So the two businesses stay separable.
Denials and scope reductions reversed
Both are routine on claims.
Google Ads · Siding contractors · architecture
How Google Ads and siding contractors actually connect
- 1
The conversion in siding contractors
For insurance work the money event is the approved scope, because the carrier decides the number. For retail work it is the signed contract.
- 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 — approved scopes and signed retail contracts by date, at the value that will be paid.
- 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 · Siding contractors · events
The conversion map for siding contractors
Five events where a third party decides the outcome on half the pipeline.
| Event | What it means here |
|---|---|
| Enquiry or storm canvass | Demand spikes with weather, not with spend. |
| Inspection | Damage assessed, claim viability established. |
| Contingency or contract signed | Commitment, not yet money on the insurance side. |
| Claim approved | The decision that sets the value. |
| Installed and invoiced | Where supplements and reductions settle. |
Google Ads · Siding contractors · diagnose
Diagnostic order — Google Ads · Siding contractors
- 01
Count records carrying gclid, gbraid and wbraid
- 02
The adjuster controlling the value
Your estimate is a proposal; the approved scope is the revenue.
- 03
Storm-driven demand read as performance
A hail event produces a quarter of work no campaign caused.
- 04
Contingencies treated as conversions
A large share never become approved claims.
- 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 · Siding contractors · prove
How it gets proven — Google Ads · Siding contractors
Source of truth
The job system — approved scopes and signed retail contracts by date, at the value that will be paid
- Approved jobs reconciled per record against what each platform reports.
- Work type present on every conversion.
- Denials and reductions reversed within the window.
- Storm dates annotated against the demand curve.
- The match rate on the upload, not the success message read directly, not inferred from an upload succeeding.
Google Ads · Siding contractors · free audit
What we check in the free audit
- Count records carrying gclid, gbraid and wbraid
- The adjuster controlling the value
- Storm-driven demand read as performance
- Contingencies treated as conversions
- Read the match rate on the upload, not the success message
Checked against
The job system — approved scopes and signed retail contracts by date, at the value that will be paid
Free30 minutesNo obligation
Google Ads · Siding contractors · when not to buy
When you don't need this — Google Ads · Siding contractors
- 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 · Siding contractors · what we deliver
What gets built — Google Ads · Siding contractors
Click identifier captured and persisted
Through inspection, claim and approval.
Carried into the job system
Onto the customer record.
Approved job fires the conversion
At the value that will actually be paid.
Denied claims and deferrals reversed
So reported revenue matches settlements.
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 — approved scopes and signed retail contracts by date, at the value that will be paid. Miss it and we keep working at no cost.
From $400 · See packages
FAQ
Google Ads · Siding contractors questions, answered
Yes, US location targeting works at ZIP code level, so you can raise budget in the affected area. Run that as its own storm campaign so its conversion rate doesn't leak into the bidding on your retail campaigns.
None, or a small proxy on a secondary action. The value belongs to the approved claim, and importing your estimate at signature teaches bidding to chase homeowners whose claims get denied.
No. The buyer, the decision process and the value setter are all different. Shared bidding will chase whichever converts more cheaply, and on a storm that is always restoration — which then collapses when the weather turns quiet.
Because a contingency is a homeowner agreeing to let you pursue a claim, not a claim being approved. Counting it as revenue means reporting jobs that will never be built.
Annotate the storm on the report and compare against non-storm periods. Otherwise the following quarter reads as a campaign failure when it is just normal weather.
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 — approved scopes and signed retail contracts by date, at the value that will be paid. An upload that succeeds is not an upload that matched.
More on Google Ads · Siding contractors
- SidingGoogle Ads for siding-contractors: the build order
- Siding contractorsConversion tracking for siding contractors, measured in approved jobs
- Google Ads · PaintingGoogle Ads conversion tracking for painting contractors
RELATED GUIDES
More for siding contractors: other angles on the same outcome
- Siding contractorsConversion tracking for siding contractors, measured in approved jobs
- Google Ads · PoolsGoogle Ads conversion tracking for pool installation and service companies
- Google Ads · Snow removalGoogle Ads conversion tracking for snow removal
- Google Ads · Quote → closed jobHow to track quote request to closed job for Google Ads
- Google Ads × Invoicing SystemHow to reconcile Google Ads against your invoicing system
- Siding contractorsLocal Services Ads for siding contractors: repair calls, claim jobs and cost per signed contract
- Google Ads · Concrete contractorsGoogle Ads conversion tracking for concrete contractors
- Google Ads · Home securityGoogle Ads conversion tracking for home security companies
Free · 30 min
Get Google Ads reporting what siding contractors actually earn
Free30 minutesNo obligation
