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.
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 todayForm→Booked→Showed→Won→Paid
With DataCopsForm→Booked→Showed→Won→Paid
B2B on HubSpot
What your ads see todayForm→Qualified
With DataCopsForm→Qualified
Salesforce or any CRM by webhook
What your ads see todayForm→Sale, with value
With DataCopsForm→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
LeadReceived
Booked callvisibility_offNever seen
Deal wonvisibility_offNever 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
notifications_offMeta 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
link_offNo 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
personReal leadarrow_forwardCounted
smart_toyBot leadarrow_forwardCounted
personReal leadarrow_forwardCounted
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.
Day 0Day 2Day 4Day 6Day 8Day 10
7-day limit
Weekly CSV, deal won on Day 0, sent Day 9Rejected
DataCops, deal won on Day 0, sent Day 0Accepted
Offline Conversions API endpointShut down May 2025
How DataCops sends Meta offline conversions
Four steps from the ad click to the won deal, with nothing to wire in HighLevel or HubSpot.
Step 01
Saved on yourdomain.com
fbclid from MetacheckKept
gclid from Google AdscheckKept
ttclid from TikTokcheckKept
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.
Step 02
Stages your CRM reports
Booked callboltReported
Showed upboltReported
Won, with valueboltReported
The lead books, shows up, qualifies or buys, and your CRM reports it.
Step 03
Finding the ad click again
Won dealby email or phone
arrow_downward
Ad click, 23 days earlierlinkMatched
DataCops matches the lead by click ID or hashed email and phone.
Step 04
Won deal sent
MetacheckSent once
Google AdscheckSent once
TikTokcheckSent once
LinkedIncheckSent 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.
One first-party script, served from your own domain
publicRuns first-party from datacops.yourdomain, not a blockable third-party host
boltOne script, one CNAME, live in about 5 minutes, no container to host
cloudServer-side collection on Cloudflare's edge, close to every visitor
linkCaptures click IDs at the network level, so fbclid and gclid still reach your CAPI feed after browsers strip them
trending_upRecovers 15 to 25% of the sessions other setups lose
Traffic Visibility
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
First-Party Script
~78%
Blockers and ITP cut your sessions
“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.”
The six places people ask about most. Each card shows what actually reaches Meta.
Lifecycle stage: SQL→Sent
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.
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.
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 getsPurchase, with value
email or phone to match
Order paid→Sent
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 getsPurchase, with value
sent once per order ID
table_viewsales.csv, 20,000 rows→Sent
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.
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 getsAny 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.
Sales that come from your CRM are sent as your CRM reports them, with no bot check, so qualify them there
before you send.
Facebook offline conversions with DataCops, in short
DataCops is a tool that 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, with a bot verdict on every visit and a log of every send.
How DataCops does it
1
Work with Meta's new rules
Meta shut down the separate Offline Conversions API and offline event sets in May 2025. Offline and CRM events now go through the regular Conversions API into your dataset, and Meta rejects a request if any event in it is more than 7 days old. DataCops sends each stage when it happens, so it lands inside that window.
2
Capture the click first
One script and one DNS record collect on your own domain. With your DNS on Cloudflare, the free Worker reads the click ID at the edge before the page loads. The click is kept on the server for up to 90 days, and a sale is matched by click ID or hashed email and phone. A signed server-set cookie on your domain lasts up to 400 days where enabled.
3
Send each stage
HighLevel natively: form or survey lead, booked, showed, won with value, paid (delivered to Meta as Schedule, Showed and Purchase). Cancelled, no-show and lost send nothing. HubSpot sends one lifecycle stage. Any CRM, Salesforce and Pipedrive included, posts to a private webhook.
4
Real people only
Every visit gets a bot verdict against 360+ billion IPs and 350+ monitoring points. Real people only is a per-platform switch, off by default. CRM, webhook and CSV events carry no bot flags, so the check applies to the site visit. Every form email is checked for disposable providers, domains with no mail server and an email risk score, and LeadCops can hold a lead until your CRM confirms it.
5
Warm up with Ads Warmup
Upload a CSV of up to 20,000 past customers, see a 0 to 10 match score for each, and send them to Meta as server-side events, dated when you send. Sending needs a paid plan.
6
Counted once, and logged
A purchase with an order ID reaches Meta once, and a HighLevel won deal and its invoice count as one sale. A delivery log row for every conversion shows sent, held, skipped or failed with the reason. Shopify orders come through the DataCops Shopify app.
Best for: lead gen, clinics, home services, B2B and agencies advertising on Meta whose sales close in a CRM or on a call.
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.