single php
cdp menu

Facebook Offline Conversions API: The Complete Guide



The new trend of “research online, buy offline” is driving marketers crazy, as they are finding it tricky to attribute offline purchases. 

While consumers enjoy this sophistication, marketers are confused with inaccurate insights brought about by the huge gap in customer journeys and end up making wrong or bad decisions due to the lack of offline conversion data. 

Now, this is a real problem because without both online and offline data the ad campaign performance tapers off. 

To crack this problem of missed offline conversion data, Meta has launched Facebook Offline Conversions API or Meta Offline Conversions API. It’s an awesome feature that helps marketers track offline conversions inside Meta ads so that they can have a full picture of the customer journey.

Let me walk you through the nitty-gritty of Facebook Offline Conversions API, why it is a must-have, how to set it up, and the best practices to stick with.

What are offline conversions?

Every conversion such as a purchase, or a valuable action for your business that happens off the web (in the real world) is called an offline conversion.

When marketers make efforts online to drive conversion, the purchase or desired action can occur offline. For instance, if a person sees an ad for an iPhone 14 on Facebook, goes to the Apple store in person, and buys the phone in the store, then it is an offline conversion triggered by the Meta ad.

Facebook Offline Conversions API

The Facebook Offline Conversions API is a feature provided by Facebook that allows businesses to match their customer transaction data from other sources (such as in-store purchases, call center sales, or subscriptions) with Facebook advertising data.

This API helps businesses better understand the effectiveness of their Facebook ads in driving real-world customer actions and sales that may not be directly trackable through online conversions. 

Here’s how it works

Meta has given a 90-day window for advertisers to send offline conversion events to Meta through offline CAPI.

Let me break down the process for you with an example.

Let’s say on January 1 a user clicks on a Facebook ad of a product but doesn’t make a purchase. On January 10th, the user buys the same product in-store.

The purchase made from January 1 to January 28 falls within the 28-day attribution window. So the purchase made by the user on January 10 can be attributed to the ad they clicked on January 1st if sent to Meta on time. 

Now the offline purchase data must be uploaded after 62 days from the date of purchase otherwise, it will not be considered for attribution. So marketers should upload the offline purchase data to Meta by March 12th to make sure it is processed and considered for attribution.

Screenshot from Facebook official page illustrating how sending offline events to Meta through conversions API works.

Note: Generally, marketers do not have the data as to when a particular user clicked on your ad. Therefore, as a recommended practice, it is better to send the offline data in almost real-time to Meta Ads.

Need for Meta offline conversion tracking

Is offline conversion tracking necessary? Why should you even set up Meta Offline Conversions API?

Let me give you some strong reasons.

Get a complete picture of the customer journey

Offline conversion tracking helps you understand how your customer is interacting with your business in the real world. By tracking both the offline and online conversions, you get a complete picture of the customer journey.

Send the right signals and boost ad campaign performance

Tracking offline conversions lets you send the right signals to Meta ads conveying the importance of each offline conversion. 

With the right signals, Meta’s algorithm can understand what kind of users are resulting in conversions, and therefore optimize the ad campaigns for better performance.

Improve overall conversions

Let’s say you’re running an ad campaign for a clothing brand. Users who see the ad can make purchases on both offline and online platforms. 

Now, if you’re tracking only online conversions, how will you measure the true impact of the ad campaign? How will you measure ROAS (return of ad spend) accurately? 

To do all this, you have to set up offline conversion tracking and attribute your offline purchases accurately back to Meta ads.

Since you’re tracking and attributing both offline and online purchase data your overall conversion will improve. 

Setting up Offline Conversions API in Meta Ads

Whenever we talk about sending offline data to Meta ads, people think it’s just uploading offline event data, but that’s a myth. The reality is that you need to send the offline event data to Meta through Offline Conversions API continuously.

So, let’s see how to set up Meta Offline Conversions API

The hard way

