Meta Offline Conversions

Conversions APIBooked, Showed, Won
HighLevel and HubSpotAny CRM by Webhook

Facebook offline conversions tell Meta which ad leads became customers: the booked call, the show-up, the deal your team won. DataCops sends them from HighLevel, HubSpot or any CRM to Meta through the Conversions API, within Meta's 7-day window, matched to the ad click.

Setup in 5 minutes
No credit card
One lead from a Meta ad
From form fill to won deal in HighLevel
With DataCops
Form fillSent to Meta
Booked callSent to Meta
Showed upSent to Meta
Deal wonSent with its value
Matched to the original ad click by email

Trusted by agencies and brands running paid media

AffilinoBigfishClever DigitalKeetraxLegendListingLogicNumeroStormZealdBurst Digital
Definition

What are Facebook offline conversions?

Facebook offline conversions, now Meta offline conversions, are sales or steps toward a sale that happen away from your website and are sent back to Meta: a booked appointment, a phone sale, a deal won in your CRM, a paid invoice. Meta matches each one to the person who clicked or saw your ad, counts it as a result of that ad and learns to find more people like the ones who bought.

DataCops keeps the ad click on your own domain when the visitor lands. When the lead books, shows up, qualifies or buys in HighLevel, HubSpot or any CRM, DataCops finds that click again and sends the stage to Meta through the Conversions API, the same day. No weekly CSV, no code.

DataCops sends Facebook offline conversions from HighLevel, HubSpot or any CRM to Meta through the Conversions API, matched to the ad click that started each sale.

What Meta learns from

Leads and clinics on HighLevel
What your ads see today Form Booked Showed Won Paid
With DataCops Form Booked Showed Won Paid
B2B on HubSpot
What your ads see today Form Qualified
With DataCops Form Qualified
Salesforce or any CRM by webhook
What your ads see today Form Sale, with value
With DataCops Form Sale, with value
Why Meta misses the sale

Why Meta optimizes for form fills

Meta learns from what it is told. For most lead businesses that is the form, and nothing after it.

Events Meta received
Lead Received
Booked call Never seen
Deal won Never seen
The pixel stops at the form

The Meta Pixel stops at the form

The pixel sees the form fill and the thank-you page. The booked call, the show-up and the won deal happen where it cannot follow.

Opportunity in your CRM
StageWon
ClosedOn a sales call
Came fromA Meta ad
Meta never hears about it

The sale happens in your CRM

Deals close in HighLevel, HubSpot or Salesforce, on the phone or in person. Nothing tells Meta that the lead became a customer.

The ad click, in the browser
Day 1Ad click saved
Day 8Safari clears the cookie
Day 23Deal won
No click left to match

The click is gone when the deal closes

Safari clears cookies set by a browser script after 7 days. A deal that closes three weeks later has no fbclid left to match.

Leads sent to your ads
Real lead Counted
Bot lead Counted
Real lead Counted
Your ads now look for more bots

Fake leads teach Meta

Bot form fills count as leads too. Every one tells Meta to find more people like it.

What changed at Meta

Meta offline conversions after the API shutdown

The Offline Conversions API is gone

Meta shut down its separate Offline Conversions API and offline event sets in May 2025. Offline and CRM sales now go through the same Conversions API as website events, into a dataset.

Events older than 7 days are rejected

Meta turns away events sent more than 7 days after they happened. A monthly or weekly CSV of won deals loses its oldest rows, so each stage should go out on the day it happens.

Matching runs on customer details

Meta matches an offline sale to a person by hashed email and phone, and by the click ID when there is one. The more of these you send, the more sales Meta can credit to an ad.

How DataCops sends Meta offline conversions

Four steps from the ad click to the won deal, with nothing to wire in HighLevel or HubSpot.

  1. Step 01
    Saved on yourdomain.com
    fbclid from Meta Kept
    gclid from Google Ads Kept
    ttclid from TikTok Kept
    Kept for up to 90 days

    The visitor clicks your Facebook or Instagram ad. DataCops keeps the fbclid on your own domain for up to 90 days.

  2. Step 02
    Stages your CRM reports
    Booked call Reported
    Showed up Reported
    Won, with value Reported

    The lead books, shows up, qualifies or buys, and your CRM reports it.

  3. Step 03
    Finding the ad click again
    Won dealby email or phone
    Ad click, 23 days earlierMatched

    DataCops matches the lead by click ID or hashed email and phone.

  4. Step 04
    Won deal sent
    Meta Sent once
    Google Ads Sent once
    TikTok Sent once
    LinkedIn Sent once

    The stage goes to Meta through the Conversions API, and to Google Ads, TikTok and LinkedIn if connected.

Each stage goes out as your CRM reports it, well inside Meta's 7-day limit.

Andrew Forsyth

“15 minutes to get server-side tracking live. After 3 days failing with another app and a DIY server-side Google Tag Manager, that alone sold me. Then support jumped on a Google Meet with me on a Sunday afternoon to finish the job. Nothing else comes close.”

Andrew Forsyth
Chief Executive Officer, Zeald
Where the sale comes from

Facebook offline conversions from your CRM

The six places people ask about most. Each card shows what actually reaches Meta.

HubSpot to Meta

Pick the lifecycle stage that means a lead is qualified. DataCops holds each lead from your site, checks HubSpot every 5 minutes and sends the conversion to Meta when the lead reaches that stage. Leads that never qualify expire after 14 days. Deal stages are not read.

Meta gets Qualified lead
checked every 5 min For B2B teams on HubSpot

HighLevel to Meta

Install once for your agency and pick the sub-accounts to connect. The form or survey lead, the booking, the show-up, the won deal with its value and the paid invoice each reach Meta as HighLevel reports them. Cancellations, no-shows and lost deals are never sent.

