How to Set Up Meta Offline Conversion Tracking and Optimise for Sales

Learn how to send qualified leads, offline sales and revenue back to Meta, then use these signals to optimise your campaigns for customers, not just form submissions.

Ward LavrijsenWard Lavrijsen

How to Set Up Meta Offline Conversion Tracking and Optimise for Actual Sales

Most Meta campaigns are optimised using the first conversion that happens online.

Someone clicks an advertisement, submits a form and Meta records a lead. That is usually where the tracking stops.

But a submitted form is not necessarily a good lead. Some people never respond. Others are not a good fit. Only a small percentage may eventually become customers.

This means Meta is often optimising campaigns using incomplete information.

Offline conversion tracking solves this problem. It allows you to tell Meta what happened after the initial form submission:

  • Was the lead qualified?
  • Did the lead book an appointment?
  • Did the customer complete a purchase?
  • How much revenue did the customer generate?

The goal is not simply to measure these outcomes. Eventually, you want Meta to optimise your campaigns towards the people who actually become customers.

In this article, I will show you how to configure offline conversion tracking inside Meta, how to connect it through Octanist and how to start optimising campaigns towards actual offline sales.

What is Meta offline conversion tracking?

Offline conversion tracking allows you to send events to Meta that happen outside the original website session.

For example:

  1. Someone clicks your Meta advertisement.
  2. They submit a form on your website.
  3. The lead enters your CRM or Octanist.
  4. Your sales team qualifies the lead.
  5. The customer completes their purchase offline.
  6. The qualification and sale are sent back to Meta.

Meta can then try to connect these events with the person, advertisement, and campaign that originally generated the lead.

This is now handled through the Meta Conversions API. Older articles may still refer to a separate Offline Conversions API, but that implementation has been discontinued.

Why offline conversions matter

If Meta only receives form submissions, it will look for more people who are likely to submit forms.

That does not automatically mean they are likely to become customers.

Imagine that one campaign generates 100 leads and another generates 40 leads.

Based on cost per lead, the first campaign may appear to be performing better. But if the first campaign produces two customers and the second produces ten customers, the second campaign is clearly more valuable.

Without offline conversion tracking, Meta cannot see this difference.

With offline conversion tracking, you can send qualified leads, won customers and revenue back to Meta. This gives you a much better understanding of which campaigns are actually working.

More importantly, once there is enough reliable data, Meta can start optimising towards these deeper outcomes.

Step 1: Decide which conversions you want to send

Before changing anything inside Meta, decide which stages in your sales process are important.

A simple lead funnel could contain:

  • Raw Lead: Someone submitted a form.
  • Qualified Lead: The lead meets your requirements.
  • Won Lead: The lead became a customer.

These events do not have the same value.

A raw lead only tells Meta that someone completed a form. A qualified lead says that the person was relevant. A won lead tells Meta that the campaign generated a customer.

The closer the conversion gets to revenue, the more useful the information becomes.

However, there is an important trade-off.

Qualified leads usually happen more quickly and more frequently. Actual sales may take several weeks and happen less often.

This means you will often start by optimising campaigns for qualified leads. Once Meta receives enough reliable sales and revenue data, you can test optimising towards actual purchases.

Step 2: Collect enough information to match the conversion

Sending an offline conversion is only one part of the process.

Meta also needs to understand which person and which advertisement generated it.

Useful matching information includes:

  • Email address
  • Phone number
  • First and last name
  • Meta click identifier
  • _fbc value
  • _fbp browser identifier
  • IP address
  • Browser user agent
  • The time the conversion happened

The more accurate information you provide, the better the chance that Meta can match the conversion with the original advertisement.

This can be especially difficult when you use embedded or external forms. Many form tools do not automatically store Meta click and browser identifiers.

Octanist stores the available attribution information when a lead is created. When the lead later becomes qualified or won, Octanist can send that event back to Meta.

Email addresses and phone numbers are hashed before they are sent. However, hashing does not replace your privacy obligations or the need for a lawful basis to process the information.

Step 3: Open your dataset settings in Meta

Go to:

Meta Events Manager → Data sets → Select your dataset → Settings

Your existing Meta Pixel may appear as a dataset. In most cases, you do not need to create a completely separate dataset for offline conversions.

Step 4: Enable the offline upload settings

Inside the dataset settings, look for:

  • Extend attribution uploads
  • Allow historical conversion uploads

These settings sound similar, but they do different things.

Extend attribution uploads

