Skip to main content
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.

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 changesWhy it matters
Meta sees your real revenueThe algorithm stops optimizing for cheap clicks and starts finding people who actually spend money.
Your reported ROAS becomes accurateWithout 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 timeMeta 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.

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:
StepWhat happens
1. Ad clickSomeone sees your ad on Facebook or Instagram and clicks it.
2. Initial contactThey visit your website, fill out a form, or call your business.
3. Offline actionDays or weeks later, they buy over the phone, visit your store, or close a deal through your sales team.
4. You send the eventYou upload the sale to Meta through the Conversions API with customer details (email, phone, name, sale amount).
5. Meta matches itMeta matches the customer info to the person who clicked your ad and credits that ad with the sale.
6. Algorithm learnsMeta’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.

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:
RequirementDetails
Meta Business ManagerAdmin 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 accessA system user access token with ads_management and business_management permissions.
Customer data from your salesAt 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 dataAn 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

1

Enable Auto-Tracking on your Dataset

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.

Common offline conversion mistakes

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.
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.
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.
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.
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.
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.

Which data should you send?

Not all data is equally important. Here’s what to prioritize:
PriorityDataWhy it matters
Must haveEmail addressHighest-impact matching parameter. Improves Event Match Quality by up to 4 points.
Must havePhone numberSecond most impactful parameter. Adds roughly 3 points to match quality.
Must haveEvent value and currencyWithout a dollar amount, Meta can’t optimize for revenue. A $500 sale and a $5,000 sale look the same.
Highly recommendedFacebook Click ID (fbclid)Directly connects the sale to the ad click. The single strongest attribution signal.
RecommendedFirst name and last nameAdditional matching signals. Must be lowercase before hashing.
RecommendedCity, state, zip codeHelps Meta confirm matches, especially when email or phone alone isn’t enough.
Nice to haveOrder IDPrevents the same sale from being counted twice if you accidentally upload it more than once.

How offline conversions relate to other metrics

MetricRelationship
ROASWithout offline data, your ROAS only reflects online revenue. Adding offline sales shows your true return on ad spend, which is almost always higher.
CPAOffline 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.
ConversionsOffline events add to your total conversion count, giving Meta more data to optimize against. More conversions means faster learning and better targeting.
Conversions APICAPI is the mechanism you use to send offline events to Meta. All offline conversion tracking flows through it.
Attribution WindowOffline 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 AudiencesOffline 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:
MetricWithout offline dataWith offline data
ConversionsOnly shows website actions (form fills, clicks)Shows website actions plus phone sales, in-store purchases, closed deals
ROASBased only on online revenueReflects your true return including offline revenue
CPACost per online lead or purchaseCost per actual customer including those who bought offline
Optimization qualityMeta targets people likely to fill out formsMeta targets people likely to actually buy

See how your ads drive real-world results

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.

Conversions API

The server-side API that powers offline tracking

Conversions

All the actions people take after seeing your ads

Attribution Window

How long Meta credits ads for driving conversions
Last modified on March 21, 2026