Most marketing reports count the wrong things very precisely. Leads are easy to count, so they get counted. Platforms report conversions, so those go in the deck too. Neither tells a board whether marketing produced revenue at a margin worth paying for.
This article sets out how to connect marketing activity to booked revenue, and what a monthly report built on that connection looks like.
Why lead counts and platform conversions mislead
Booked revenue reporting means measuring marketing by the confirmed sales or bookings it produces, attributed to the source of each original enquiry, rather than by leads, clicks or platform-reported conversions. It links every enquiry to its outcome in the CRM, so cost and return can be compared by channel, campaign and service.
Leads are not equal
A lead is anyone who fills in a form or calls. That includes spam, duplicates, existing customers, job seekers and people outside your service area. A channel that produces 200 cheap leads can produce fewer customers than one that produces 90 expensive ones. Optimise for cost per lead and you buy more of the cheap ones.
Platforms mark their own homework
Each ad platform credits conversions to its own ads, using its own rules. In Google Ads, the conversion window sets how long after an ad interaction a conversion is still recorded: it defaults to 30 days for Search and Display, and can be set anywhere from 1 to 90 days. When two platforms both touched a customer, both can claim the same booking. Add the platform totals together and you can end up with more conversions than your CRM recorded.
Bidding follows what you count
Automated bidding learns from the conversions you report. If a form fill is the conversion, the platform looks for more people who fill in forms. If a booked job is the conversion, it has a reason to look for people who book.
Define the chain from enquiry to revenue
Before any tracking work, agree what each stage means. Write the definitions down and build them into the CRM so sales, front desk and marketing use the same ones.
| Stage | Example definition | Owner | Record |
|---|---|---|---|
| Enquiry | Any form, call, chat or email from a potential customer, before checks | Marketing | Created date, source |
| Qualified | A real person, in your service area, wanting a service you offer | Sales or front desk | Qualified date |
| Opportunity | Quote, proposal or consultation offered | Sales | Quote date and value |
| Booked | Customer has accepted, paid a deposit or booked an appointment | Sales | Booked date and value |
| Delivered | Work completed or product shipped, final value confirmed | Operations | Completed date, final value |
| Lost | Closed without booking | Sales | Lost date and reason |
Two rules make this work. Every record carries the date it entered each stage, so you can measure speed as well as volume. And lost reasons come from a short fixed list (price, timing, no response, not a fit, chose a competitor), never free text.
Step 1: Capture the source of every enquiry
Web forms
- Use consistent UTM parameters on every paid, email and social link, with a written naming convention.
- Store click identifiers. Google's offline conversion import matches on the Google Click ID (GCLID). Google's setup guide requires auto-tagging, plus a hidden form field that passes the GCLID into the CRM with the lead.
- Write the original source, medium and campaign to contact fields that are never overwritten. Store the most recent source separately.
- Ask "How did you hear about us?" as a cross-check, not as the primary source.
Phone calls
If your customers phone more than they fill in forms, untracked calls will distort every channel comparison. Google Ads can track calls from ads, and calls to a Google forwarding number shown on your website after an ad click, counting those that last at least a minimum length you set. Google lists Australia among the countries where forwarding numbers are available. Whatever you use, log every call against a CRM record with its source and outcome.
Everything else
Chat, email, walk-ins and referrals need a source too, even if it's a pick-list chosen by the person taking the enquiry. An enquiry with no source is a hole in every report that follows.
Step 2: Send booked outcomes back to the ad platforms
Once the CRM knows which enquiries became customers, give that information back to the platforms, so their reporting and bidding reflect real outcomes rather than form fills.
Google Ads
- Offline conversion import uploads conversions that happen after the click. Google's FAQ says conversions with a GCLID can be uploaded up to 90 days after the click, which is as long as Google keeps the GCLID, and recommends a separate conversion action for each funnel stage.
- Enhanced conversions for leads is Google's upgraded version of offline conversion import. The Google tag captures hashed user-provided data, such as the email address or phone number from your lead form. When the lead converts, you upload the hashed details from your CRM, with GCLIDs where you have them, and Google matches them to attribute the conversion to your ads. Google recommends it for new setups.
- Uploads run through Google Ads Data Manager or the API. Google's documentation says offline conversion imports and enhanced conversions for leads uploads move to the Data Manager API from 15 June 2026, so check that any older integration has been updated.
- Housekeeping: Google's guidance for Smart Bidding is to upload daily. You also need to opt in to enhanced conversions for leads and accept its terms.
Meta
- Conversions API for CRM integration sends CRM stage events back to Meta. Meta says its Conversion Leads optimisation goal currently works only with Lead Ads instant forms, and recommends sending the Meta lead ID with each event.
- Meta asks for uploads at least once a day. It says the stage you optimise for should happen within 28 days of the lead being created, with a conversion rate between 1% and 40%.
- For offline sales that didn't start in a lead form, Meta's documentation covers sending offline events through the Conversions API, with customer details such as email and phone hashed before they are sent.
A privacy check
Uploading customer data, even hashed, is a use of personal information. Make sure your privacy policy and collection notices cover it, and send only the fields the platform needs. We check setups against the platforms' rules, but we aren't lawyers, so take advice where you need it.
Step 3: Measure contribution, not just revenue
Revenue tells you what came in. Contribution tells you what was left after the costs of delivering the work and winning it.
Contribution after marketing = booked revenue − variable delivery costs − marketing cost
Variable delivery costs include materials, direct labour, merchant fees and discounts. If you can't get an exact figure per job, agree a margin by service line with your finance team and refine it later.
Worked example: two channels
All inputs are assumptions for one month. Everything else is calculated from them.
| Metric | Channel A: social lead forms | Channel B: search ads |
|---|---|---|
| Spend (assumption) | $6,000 | $9,000 |
| Leads (assumption) | 200 | 90 |
| Cost per lead | $30 | $100 |
| Enquiry-to-booking rate (assumption) | 8% | 30% |
| Bookings | 16 | 27 |
| Cost per booked customer | $375 | $333 |
| Average booked value (assumption) | $3,000 | $3,600 |
| Booked revenue | $48,000 | $97,200 |
| Contribution before marketing at 45% (assumption) | $21,600 | $43,740 |
| Contribution after marketing | $15,600 | $34,740 |
| Contribution per $1 of spend | $2.60 | $3.86 |
On cost per lead, Channel A looks more than three times better. On contribution, Channel B returns $1.26 more for every dollar spent. A lead report would have moved budget the wrong way. The e-commerce margin reporting example applies the same logic to an online retailer, where discounts and returns change the picture again.
The minimal metric set for the board
A board doesn't need forty metrics. It needs a handful that connect spend to outcome, each with a definition that doesn't change from month to month.
| Metric | Definition | Why it matters |
|---|---|---|
| Marketing-sourced booked revenue | Booked value from enquiries with a marketing source, net of cancellations | The headline outcome |
| Contribution after marketing | Booked revenue less variable delivery costs and marketing cost | Shows whether growth is profitable |
| Cost per booked customer | Marketing cost ÷ new bookings | Replaces cost per lead |
| Enquiry-to-booking rate | Bookings ÷ qualified enquiries, by channel | Lead quality and sales follow-up |
| Speed to first response | Median time from enquiry to first human contact | A lever you fully control |
| Pipeline created | Value of quotes or opportunities opened this month | Leading indicator for next month |
| Payback period | Months of contribution needed to recover the cost of acquiring a customer | Matters where customers buy again |
A monthly reporting template
One page, in the same order every month:
- Headline: booked revenue, contribution after marketing and cost per booked customer, against last month, the same month last year and target.
- By channel: spend, qualified enquiries, bookings, booked revenue and contribution for each channel, in one table.
- Funnel health: enquiry-to-qualified and qualified-to-booked rates, speed to first response, and the top three lost reasons.
- Pipeline: opportunities created, and the value expected to book next month.
- Data quality: share of enquiries with a known source, share of calls logged, and any tracking faults found.
- Decisions: what changed last month, what happened, and the two or three changes proposed for next month.
The data-quality line is not optional. If a third of enquiries have no source, every channel figure above it is understated, and the board should know that before it reallocates budget.
A reporting dashboard can assemble this automatically from the CRM, ad platforms and accounting system. A spreadsheet updated monthly is a perfectly good place to start.
Where to start
- Agree stage definitions and lost reasons with sales, front desk and marketing.
- Fix source capture on forms, then on calls.
- Add stage dates and booked values in the CRM, using system integrations wherever data is currently re-keyed.
- Set up offline conversion imports for Google Ads and Meta.
- Run the one-page report for three months before moving budget on it.
The dental group enquiry-to-booking example shows how this works when enquiries leak between ads, website, phones and a practice system. We set up this tracking and reporting as part of paid media and broader growth and marketing work, and a Diagnostic will show where your data breaks today.