This extends how far back Meta may look when attributing an uploaded offline event to an earlier advertisement impression.

This can be useful when customers take several weeks to make a decision.

Allow historical conversion uploads

This extends how long after the conversion happened you are allowed to upload the event.

This is useful when your CRM updates are delayed or when you want to send existing conversions from the previous 90 days.

Meta currently describes both settings in relation to offline or physical-store events.

These settings can improve attribution and allow older events to be uploaded. They do not automatically mean that Meta will optimise campaign delivery using a sale that happened several months later.

The campaign attribution window and the speed at which your conversions happen remain important.

Step 5: Enable Auto-tracking

Scroll to the Auto-tracking section in the dataset settings.

Click Select ad accounts.

Enable Auto-tracking for the correct ad account and save the settings.

Meta states that new campaigns will use the dataset for offline event tracking by default.

Do not assume that every existing campaign has been updated automatically. Open your active campaigns and check whether the correct dataset is connected under the tracking settings.

Connect Meta Ads to Octanist

Inside Octanist, go to:

You will be asked to connect your Meta account and select the correct advertising account.

Make sure you select the account where your campaigns are running.

Select your dataset and map the events

After selecting the account, choose the dataset you configured inside Meta.

You can then map your Octanist lead stages to Meta events.

In this example:

  • Qualified Lead is mapped to Lead
  • Converted is mapped to Purchase

Use a Purchase event when the conversion represents a genuine commercial outcome.

A booked appointment is not automatically a purchase. A qualified lead is not automatically a purchase either.

Your events should continue to describe what actually happened:

  • Use Lead for a qualified lead.
  • Use Purchase when the customer really bought something.
  • Send the genuine revenue as the Purchase value.

This keeps your reporting accurate and gives Meta better information for value-based optimisation.

Decide how to handle Meta Instant Forms

If you generate leads using Meta Instant Forms, Octanist can import these submissions automatically.

If your leads already enter Octanist through your website, CRM or another integration, you can skip Instant Form importing and only send offline conversions back to Meta.

Only enable the import when you actually use Meta Instant Forms.

Finalise the integration

The final setup screen contains several important settings.

Enhanced conversions for leads

This sends hashed email addresses and phone numbers to Meta to improve matching.

Enable this when you collect the information properly and are allowed to use it for advertising measurement.

Send all leads

This allows Octanist to send qualified and won leads even when a Meta click ID is unavailable.

Meta can then attempt to match the conversion using hashed customer information.

Backfill existing leads

This sends eligible qualified and won leads from the previous 90 days.

Only enable this when your historical lead statuses, values and conversion dates are reliable.

Check whether the conversion was sent

Once the integration is active, use a test lead and change its status to a stage that should trigger a Meta conversion.

Inside Octanist, open the lead and check its history.

A successful upload should appear as a synced Meta Ads activity.

This confirms that Octanist sent the event. It does not yet prove that Meta attributed the conversion to a campaign.

Next, open the dataset overview in Meta Events Manager.

In this screenshot, Meta received a Raw Lead event through the Conversions API.

This proves that Meta received the event. It does not prove that a qualified or won conversion was attributed to a specific advertisement.

Meta states that events can take up to 30 minutes to appear inside Events Manager.

Lead Campaigns Versus Sales Campaigns

Once your events are arriving in Meta, you need to decide whether to use a Lead campaign or a Sales campaign.

A Lead campaign is designed to generate enquiries, form submissions and qualified leads. Meta optimises the campaign towards events such as Raw Lead or Lead.

This is usually the best starting point when your sales cycle is longer or when you do not yet generate enough purchases for Meta to learn from. You generally do not need to send a conversion value unless different leads have genuinely different and reliable values.

A Sales campaign is designed to generate purchases and revenue. Meta optimises towards Purchase events instead of the initial lead.

This becomes useful once you consistently send actual sales back to Meta. If customers have different values, you can also include their real purchase value and optimise for conversion value.

The main difference is therefore the outcome Meta is asked to prioritise.

A Lead campaign asks Meta to find more people who are likely to become leads. A Sales campaign asks Meta to find more people who are likely to become paying customers.

A Lead campaign can still receive Purchase events for reporting. A Sales campaign can still begin with a website form. What matters is the event selected for campaign optimisation.

For many businesses, the best approach is to start with a Lead campaign and gradually move closer to revenue:

  1. Start by optimising for Raw Lead.
  2. Begin sending qualified leads back to Meta.
  3. Test optimising for qualified leads.
  4. Continue uploading every real purchase and its revenue.
  5. Once Meta receives enough reliable Purchase events, test a Sales campaign.
  6. Compare cost per purchase and revenue, not only cost per lead.

