Paid media → CRM → revenue
Closed-Loop Attribution, Four Home Service Brands
Trailing twelve months. Every figure below is traced from an ad click through to a sold job in the CRM — not to a form fill.
Sold revenue is booked jobs that closed and invoiced in the CRM. CAC is media spend divided by sold customers — not by leads.
Ad spend to sold revenue
Where the money and the people actually go. The step rates between stages are where the argument lives.
Google vs Meta
The comparison that only exists once the CRM is connected.
| Metric | Meta | Gap |
|---|
Sold revenue by month
Attributed to the ad click that produced the job, at the month the job was sold.
Blended customer acquisition cost
Media spend per sold customer, all brands in view.
By brand
Qualified means a real job opportunity in the service area, not a wrong number or a solicitation.
| Brand | Spend | Leads | Qual. | Booked | Sold | Revenue | CPL | CAC | ROAS |
|---|
How the attribution is wired
The dashboard is the easy half. This is the half that makes the numbers true.
- Capture. GCLID and fbclid are written to a first-party cookie on landing and pushed into every form submission as hidden fields. Calls get a tracking number with dynamic number insertion, so the call record carries the same click identity. Calls still ring through to the office line.
- Lead record. Call and form leads land in one lead table with click ID, campaign, keyword or ad set, landing page and timestamp — before any human touches them.
- CRM join. When the CSR creates the customer in the CRM, the lead’s click ID rides along on the customer record. That single field is what makes everything downstream possible; if it is not written at creation, the join is guesswork forever.
- Outcome states. Qualified, booked, completed and invoiced come back from the CRM on a schedule, keyed to that same record. Revenue is invoiced revenue, not estimated ticket.
- Feedback loop. Sold jobs go back to Google Ads as offline conversion imports and to Meta as CAPI events with the original click ID and the real job value — so bidding optimizes toward sold jobs instead of toward form fills.
- Reconciliation. A weekly unmatched report: leads with no CRM record, CRM jobs with no lead source, click IDs that arrived past the attribution window. The match rate is reported alongside the numbers, because a dashboard that hides its own coverage is not evidence.
Synthetic demonstration data, generated deterministically in the page. The structure and the technical method are real; the companies, jobs and dollars are not. Built by Joe Smith, JJSmith Group — Bardstown, Kentucky.