Meta gets LeadScheduleShowedPurchase
no Facebook lead form needed For agencies on HighLevel

Salesforce by webhook

There is no native Salesforce connector. When an opportunity closes, a Salesforce flow, Zapier, Make or n8n posts it to your private DataCops webhook with the customer's email or phone, the value and the order ID. DataCops finds the ad click and sends it to Meta.

Meta gets Purchase, with value
email or phone to match

Shopify orders

The DataCops Shopify app sends each paid order to Meta as a server-side purchase with its value, so orders the browser pixel missed, blocked or lost still count against the ad that brought the buyer.

Meta gets Purchase, with value
sent once per order ID

Google Sheets and CSV

On a paid plan, Ads Warmup takes a CSV of up to 20,000 past customers or sales and sends them to Meta and the other platforms you pick. Rows are dated when you send them, so use it to warm up an ad account, not to rewrite past reports. For a sheet you add sales to every day, send each new row to your webhook through Zapier or Make.

Meta gets LeadPurchaseSchedule
dated when sent See Ads Warmup

Zapier, Make and n8n

Any tool that can post a webhook can send offline sales. Add one webhook step to your Zap with the email or phone and the value. DataCops matches the ad click and sends the sale to Meta, Google Ads, TikTok and LinkedIn, so you need no separate Zap per platform and no click ID in your CRM.

Meta gets Any stage you post
one Zap, every platform
Real people only

Filter fake leads before you send

A bot that fills in your form becomes a lead your ads try to find more of. DataCops checks every visit for bots and datacenter traffic, and for VPNs and proxies if you choose. Switch on Real people only for a platform and flagged visits never reach it.

With HubSpot, each lead waits until your team marks it qualified, so your ads only learn from leads a person accepted. Sales that come straight from your CRM are sent as your CRM reports them, so qualify them there.

How DataCops spots bots
Meta, delivery
Real people only
Bots and datacenter traffic never reach Meta. VPNs and proxies too, if you choose.
Send everything
Meta gets every visitor, bots included.
Lead from a bot Skipped
Delivery log
every event, every platform, with a reason
Live
Won deal to Meta
fbclid + hashed email
Delivered
Showed to Meta
hashed phone
Delivered
Booked to Meta
as Schedule
Delivered
Lead to Meta
bot, Real people only is on
Skipped
Qualified to Meta
waiting for the HubSpot stage
Held
Delivery log

Why Facebook offline conversion uploads fail

A CSV upload can report success and still match nothing. DataCops logs every send to Meta with its status and the reason.

  1. 1
    The event is too old
    Meta rejects events more than 7 days old. DataCops sends each stage on the day it happens.
  2. 2
    Nothing to match on
    A row with no email, phone or click ID cannot be matched. DataCops attaches the fbclid it kept and hashed contact details.
  3. 3
    The same sale sent twice
    A won deal and its invoice count as one sale, and an order ID reaches Meta once.
  4. 4
    Nobody saw it fail
    Each send shows as sent, held, skipped or failed, with the reason next to it.

DataCops vs Meta CSV upload, HighLevel, HubSpot and Zapier

Ways to get offline sales into Meta. Checked September 2026 against each tool's own help pages.

DataCops
Meta CSV upload
HighLevel Meta action
HubSpot built-in
Zapier
Sends each sale automatically
As your CRM reports it
You upload each file
From a workflow
Lifecycle stages
If you build the Zap
Works for website leads, not only lead forms
Matched by kept click, email or phone
Lead form contacts, or a stored fbclid
Sends won deals with their value
HighLevel won and paid, any CRM by webhook
If the file has it
Lifecycle stages, not deals
If you build the Zap
Same sale to Google Ads, TikTok and LinkedIn
Separate actions per platform
Meta, Google, LinkedIn
One Zap per platform
Checks website leads for bots
Real people only, per platform
What it takes
One install, about 5 minutes per site
Export, format and upload by hand
A workflow action per trigger
Marketing Hub Starter or higher
A paid plan, one task per send
Honest note

What DataCops does not do yet

Better to know now than after you connect.

No native Salesforce or Pipedrive connector

They send sales to your webhook, directly or through Zapier, Make or n8n.

HubSpot sends one stage

The lifecycle stage you pick as qualified. HubSpot deal stages are not read.

Stripe and Paddle payments are not sent

You can save the connection, but payments do not go to your ads yet.

Refunds do not reach Meta

A refunded sale stays counted in Meta.

Set up Facebook offline conversions

About 5 minutes per site. Agencies: about 15 minutes per client.

  1. Step 1
    code

    Add the DataCops script
    One script and one DNS record, so every Facebook ad click is kept on your own domain.

  2. Step 2
    ads_click

    Connect Meta
    One-click sign-in to your Meta ad account and dataset. Add Google Ads, TikTok and LinkedIn if you use them.

  3. Step 3
    hub

    Connect where your sales happen
    HighLevel, HubSpot, your webhook or a CSV. Pick the stages to send.

FAQ

Facebook offline conversions, now called Meta offline conversions, are sales or steps toward a sale that happen away from your website and are sent back to Meta: a booked call, a show-up, a deal won in your CRM, a paid invoice. Meta matches each one to the person who saw or clicked your ad, so your campaigns learn from buyers and not only from form fills.

Let Meta learn from real sales

Send HighLevel, HubSpot and CRM sales to Meta the day they happen, logged per send.

Setup in 5 minutes. No credit card.

Live traffic quality

Updated just now

Visits · last 24h

487
Real users
35873.5%
Bots · auto-filtered
12926.5%

Without filtering, 26.5% of your reported traffic is bot noise inflating dashboards and draining ad spend.

Don't trust your analytics!

Make confident, data-driven decisions withactionable ad spend insights.

Setup in 2 minutes
No credit card