Back to resources

Marketing & Measurement · 5 min

Meta Offline Conversions: Measure Sales, Not Just Leads

, Founder, Evolve StrategistsPublished

A cheap lead is only useful if it has a reasonable chance of becoming a customer. When sales happen by phone, in person or after several follow-ups, the ad platform may see the form submission but miss the outcome.

Sending those outcomes back from your CRM changes the information available for campaign decisions. It's the approach we use to connect CRM sales records with Meta advertising. This guide covers why that matters, how the connection works in principle and how to keep the data trustworthy.

Why Cost Per Lead Can Point You the Wrong Way

Cost per lead is easy to see in the ads manager, so it often drives decisions. It can mislead when lead quality differs between campaigns.

Illustrative comparison: same spend, different outcomes
CampaignSpendValid leadsPaid salesCost per leadMedia cost per sale
AA$3,00030015A$10A$200
BA$3,00015030A$20A$100

Made-up figures to show the arithmetic. They are not Evolve client results.

Campaign A looks twice as efficient on cost per lead. Campaign B produces twice as many sales for the same spend. The comparison only holds if both groups of leads come from the same period and use the same attribution window, and you'd still need revenue per sale and gross margin before calling either campaign profitable.

Connect the Lead Record to the Eventual Sale

Closing the loop starts in your own systems:

Capture campaign and ad identifiers when the lead arrives, where they're available and appropriate to collect.
Record the lead source consistently, with a stable CRM identifier for each lead.
Update the record as real events happen: qualified, booked, paid and cancelled.

From there, use your CRM's currently supported Meta Conversions API integration for eligible CRM and offline events. Check current Meta documentation and your CRM's integration before following an older tracking walkthrough.

Conceptually, each event carries:

The event type, such as a qualified lead or a purchase
When it happened
Its value and currency, where relevant
The matching details you're permitted to share, prepared in the way the platform requires
A stable reference for the sale, so the same event isn't counted twice

Share the minimum needed. Never send sales notes or sensitive personal information as marketing data, and make sure your privacy policy and consent practices cover what you share.

Keep Reporting and Optimisation Separate

Two different questions often get mixed up:

Reporting: which ads get credit for sales?
Delivery optimisation: which event is the campaign set up, and eligible, to pursue?

Sending sales data doesn't by itself change what a campaign optimises for. Meta's lead generation guide describes connecting CRM data through the Conversions API alongside a conversion leads performance goal for suitable instant form campaigns. It's a 2023 overview rather than current setup instructions, and what's available for a particular campaign or account changes, so check before planning around it.

Be wary of simple claims in either direction. Lead campaigns don't necessarily chase the cheapest leads, and sending conversion data doesn't automatically teach the platform to find buyers just like yours.

Make the Sales Data Dependable

Campaign decisions are only as good as the events behind them. Check:

Precise definitions. Send a purchase only when a purchase has happened, using the same definition as your sales reporting.
Correct timestamps and currency. Use the time the event happened, and one consistent currency.
Duplicate protection. Retries and overlapping integrations can send the same sale twice. A stable event reference helps prevent double counting.
Received versus matched. An event the platform received isn't the same as a sale it matched to an ad. Review the diagnostics for gaps and delays.

Reconcile your CRM and accounting totals separately from the sales the platform attributes. Cancellations and refunds belong in your own net-sales reporting, whatever the platform shows.

Use a Scorecard the Sales Team Recognises

A shared scorecard keeps marketing and sales looking at the same numbers:

A marketing-to-sales scorecard
MeasureNotes
SpendAdvertising spend for the period
Valid leadsAfter spam, tests and duplicates are removed
Qualified leadsUsing the sales team's definition
Paid or net salesNet of cancellations and refunds
Media cost per saleAdvertising spend divided by the relevant sales
Revenue and contribution marginWith the included costs written down

Media cost per sale isn't the full cost of winning a customer. Full acquisition cost also includes defined sales, agency and system costs. Keep the two separate and label them clearly.

Compare mature cohorts, meaning groups of enquiries that have had time to buy, and use the same windows and attribution definitions each time. Campaigns can claim overlapping credit, and the return on ad spend a platform reports isn't profit, or proof that the ads caused the sales.

Change Decisions, Then Measure the Effect

Once the sales data is reliable, use it to guide budgets, creative, targeting and which leads the sales team should prioritise. Check the volumes before making big changes; a handful of sales is too few to judge a campaign.

Improvements after a change can have other causes: sales training, seasonality, a new offer, a different attribution setting or a change in cancellations. Where it's feasible, a controlled test or holdout gives a better read on what the ads actually added.

Start with one sales event and one reliable data flow. Check it against your own records before expanding. Most of the work is coordinating marketing and the CRM, not buying another tracking tool.