Implementing Meta offline CAPI is a huge task. You’ll need a developer by your side all the time as it takes a lot of time and skill to code across all your website pages. 

On top of that Meta says that the Offline Conversions API will cease in the third quarter of 2024 so you must migrate to Conversions API to send offline event data to Meta Ads. This is again a headache if you have to depend on a developer for implementing CAPI. 

Here’s where an official Meta Conversions API partner helps you with easy no-code Conversions API setup.

The easy way – Set up Offline Conversions API through a CAPI partner

Using CustomerLabs 1PD OPs, you can set up Offline Conversions API in under 10 minutes. And, that’s an overstated duration given for configuring your CRM or other sources that collect your offline data as it will barely take 2 to 3 minutes to set up Meta Offline CAPI through CustomerLabs. 

If you have a Shopify store, you can set up Conversions API very easily, and if you also have an offline store, then you can simply connect your offline data, merge it with online customer data inside CustomerLabs, and send it to Meta. 

Take a peek at this short video to see how simple it is to set up Offline Conversions API using CustomerLabs 1PD OPs

If you wish to set up Meta Conversions API for both offline and online data, that can also be done in less than 10 minutes with CustomerLabs 1PD OPs. 

CTA showing "Set up Meta offline Conversions API with CustomerLabs in under 10 minutes"

Best practices

Here are some expert-picked practices to follow while sending data to Meta through Facebook Offline Conversions API. 

Send all the offline event data in almost near real-time

Facebook has a 90-day long window for sending offline conversion data, but we never know when the user saw or clicked on your ad. So, it is a best practice to send the offline event data as soon as the conversion happens which increases the chances of attribution.

Assign External ID

Always assign an external ID to every user who clicks on your ad and lands on your website, and send it to Meta through the browser pixel & Conversions API. Now, if the same user who clicked on your ad before makes a purchase in-store, the same external ID must be assigned to that particular user. 

When sending the offline event data to Meta Ads,  send this external ID as well to Meta. This external ID can now help Meta match and attribute the user to the ad that resulted in conversion.

Capture all the customer interaction

Customer data is spread across systems like websites, point of sale systems, subscription systems, and even in offline stores where the data gets saved in CRM. For Meta to get a complete picture of the customer journey you must merge all this data in a single point using CustomerLabs 1PD OPs and send it to Meta.

Add values to every offline conversion data you send

When you’re sending the conversion data, ensure that you’re sending the value of that particular conversion. This will help Meta understand who are high-value customers and low-value customers so that it can target the people who are more likely to convert with higher conversion values.

Go beyond optimizing campaigns based on purchase events

When it comes to sending offline conversion data to Meta, marketers just send all the purchase event data as a whole. Like if a business sells clothes such as Shirts, Skirts, and Kurtas, the marketers generally collect offline purchase data, irrespective of the category, and send it to Meta  Ads. Because of this Meta optimizes for purchases as a whole and it does not optimize for getting more purchases for a specific category.

For example, assume that the offline conversion data of different purchases are collectively sent to Meta which has high purchases of Skirts & Kurtas, but very low purchases of Shirts. Now, when you’re running an ad campaign for Shirts, it would not be efficient to optimize it with that offline purchase event as a whole. This is because there are more purchases of skirts & kurtas in that purchase data. 

To optimize the ad campaign group promoting shirts, you should send the offline purchase data for shirts as a separate event rather than optimizing for the generic “purchase” event. This way, you would be able to optimize the ad campaign for more purchases of shirts. Similarly, if you’re running an ad campaign for Skirts, optimize it by sending the purchase data of skirts. You can also categorize based on AOV (average order value). Since a high AOV event is the one that brings more value to the business you can optimize campaigns for them by segmenting and sending high AOV offline data to Meta.


Always make sure you hash the PII (personally identifiable information) like email address, phone number, gender, date of birth, first name, last name, city, state, ZIP codes, country, third-party user ID, or external ID before sending it to Meta. Do not hash Lead IDs that you get from lead ads.

