What Are Offline Conversions? Track Phone Sales & In-Store Purchases
Offline conversions let you tell Meta (Facebook) about sales that happen off your website, like phone orders and in-store purchases. Learn how to set them up and why they matter.
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.
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.
If your business takes sales over the phone, through a CRM, or in a physical store, you are almost certainly underreporting your ad performance. Every sale Meta doesn’t know about is a missed signal that would have helped the algorithm find more buyers like that one.
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.
The old “Offline Conversions API” was discontinued in May 2025. All offline conversion tracking now goes through the standard Conversions API. There is no separate system anymore. Online and offline events flow through the same API.
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.
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.
Go to Meta Events Manager, select your Dataset (Pixel), click Settings, and scroll down to enable Auto-Tracking. This connects offline conversion data to your ad campaigns. Without this, your offline events may not show up in your campaign reporting. After enabling Auto-Tracking, you may need to duplicate your existing ad campaigns for the offline data to start flowing to them.
2
Enable extended attribution and historical uploads
While still in your Dataset settings, turn on Extend attribution uploads and Allow historical conversion uploads. Extended attribution lets Meta credit ads for conversions up to 90 days after someone saw your ad, which is essential for long sales cycles like phone consultations, real estate, solar, and B2B deals. Historical uploads let you send sales data up to 90 days after the sale happened, giving you a buffer if your data isn’t uploaded daily.
3
Choose how you'll send the data
You have three main options. Automation tools like Make.com are the easiest for non-technical users. Make.com has a native Meta Conversions API module that handles formatting and hashing automatically. CRM integrations like HubSpot’s native CAPI connector sync lifecycle events directly. Direct API integration gives maximum control but requires a developer. For most businesses tracking phone sales, an automation tool is the fastest path.
4
Format your customer data correctly
Meta needs customer information hashed with SHA256 before you send it (most automation tools handle this automatically). Key formatting rules: email addresses must be lowercase with no extra spaces before hashing. Phone numbers must be in E.164 format without the plus sign (e.g., 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.
5
Capture the Facebook Click ID (fbclid)
This is the most important and most overlooked step. When someone clicks your Meta ad, the URL contains a parameter called 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.
6
Send your first events and verify
Start by manually sending a few test events through your chosen tool. Set the 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.
7
Automate and monitor
Once you’ve confirmed events are flowing, set up automated uploads. Ideally, send events daily or in real-time for the best optimization. Meta accepts offline events up to 7 days after they happen (or 62 days when using 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.
Not enabling Auto-Tracking before launching campaigns
This is the number one reason offline conversions don’t show up in your ad reports. Auto-Tracking must be enabled in your Dataset settings before your campaigns can receive offline conversion data. If you enable it after your campaigns are already running, you may need to duplicate those campaigns for the data to start flowing. It’s a small setting buried in Events Manager that causes enormous headaches when missed.
Only sending email or phone, not both
The more customer data you send, the higher the chance Meta can match the sale to the right person. Sending just an email gives Meta one shot at matching. Sending email, phone, first name, last name, city, and zip gives Meta six matching signals. In practice, sending both email and phone together typically pushes your Event Match Quality from average to good.
Not capturing the Facebook Click ID (fbclid)
The fbclid is the strongest signal for matching an offline sale back to a specific ad click. If you don’t capture it when the lead first arrives on your site and store it with their contact record, you lose the ability to directly connect the sale to the ad. This is especially important for businesses with long sales cycles where weeks may pass between the ad click and the actual purchase.
Formatting phone numbers incorrectly
Meta requires phone numbers in E.164 international format without the plus sign before hashing. A phone number formatted as (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
Meta accepts offline events up to 62 days after they occur (for 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
If you’re tracking both online leads and offline sales, consider using the Purchase event for your offline conversions even if the actual event is a closed deal or booked appointment. The Purchase event unlocks “Maximize conversion value” bidding, which tells Meta to find people who generate the most revenue, not just the most conversions. With other event types, you’re limited to “Maximize number of conversions,” which treats a $100 sale the same as a $10,000 sale.
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.
Offline events add to your total conversion count, giving Meta more data to optimize against. More conversions means faster learning and better targeting.
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.
AdAdvisor pulls your conversion data from Meta and shows it alongside CPA, ROAS, and CTR for every campaign. When your offline conversion tracking is set up correctly, you’ll see your true ad performance reflected in your dashboard, including the phone sales and offline revenue that most advertisers miss entirely.
Try AdAdvisor Free
Connect your Meta account and see your real ROAS including offline conversions.
Connect Meta Ads
Link your Meta ad account to AdAdvisor in under 2 minutes.