Google Ads conversion tracking for window and door companies
Windows and doors is an in-home sales business wearing a lead generation costume. 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 window and door companies, and what Google Ads specifically needs to accept it.
Free30 minutesNo obligation
Specific to Google Ads × Windows and doors
Google Ads for window companies: upload sits, retract cancellations
On Google Ads, a window and door company should upload the sat appointment and the cleared contract as separate offline conversion actions, matched on the gclid, gbraid or wbraid captured at the form or call. Send them from the CRM, put the contract value on the cleared one, and retract contracts that are cancelled or fail financing.
Search is where replacement-window demand shows up first: people type the problem, such as drafty windows, a stuck patio slider or a fogged seal, and then the brand names. That intent makes Google the account most window companies spend most on, and also the one where the cheap-appointment trap costs most, because Smart Bidding finds whoever books fastest. Mark the set appointment as a secondary conversion action so it stays visible without steering bids, and make the sat appointment the primary one.
Google lets you correct an uploaded conversion afterwards through conversion adjustments: a retraction removes it, a restatement changes its value. That suits this category. If financing approval takes weeks, upload the contract at signature so it lands well inside the 90-day window, then retract it if the lender declines or the homeowner cancels, and restate the value if the job is re-scoped. Confirm the adjustment limits in your account before relying on them.
Where it breaks here is the call ad. A homeowner who taps to call never loads a landing page, so no gclid reaches the CRM, and the appointment the setter books carries nothing. Google's call conversion import matches on the caller's number and the call start time instead, so record both on the lead. Financing terms and credit outcomes stay in the CRM and never go into the conversion payload.
Google Ads · Windows and doors · what breaks
Why Google Ads under-reports for window and door companies
- 01
Appointments set counted as conversions
Sit rates vary enormously by campaign. The campaign with the cheapest appointments frequently has the worst sit rate.
- 02
Cancellations inside the rescission window never reversed
So reported revenue includes contracts that were legally cancelled.
- 03
Financing declines treated as sales
A signed contract that fails financing is not revenue, and in this category it happens often.
- 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 · Windows and doors · the fix
What working looks like — Google Ads · Windows and doors
Signed contracts as the conversion
Net of the cancellation window, with financing approval confirmed.
Contract value on the conversion
The actual amount, so bidding optimizes toward whole-home jobs rather than single-window replacements.
Sit rate visible by campaign
The number that most often reorders a media plan in this category.
Google Ads · Windows and doors · architecture
How Google Ads and window and door companies actually connect
- 1
The conversion in window and door companies
The money event is a contract that has survived both the cancellation window and financing. Firing at signature is early enough to be wrong often, and the error is always in the flattering direction.
- 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 CRM — contracts cleared past rescission with financing approved, by date, for the same window.
- 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 · Windows and doors · events
The conversion map for window and door companies
Five steps, and the two that matter most are the last two.
| Event | What it means here |
|---|---|
| Lead | Volume only. Includes renters and non-serviceable addresses. |
| Appointment set | What everyone counts. A leading indicator with a wildly variable sit rate. |
| Appointment sat | The first signal that correlates with revenue. A much better optimization target than the set. |
| Contract signed | Subject to rescission and financing. Not yet the money event. |
| Contract cleared | Past the cancellation window, financing approved. The money event. |
Google Ads · Windows and doors · diagnose
Diagnostic order — Google Ads · Windows and doors
- 01
Count records carrying gclid, gbraid and wbraid
- 02
Identifier lost at appointment setting
Whether in-house or an outsourced call center, this hop drops the identifier more often than not.
- 03
Rescission window ignored
Firing at signature overstates revenue by your cancellation rate, permanently and in one direction.
- 04
Non-serviceable and renter leads
Pure cost, and counting them teaches the algorithm to find more.
- 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 · Windows and doors · prove
How it gets proven — Google Ads · Windows and doors
Source of truth
The CRM — contracts cleared past rescission with financing approved, by date, for the same window
- Cleared contracts reconciled per contract against what each platform reports.
- Sit rate measured by campaign and stated in the report.
- A real cancellation confirmed to reverse at each destination.
- Identifier coverage measured specifically across the appointment-setting hop.
- The match rate on the upload, not the success message read directly, not inferred from an upload succeeding.
Google Ads · Windows and doors · free audit
What we check in the free audit
- Count records carrying gclid, gbraid and wbraid
- Identifier lost at appointment setting
- Rescission window ignored
- Non-serviceable and renter leads
- Read the match rate on the upload, not the success message
Checked against
The CRM — contracts cleared past rescission with financing approved, by date, for the same window
Free30 minutesNo obligation
Google Ads · Windows and doors · when not to buy
When you don't need this — Google Ads · Windows and doors
- If Google Ads already reports conversions that reconcile against the crm 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 · Windows and doors · what we deliver
What gets built — Google Ads · Windows and doors
Click identifier captured and persisted
Across the set-to-sit-to-sign gap, which runs weeks.
Carried into the CRM and onto the contract
Through appointment setting, which is the hop where it is usually lost.
Signed contract fires the conversion
After the rescission window closes and financing has cleared.
Cancellations and financing failures reversed
Both are common and both are ignored by nearly every setup we see.
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 CRM — contracts cleared past rescission with financing approved, by date, for the same window. Miss it and we keep working at no cost.
From $400 · See packages
FAQ
Google Ads · Windows and doors questions, answered
Only the sat appointment. Keep appointments set as a secondary action for reporting, because a set nobody sits for is exactly what Smart Bidding would otherwise learn to buy.
Yes, through call conversion import, which matches on the caller's phone number and the call start time instead of a gclid. Check Google's current template and confirm call reporting is on.
Contracts if your volume supports it. If not, use appointments *sat* rather than appointments set — the sit rate is where campaigns differ most, and optimizing toward sets rewards whoever books the most people who will not be home.
Because a contract cancelled inside it is not revenue. Firing at signature overstates performance by your cancellation rate, always in the flattering direction, and nobody notices because the number looks good.
Appointment setting. The identifier reaches the lead form and dies when the setter creates the appointment in a different system. That single hop explains most broken attribution in this category and it takes one test lead to confirm.
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 CRM — contracts cleared past rescission with financing approved, by date, for the same window. An upload that succeeds is not an upload that matched.
More on Google Ads · Windows and doors
- Windows and doorsConversion tracking for window and door, measured in signed contracts
- Meta · Windows and doorsMeta Ads conversion tracking for window and door companies
- TikTok · Windows and doorsTikTok Ads conversion tracking for window and door companies
RELATED GUIDES
More for window and door companies: other angles on the same outcome
- Windows and doorsConversion tracking for window and door, measured in signed contracts
- Google Ads · FlooringGoogle Ads conversion tracking for flooring contractors
- Google Ads · Pool cleaningGoogle Ads conversion tracking for pool cleaning services
- 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
- Window replacement companiesLocal Services Ads for window companies: repair calls, one-leg appointments and cost per sold job
- Google Ads · Junk removalGoogle Ads conversion tracking for junk removal companies
- Google Ads · Pressure washingGoogle Ads conversion tracking for pressure washing companies
Free · 30 min
Get Google Ads reporting what window and door companies actually earn
Free30 minutesNo obligation