Ensure that you send all the required and recommended parameters to Meta ads. An important example of such parameters is the action_source event parameter which must be sent for all offline events. 

Apart from that, send customer information parameters like email ID, phone number, gender, birth date, first name, last name, etc; and custom data parameters like event time, event name, currency, value, etc. You can also send other optional parameters as recommended by Meta.

Refresh fbp and fbc parameters

The fbp and fbc values tend to change frequently over multiple browser sessions. For instance, you collected the fbc of a user today and sent the same fbc to Meta let’s say after 14 days. And assume that fbc got refreshed 28 days after collecting. 

Now, Meta will not be able to identify the user with the fbc you sent. So, always ensure to refresh the user’s profile with the latest value of fbp and fbc. 

Screenshot from Facebook official page explaining how to send fbp and fbc parameters.

Keep an eye on event match quality

Monitor the Event Match Quality score regularly for offline and online conversions. For offline conversions, it is currently under beta or alpha stage, so it might not be available for you. 

Still, if you want to improve your EMQ score for offline events sent through Offline Conversions API, talk with your Meta representative or our experts. They’ll help you figure out how to make your offline conversion data sync better to increase your EMQ score. 

In short

A great deal of conversions that happen offline are left undiscovered, and marketers are stuck with incomplete customer journeys.

To handle this situation, Meta has come up with a brilliant feature, the Offline Conversions API, using which you can send all your offline conversion data to Meta for attribution. 

By syncing the offline event data with Meta you can send the right signals to Meta, boost your ad campaign performance, and improve the overall conversion.

So, the only thing you gotta do is set up Meta Offline Conversions API. And it would be a smart move to do it the easy way.

CTA showing "Set up Meta offline Conversions API the easy way with CustomerLabs! "

Frequently Asked Questions (FAQs)

Yes, you can upload offline conversions to Facebook. However, it's recommended to use Facebook Conversions API instead of uploading it as an offline event list.
You can track offline conversions on Facebook using the Conversions API. The offline Conversions API is no longer supported, so the Conversions API is your only option to sync offline events with Meta.
Meta Conversions API is free to integrate with Meta. You can set it up by yourself using Meta's documentation. If you don't have coding knowledge and need to hire developers, they might charge heavily for setting up the integration and Conversions API. However, tools like CustomerLabs 1PD Ops offer a free setup for the Conversions API. The only cost you'll be paying is for tracking all the website event data.
To check if your Facebook Conversions API is working, go to your events manager and review the event match quality of server-side events. This will show how effectively the data is being sent through the Conversions API.

A vivid writer. Expert in spinning mundane tech content into juicy stories that marketers can sink their teeth into. Recently obsessed with SaaS, product marketing, eCommerce, and everything in between.

The latest news, perspectives, and insights from CustomerLabs

More Blogs

View all
Blog banner with the title what event parameters are important to increase event match quality (EMQ) in Meta Ads
What event parameters are important to increase EMQ in Meta Ads

Important event parameters and how to effectively sync them with Meta to increase the Event Match Quality (EMQ) of Facebook.

Read more
Blog banner with the title Maximize Your Ad Performance With Meta Advantage+ Shopping Campaign.
Meta Advantage+ Shopping Campaign To Maximize Your Ad Performance

Meta Advantage+ Shopping Campaign uses advanced machine learning algorithms to maximize ad campaign performance at an optimized your ad spend

Read more
Unveiling the power of Meta Conversions API: Everything You Need to Know - blog banner designed by Swathy Venkatesh from CustomerLabs.
Here’s all you need to know about Facebook Conversions API

Setup Facebook Conversions API and Offline Conversions API with ease in less than 30 minutes. Know everything about Facebook CAPI & Meta CAPI

Read more

Get started with CustomerLabs CDP

Schedule a 1-1 Demo


Unified data to boost ecommerce growth


Engage your customers across the funnel with a unified martech stack


Increase product metrics with a unified martech stack


Scale your customers quickly with the right data