offline conversions • crm
Offline Conversions for Meta: Send Sales from Your CRM
To send offline conversions to Meta, your CRM sends a Purchase (or won-stage) event through the Conversions API when a lead pays, with the sale value, currency and the customer details Meta needs to match it to the original ad click. The event must be sent within 7 days of the sale, so set it to fire automatically when a deal is marked won rather than uploading a list at the end of the month.
01 • why bother
Why send offline sales to Meta at all?
An offline conversion is a sale that happens away from your website: on the phone, at an inspection, at the front desk, by invoice. For most service businesses, that is every sale. If Meta never hears about them, its reports and optimisation stop at the form fill.
Meta's Conversions API best-practices page notes that the Conversions API can share offline events as well as website ones. That is the route for these sales.
02 • the event
What should a CRM purchase event contain?
| Field | What it is | Why it matters |
|---|---|---|
| event_name | Purchase, or your won-stage name | Tells Meta what happened |
| event_time | When the sale happened | Must be within 7 days of sending |
| value + currency | The sale amount, e.g. 8500 USD | Meta's Pixel reference requires both for Purchase |
| action_source | Where it happened, e.g. physical_store, phone_call, system_generated | Meta lists these values in its server event docs |
| Customer details | Hashed email, phone, name; Meta lead ID or external ID | Lets Meta match the sale to the person |
| event_id | A unique ID for this sale | Prevents double counting if sent twice |
Hashed means scrambled with a one-way code before sending, as Meta requires for personal details. Meta's Business SDK does this automatically; custom code must do it itself.
03 • the flow
How does a sale travel from my CRM to Meta?
Event flow • offline sale
- 01
Ad lead
Saved with lead ID, email, phone.
- 02
Sales process
Calls, visits, quotes.
- 03
Marked won
Value entered in the CRM.
- 04
Conversions API
Purchase sent within minutes.
- 05
Meta
Matches it to the original lead.
- 1Make sure every ad lead keeps its Meta lead ID (for instant forms) and email and phone.
- 2Add a value field to the won stage and make it required.
- 3Trigger the Purchase event automatically when a deal is marked won.
- 4Test with a fake deal and check it in Events Manager, then delete the test deal.
04 • the 7-day rule
What if the sale happens long after the ad click?
That is fine. The 7-day limit in Meta's server event documentation is about the gap between the sale and when you send it, not between the click and the sale. A pool contract signed two months after the enquiry can be sent, as long as you send it within 7 days of signing.
What changes with long gaps is how Meta credits the sale in Ads Manager, which uses attribution windows much shorter than many service sales. Keep your own CRM report by lead source for the full picture.
05 • labelling the sale
Which action_source should a CRM sale use, and what about refunds?
Every Conversions API event has an action_source saying where the conversion happened. Meta's server event documentation lists values including website, phone_call, physical_store, system_generated, email, chat and other. Choose the one that honestly describes the sale.
| Where the sale happened | action_source |
|---|---|
| Agreed and paid on a phone call | phone_call |
| Paid at your premises or front desk | physical_store |
| Paid online through your website checkout | website |
| Triggered automatically by a system, such as a renewal | system_generated |
| None of the above | other |
Refunds and cancellations are a separate question. Many businesses simply avoid sending a Purchase until the sale is final, for example when the deposit clears or the cancellation period ends. That keeps the data clean without needing to correct it later.
06 • choosing values
What value should I send with a sale?
Meta's Purchase event requires a value and a currency. For lead-gen businesses the right value is not always obvious, because a job may be paid in stages or a membership may run for months.
| Business | A sensible, consistent value |
|---|---|
| Roofing or remodeling | The signed contract value |
| HVAC replacement | The sold system price |
| Pool builder | The deposit when paid, then the contract value as a separate won stage |
| Gym | The first payment or first-term value |
| Coach | The programme price paid |
| Wedding venue | The deposit, or the contract value when signed |
The most important rule is consistency. Pick a rule, write it down, and use it every time, so that one month can be compared with the next.
07 • key terms
Which terms do I need to know?
Short, plain definitions of the terms used on this page.
| Term | What it means |
|---|---|
| Offline conversion | A sale that happens away from your website, such as by phone or in person |
| Conversions API (CAPI) | Meta's way for your server or CRM to send events directly to Meta |
| action_source | The field that says where a conversion happened, such as website or phone_call |
| Hashing | Scrambling details like email with a one-way code before sending them |
| Meta lead ID | The 15–17 digit ID Meta gives each instant-form lead |
| Attribution window | The period after a click in which Ads Manager credits a result to an ad |
08 • avoid these
What mistakes stop offline sales from matching?
- Uploading a spreadsheet once a month, so most sales are older than 7 days.
- Phone numbers without country codes, or emails with spaces and capitals, which match poorly.
- Sales from referrals and repeat customers sent as if they came from ads.
- No value on the event, so Meta cannot weigh big sales above small ones.
More on matching in improve Meta Event Match Quality.
Want to check whether your sales could reach Meta today? Ask for the free tracking check.
Free tracking checksee what meta actually receives
Free tracking check
I review which events your Meta ads actually receive and what is missing, then send you a short written summary. No calls required, and no promise of results: just a clear picture of your tracking.
questions
Frequently asked questions
01. What is an offline conversion?
+
A sale or result that happens away from your website, such as by phone, in person or by invoice.
02. How old can an offline event be?
+
Meta's server event documentation says event_time can be at most 7 days before you send it.
03. Do I need the Meta lead ID?
+
It is the best match for instant-form leads. Otherwise send hashed email and phone and an external ID.
04. Can I send the sale value?
+
Yes, and you should. Meta's Purchase event requires a value and currency.
Sources
Checked on 21 October 2026. Pages change, so read the current version before you act.
- 1.Meta for Developers: Conversions API server event parameters (event_time, action_source)
- 2.Meta for Developers: Meta Pixel reference (standard events)
- 3.Meta for Developers: Conversions API best practices (Event Match Quality, redundant setup)
- 4.Meta for Developers: Conversions API for CRM integration (Conversion Leads)
Read next
PrimeBuild is not affiliated with any company, platform or website named on this page. Names and links are given only so you can check them yourself.