Cookie preferences

Choose what we may use. Strictly necessary cookies keep you signed in and can't be turned off; everything else is your call and changes nothing about how the site works. You can change your mind any time from the footer.

Marketing attribution for window and door companies

Which channels produced installed jobs?

Match installed replacement jobs to the appointments, canvassing and ads that produced them.

  • No card required
  • Nothing to install
  • Cancel anytime
Windows & Doors workspace FY2026 Sample data
Installed job value traced to a channel

$605,000 55% of $1,100,000 paid

  • Google Ads $286,000 · 26%
  • Meta Ads $253,000 · 23%
  • Email marketing $66,000 · 6%
  • Direct / Unknown $495,000 · 45%
Direct / Unknown is shown, never shared out across the channels above.
Google Ads · LeadFY2026 14 · (•••) •••-0134
Closed sale · FY2026 27$10,400
Matched · high confidence

The blind spot

What's actually happening

This trade runs on in-home appointments. Setting one is cheap and easy to measure; closing one is neither, and channels differ enormously on which they produce.

What you get

Built for window and door companies.

Invoiced value, not calls

Rank on invoiced revenue, so a single high-value job is not averaged away by the noise around it.

Quotes that close later

Time between the advertisement and the invoiced revenue is irrelevant to the match, which is the reason this works where tag-based tracking does not.

Nothing to install

Nothing at all. The method reads exports, so there is no tag to maintain and nothing that can silently stop working.

A worked example

The number you can take into a budget meeting.

Not impressions, not leads, not cost per click. Closed revenue, by the channel that produced it, for a period you choose — with the portion we could not trace shown rather than quietly shared out across your paid channels.

Total revenue$1,100,000paid installed job value
Attributed to a channel$605,00055% of revenue
Average deal$10,400per paid sale
Match rate54%of sales matched
ChannelSalesRevenueShare%
Google Ads29$286,00026%
Meta Ads26$253,00023%
Email marketing7$66,0006%
Direct / Unknown52$495,00045%
01

The appointment is the cost, not the result

An in-home appointment costs a salesperson half a day. A channel that sets appointments cheaply and closes them rarely is more expensive than one that sets fewer and closes more.

Ranking on installed jobs makes that comparison directly, and it usually reorders the channels relative to a cost-per-appointment view.

02

Canvassing and events are channels too

Home shows, canvassing and neighborhood campaigns produce a real share of the work and are usually treated as unmeasurable.

Added to the lead file, each row tagged with its source, each becomes a channel like any other, comparable on the same basis as paid media.

03

A whole-home job and a single unit are the same lead and ten times the revenue

Replacement window demand arrives as one undifferentiated stream of inquiries. Somebody with a single failed unit and somebody replacing every window in the house submit the same form, click the same advertisement and cost the same to acquire. What they are worth differs by an order of magnitude.

Because the spread is so wide and the volume is relatively low, an average job value across a month describes almost nobody. A handful of whole-home jobs will carry the period, and whichever channel happened to produce them will look transformative on a cost-per-lead view that cannot see unit counts at all.

Ranking on invoiced revenue handles it automatically, and exporting an unit count alongside the amount lets the report show revenue per lead rather than cost per lead — which is the number that actually decides where the next month's budget goes.

04

Finance approval sits between the sale and the money

A large share of replacement window work is financed, and the finance decision happens after the contract is signed and before the job is installed. Approval rates are not uniform across channels: a source that reaches households with weaker credit profiles will produce contracts that do not convert into installations, and it will look identical to a better source on every sales metric.

Exporting installed and invoiced work rather than signed contracts is the correction, and it is a one-column decision. It also makes the report reconcilable to the company's own accounts, which is what allows the number to be repeated to an owner without being re-argued.

05

What the first report usually shows

Most companies in this trade discover two things. The first is that their cost per lead has been stable for years while their cost per installed job has not, because lead quality drifted without anything in the reporting moving. The second is that one or two campaigns are producing nearly all the whole-home work while the rest of the budget produces single-unit inquiries at a similar cost per lead.

Neither is visible from an advertising account, because the advertising account cannot see the unit count or the invoice. Both are obvious the moment the installed work is ranked by the channel that produced the household.

The practical response is usually not to cut the weaker campaigns but to bid them differently and to stop judging the whole account against one blended cost per lead that was never describing more than half of it.

Why it matters

What changes when you can prove it.

You stop defending the budget and start growing it

"We generated 400 leads" invites an argument. "This channel closed $186,400 last quarter, here is the reconciliation" ends one. The teams that can show closed revenue by channel are the teams that get the next increase approved, because they are asking with evidence rather than with conviction.

You can cut the wrong channel without a fight

Killing spend is politically harder than adding it, because someone always owns the channel being cut. A number that reconciles to the sales export takes the argument out of the room — you are not overruling a colleague's judgment, you are reading the same ledger they are.

Your reporting survives the finance review

Platform-reported conversions do not reconcile to revenue, and eventually someone in finance notices. Reporting built from your own closed-sales export starts from the number finance already trusts, which is why it holds up when it is checked.

You answer in an afternoon, not a quarter

Because this reconciles exports rather than tracking visitors, it works on months that have already closed. You are not instrumenting now to learn something in ninety days — you can answer for last quarter today, which is usually when the question is being asked.

Honest answers

The pushback we hear from Windows & Doors.

They say

Our appointments are set by a call center.

We say

Then the call center's list is your lead file, and the report shows which upstream channel produced appointments that closed.

They say

We do a lot of canvassing.

We say

Upload the canvassing list and it attributes like any other channel rather than disappearing into Direct / Unknown.

They say

Financing approval affects whether a job proceeds.

We say

Export installed jobs only and the report reflects what actually happened rather than what was signed.

Pricing

Flat monthly pricing. No per-call fees.

The price here is the price on the invoice, plus any sales tax that applies — no per-call, per-minute or per-form fees. Growth usually fits replacement window and door companies — thirteen months of history to compare a month to the same month last year, and a PDF you can put in front of whoever holds the budget.

Questions

Questions we get about Windows & Doors.

Anything else? Talk to us — a person answers, usually the same day.

Installed jobs: a homeowner contact email or phone, the job value, and the installation date.

Start today

Stop guessing which ads pay off.

Upload two exports and see your real revenue by channel in minutes. 14 days free, no card.