This lets Meta learn from a frequent lead event at the beginning, while you collect the purchase data needed to optimise towards real sales later.

How to Set Up a Lead Campaign

Use a Lead campaign when the main outcome is a form submission, enquiry, application or qualified lead.

This is normally the best starting point when sales happen later or when you do not yet generate enough purchases for Meta to optimise reliably.

Step 1: Select the Leads objective

Create a new campaign and select Leads as the campaign objective.

Do not select Traffic simply because people need to visit your landing page.

Traffic campaigns optimise for visits and clicks. Lead campaigns are designed to find people who are more likely to complete a lead conversion.

Step 2: Select the lead conversion location

Choose where people can become leads.

In this example, the conversion location is:

Website and Instant Forms

Only select conversion locations that you actually use.

If all leads come through your website, select Website. If you use both website forms and Meta Instant Forms, select both.

Step 3: Select the lead conversion event

Choose the dataset and the event Meta should use for campaign optimisation.

In this example, Raw Lead is active and is being received through the Conversions API.

The screenshot shows Raw Lead, but this does not mean Raw Lead is always the best optimisation event.

Use Raw Lead when:

  • You are starting with limited data.
  • You need more conversion volume.
  • You cannot yet send reliable qualification events.

Use Lead or Qualified Lead when:

  • Meta receives enough qualified events.
  • Your qualification process is consistent.
  • Qualified leads are a much better predictor of revenue.

A campaign cannot optimise for an event it is not receiving. Send the event first, confirm that it is active and then select it inside the campaign.

The logical progression is:

  1. Start with Raw Lead.
  2. Send qualified leads through CAPI.
  3. Confirm that the qualified event becomes active.
  4. Test optimising the campaign for qualified leads.
  5. Continue sending won customers and revenue for later analysis.

How to Set Up a Sales Campaign

Use a Sales campaign when you want Meta to optimise towards actual purchases and revenue.

This is the long-term goal of a good offline conversion setup.

However, it only works properly when Meta receives enough reliable Purchase events.

Step 1: Select the Sales objective

Create a campaign and select Sales.

A Sales campaign tells Meta that the final commercial outcome matters more than the initial form submission.

Step 2: Include in-store conversions

When someone becomes a lead online but completes the purchase offline, select a conversion location that includes the store or offline sales environment.

In this example, select:

Website, app and in store

This allows the campaign setup to include both online activity and purchases that are uploaded later through the Conversions API.

If you only upload offline purchases but never include them in your campaign setup, they may remain mainly useful for reporting. The purpose here is to make the actual sale part of the outcome Meta should work towards.

Step 3: Select the Purchase event

Choose the dataset receiving your offline Purchase events and select Purchase as the conversion event.

Only do this when:

  • Purchase represents a real completed sale.
  • The correct purchase time is included.
  • Each purchase contains the correct currency.
  • The revenue value is accurate.
  • Meta receives the events consistently.
  • Meta can match enough purchases with advertisements.

Do not send qualified leads as Purchase events merely to create more volume. That makes your reporting unreliable and teaches Meta using the wrong outcome.

Step 4: Choose the performance goal

You can optimise for the number of conversions or the value of those conversions.

Choose Maximise number of conversions when:

  • Every purchase has approximately the same value.
  • You want as many purchases as possible.
  • Revenue values are not reliable enough yet.

Choose Maximise value of conversions when:

  • You send the genuine revenue for every purchase.
  • Some customers are significantly more valuable than others.
  • Meta receives enough Purchase events to learn from.
  • The values are consistent across campaigns.

Do not assign random or estimated values simply to unlock value optimisation. If the values are poor, Meta may optimise towards the wrong customers.

When Should You Move from Leads to Sales?

You do not need to choose one campaign type forever.

For many businesses, the sensible progression is:

  1. Start with a Lead campaign optimised for Raw Lead.
  2. Begin sending qualified lead events.
  3. Move the Lead campaign towards qualified leads.
  4. Continue uploading every real purchase and its revenue.
  5. Wait until Meta receives enough consistent Purchase events.
  6. Launch a Sales campaign that includes in-store conversions.
  7. Test Purchase or value optimisation against the Lead campaign.

Do not switch every campaign at once.

