Offline conversions are sales or actions that happen outside your website: phone orders, in-store purchases, booked appointments, closed deals from your CRM. By default, Meta (Facebook) has no idea these happen. When you send this data back to Meta, its algorithm learns which ad clicks lead to real revenue, not just form fills. The result: Meta starts finding people who actually buy, not just people who click.Documentation Index
Fetch the complete documentation index at: https://adadvisor.ai/docs/llms.txt
Use this file to discover all available pages before exploring further.
Why do offline conversions matter?
Most businesses lose money on ads because Meta only sees part of the picture. If someone clicks your ad, calls your store, and places a $5,000 order over the phone, Meta thinks that click led to nothing. It treats that ad the same as one that generated zero revenue. When you feed offline sales data back to Meta, three things happen:| What changes | Why it matters |
|---|---|
| Meta sees your real revenue | The algorithm stops optimizing for cheap clicks and starts finding people who actually spend money. |
| Your reported ROAS becomes accurate | Without offline data, your ROAS looks worse than it actually is. You might be killing profitable campaigns because Meta can’t see the phone sales they drove. |
| Lead quality improves over time | Meta learns the difference between a junk lead and a lead that turns into a $10,000 sale. It starts sending you more of the latter. |
How do offline conversions work?
The basic idea is simple: something happens offline (a phone sale, an appointment, a closed deal), and you send that event to Meta through the Conversions API. You include customer details like email and phone number so Meta can match the sale back to the person who clicked your ad. Here’s the flow:| Step | What happens |
|---|---|
| 1. Ad click | Someone sees your ad on Facebook or Instagram and clicks it. |
| 2. Initial contact | They visit your website, fill out a form, or call your business. |
| 3. Offline action | Days or weeks later, they buy over the phone, visit your store, or close a deal through your sales team. |
| 4. You send the event | You upload the sale to Meta through the Conversions API with customer details (email, phone, name, sale amount). |
| 5. Meta matches it | Meta matches the customer info to the person who clicked your ad and credits that ad with the sale. |
| 6. Algorithm learns | Meta’s algorithm now knows that type of person, from that type of ad, leads to real revenue. It finds more people like them. |
Offline conversions in plain English
Imagine you hire a marketing agency and tell them to bring customers to your store. Every week they send people through your door. Some browse and leave. Some buy $50 worth of stuff. Some buy $5,000 worth of stuff. But you never tell the agency which visitors actually bought, or how much they spent. So the agency keeps sending the same mix of browsers and buyers because they have no idea what’s working. Offline conversion tracking is like calling the agency after every sale and saying “That person you sent on Tuesday? They just bought $5,000 worth of product.” Now the agency knows exactly which of their efforts drive real revenue, and they start sending you more people like your best buyers. That’s exactly what happens when you send offline sales data to Meta. You’re closing the feedback loop so the algorithm can do its job.What you need to set up offline conversions
Before diving into the setup steps, here’s what you’ll need:| Requirement | Details |
|---|---|
| Meta Business Manager | Admin access to your business account. |
| A Dataset (Pixel) | You can use your existing Meta Pixel dataset. You do not need to create a separate offline dataset. |
| Conversions API access | A system user access token with ads_management and business_management permissions. |
| Customer data from your sales | At minimum: email address or phone number of the buyer, plus the sale amount and date. The more data you can provide (name, city, zip code), the better Meta can match the sale to the right person. |
| A way to send the data | An automation tool (like Make.com or Zapier), a CRM with a native Meta integration (like HubSpot), or a developer who can send API calls from your backend. |
How to set up offline conversion tracking
Enable Auto-Tracking on your Dataset
Enable extended attribution and historical uploads
Choose how you'll send the data
Format your customer data correctly
14155551234, not +1 (415) 555-1234). Names must be lowercase. Getting the format wrong means Meta can’t match the sale to a person, and your data is wasted.Capture the Facebook Click ID (fbclid)
fbclid. You need to capture this value and store it in your CRM or lead tracking system alongside the lead’s contact info. When you later send the offline sale to Meta, including the fbclid dramatically improves match accuracy. Without it, Meta relies only on email and phone matching, which is less reliable.Send your first events and verify
action_source to physical_store for phone and in-store sales. Include the event name (typically Purchase or Lead), the sale value, currency, and as much customer data as possible. Then check Events Manager. Offline events do not appear in the Test Events tab like website events do. Instead, check the Dataset Overview tab after a few hours. You should see events appearing with an “Offline data quality” indicator.Automate and monitor
physical_store as the action source), but the sooner you upload, the faster the algorithm learns. Monitor your Event Match Quality score in Events Manager weekly and aim for a score above 6.0.Common offline conversion mistakes
Not enabling Auto-Tracking before launching campaigns
Not enabling Auto-Tracking before launching campaigns
Only sending email or phone, not both
Only sending email or phone, not both
Not capturing the Facebook Click ID (fbclid)
Not capturing the Facebook Click ID (fbclid)
Formatting phone numbers incorrectly
Formatting phone numbers incorrectly
(415) 555-1234 or +14155551234 will fail to match. It must be 14155551234. Since the data is hashed before sending, Meta cannot fix formatting issues on their end. One wrong character means the hash is completely different and the match fails silently.Waiting too long to upload events
Waiting too long to upload events
physical_store events), but optimization quality drops significantly when data arrives late. The algorithm works best with near-real-time data. If you batch uploads once a month, you’re losing weeks of optimization potential. Aim for daily uploads at minimum, real-time if possible.Optimizing for leads when you should optimize for purchases
Optimizing for leads when you should optimize for purchases
Which data should you send?
Not all data is equally important. Here’s what to prioritize:| Priority | Data | Why it matters |
|---|---|---|
| Must have | Email address | Highest-impact matching parameter. Improves Event Match Quality by up to 4 points. |
| Must have | Phone number | Second most impactful parameter. Adds roughly 3 points to match quality. |
| Must have | Event value and currency | Without a dollar amount, Meta can’t optimize for revenue. A $500 sale and a $5,000 sale look the same. |
| Highly recommended | Facebook Click ID (fbclid) | Directly connects the sale to the ad click. The single strongest attribution signal. |
| Recommended | First name and last name | Additional matching signals. Must be lowercase before hashing. |
| Recommended | City, state, zip code | Helps Meta confirm matches, especially when email or phone alone isn’t enough. |
| Nice to have | Order ID | Prevents the same sale from being counted twice if you accidentally upload it more than once. |
How offline conversions relate to other metrics
| Metric | Relationship |
|---|---|
| ROAS | Without offline data, your ROAS only reflects online revenue. Adding offline sales shows your true return on ad spend, which is almost always higher. |
| CPA | Offline conversions increase your total conversion count from the same spend, which lowers your real CPA. A campaign that looks expensive might actually be your cheapest source of paying customers. |
| Conversions | Offline events add to your total conversion count, giving Meta more data to optimize against. More conversions means faster learning and better targeting. |
| Conversions API | CAPI is the mechanism you use to send offline events to Meta. All offline conversion tracking flows through it. |
| Attribution Window | Offline sales often happen days or weeks after the ad click. Extended attribution (up to 90 days) ensures these late conversions still get credited to the right ad. |
| Custom Audiences | Offline purchasers can be used to build custom audiences and lookalike audiences, helping Meta find more people like your real-world buyers. |
How offline conversions change your reporting
Once offline conversions are flowing, you can see their impact in Facebook Ads Manager. Here’s what changes:| Metric | Without offline data | With offline data |
|---|---|---|
| Conversions | Only shows website actions (form fills, clicks) | Shows website actions plus phone sales, in-store purchases, closed deals |
| ROAS | Based only on online revenue | Reflects your true return including offline revenue |
| CPA | Cost per online lead or purchase | Cost per actual customer including those who bought offline |
| Optimization quality | Meta targets people likely to fill out forms | Meta targets people likely to actually buy |