Run a controlled comparison and evaluate:

  • Cost per raw lead
  • Cost per qualified lead
  • Cost per purchase
  • Purchase conversion rate
  • Revenue
  • Return on ad spend

A Sales campaign may generate fewer leads while producing more customers. If you only compare cost per lead, you could mistakenly stop the better campaign.

For long sales cycles, a qualified lead may remain the most useful optimisation event because it happens sooner. The final Purchase should still be uploaded for revenue reporting and future Sales campaign testing.

We recommends using a faster proxy event when the final sale happens too late for campaign optimisation.

Add Offline Conversion Columns to Ads Manager

Inside Ads Manager, open the Columns menu and select Offline conversions.

If it is not displayed under Recently used, click See more.

This adds columns such as:

  • Offline purchases
  • Offline purchase value
  • Cost per offline purchase
  • Offline leads
  • Cost per offline lead
  • Other offline conversions

If expected conversions are missing, check:

  • The selected reporting period
  • The campaign attribution settings
  • Whether Auto-tracking is enabled
  • Whether the correct dataset is connected
  • Whether Meta received the event
  • Whether Meta could match the customer
  • Whether the event was selected as the campaign conversion
  • Whether the conversion happened inside the attribution window

Final Checklist

Before using the conversion data to make campaign decisions, confirm that:

  • The correct Meta dataset is selected.
  • Auto-tracking is enabled.
  • Historical and extended attribution uploads are configured.
  • Your CRM, direct CAPI integration or Octanist is sending events.
  • Meta receives Raw Lead, Lead and Purchase as separate outcomes.
  • Purchase is only used for genuine sales.
  • Purchase events include accurate values and currencies.
  • Lead campaigns optimise for an active lead event.
  • Sales campaigns optimise for an active Purchase event.
  • In-store conversions are included in the Sales campaign.
  • Events appear in Meta Events Manager.
  • Offline conversion columns are visible in Ads Manager.
  • Personal information is processed with the correct privacy controls.

Start with Leads, but Work Towards Revenue

A Raw Lead tells Meta that someone completed a form.

A qualified Lead tells Meta that the person was relevant.

A Purchase tells Meta that the campaign generated a real customer.

Revenue tells Meta which customers were the most valuable.

Start with the deepest event that happens frequently and quickly enough for Meta to learn from.

For a new setup, that may be Raw Lead. For a more mature setup, it may be Qualified Lead. Once you generate enough reliable sales, the goal should be to test Sales campaigns that optimise towards purchases and genuine revenue.

That is when offline conversion tracking becomes more than a reporting system. It becomes a way to help Meta find more customers who actually make money.

More from the blog

How-To GuidesSep 3, 2026

How to use Octanist when your form is in an iframe

The Octanist pixel cannot read forms inside an iframe. Here’s the simple way to still capture those leads with the right attribution.

Centralize Lead Qualification with Zapier & Octanist
How-To GuidesNov 28, 2025

Centralize Lead Qualification with Zapier & Octanist

Using Zapier with Octanist, you can centralize leads from multiple sources, qualify them in one place, and send offline conversion data to advertising channels.

How to set up Customer Match Lists for Google Ads using Octanist
How-To GuidesSep 30, 2025

How to set up Customer Match Lists for Google Ads using Octanist

Learn how to use Customer Match Lists in Google Ads and Meta to improve targeting, cut ad spent, and increase conversions with Octanist’s BigQuery integration.

Click ID Removal in iOS 26: The impact on your (Offline) Conversion Tracking
StrategySep 15, 2025

Click ID Removal in iOS 26: The impact on your (Offline) Conversion Tracking

Discover the impact of Click ID removal in iOS 26 on (offline) conversion tracking and how to adapt with Enhanced Conversions and server-side solutions.

Google Analytics Offline Conversions: Track Sales & Converted Leads with GA4
How-To GuidesSep 6, 2025

Google Analytics Offline Conversions: Track Sales & Converted Leads with GA4

Learn how to track offline conversions in Google Analytics 4 (GA4). Discover the Measurement Protocol, BigQuery and Octanist to connect CRM sales data, attribute offline revenue, and improve campaign reporting.

Enhanced Conversions in Google Ads: Web vs. Leads Explained
How-To GuidesSep 6, 2025

Enhanced Conversions in Google Ads: Web vs. Leads Explained

Learn the difference between Enhanced Conversions for Web and Enhanced Conversions for Leads in Google Ads. Discover how Octanist helps you track more conversions, connect offline data, and optimize campaigns with first-party data.