Products

Offline conversion tracking

Most sales do not finish on the website. They close later, in your CRM, over the phone, or in the clinic. Offline conversion tracking sends those sales back to Meta, Google Ads and TikTok, matched to the ad click that started them, so the platform learns from the deals that actually closed, not just the forms that were filled.

What offline conversions are

An offline conversion is a sale or a qualified lead that happens away from the website: a deal your sales team closes in the CRM, a booking taken by phone, an order paid in store, a subscription that becomes revenue weeks after the click. The person clicked your ad, but the money arrives later and somewhere else. Offline conversion tracking is how that later event gets reported back to the ad platform and tied to the ad that caused it.

Why they matter

Ad platforms optimise on the conversions you send them. If you only send the form fill or the add-to-cart, the platform learns to find people who fill forms, not people who buy. When you send the real outcome, the closed deal or the paid order, the platform learns to find people who become revenue.

  • Meta and Google bid toward your actual buyers, not your window shoppers.
  • A lead worth $50 and a lead worth $12,000 stop looking the same to the algorithm.
  • You can prove which campaigns produced revenue, not just clicks and leads.

The problem: by the time the sale closes, the click is gone

An offline sale is hard to report for two reasons.

  • The click ID is lost. When a deal closes in your CRM a week later, nobody has the original ad click. Without it, an upload to Meta or Google matches poorly or not at all, and the conversion is credited to nothing.
  • The manual paths are fragile. Exporting a CSV by hand, or wiring a raw Zapier upload, breaks quietly, sends unmatched rows, and has no view of what actually landed. Most teams either skip offline conversions or ship a version that barely matches.

How DataCops solves it

If DataCops saw the visitor when they clicked the ad, it already has their ad click stored first-party. So when the sale closes later, you send DataCops the outcome, matched by email or phone, and DataCops reattaches the original click when it can find it, then delivers the conversion server-side to each platform you connected. When no click is found, the conversion still goes out matched on hashed email or phone.

Connect each ad account once. Point your CRM, store, or a simple upload at DataCops. From then on, a sale that closes offline is sent as one clean conversion to every platform you connected.

Where the sale can come from

DataCops takes the offline conversion from wherever the sale is recorded:

SourceWhen it sends
ShopifyThrough the DataCops Shopify app, when an order is paid
Any tool, by the sales webhookFunnelish, your CRM, your own app, Zapier, Make, n8n or your CRM workflow posts each sale to one private URL. Funnelish needs no mapping. See the sales webhook guide
Zapier or the conversions APISend a row when a sale happens. Each row has an ID, so a resend is not counted twice
A CSV upload (Ads Warmup)A spreadsheet of people with an email or phone. You preview it, pick the event and platforms, then send
Stripe and PaddleComing soon. You can save the connection today, but it does not send sales yet

Whichever source you use, the conversion follows the same clean path before it is delivered.

Supported platforms

One offline sale is sent to every platform you connect, each in its own format with the match key it needs:

PlatformMatched withSent as
Meta (Facebook and Instagram)fbclid, or hashed email and phoneOffline and CRM conversions via the Conversions API
Google Adsgclid, gbraid, wbraid, or hashed email and phoneClick conversion upload through the Google Ads API
TikTokttclid, or hashed email and phoneEvents through the Events API
LinkedInli_fat_id, or hashed emailOffline conversions via the Conversions API

Matched to the original click

This is the part a manual upload cannot do. When the offline sale comes in, DataCops looks up the person by their hashed email or phone. If that person clicked one of your ads and DataCops recorded it, the original ad click, its first-party and edge-captured value, is attached to the conversion.

So an offline conversion that a plain upload would have sent with just an email can go out with the ad click as well. That gives the platform a better chance to connect the sale to the campaign that caused it. The longer-lived durable identity is being switched on site by site.

Clean before it sends

An offline conversion runs through the same delivery gates as an on-site one, so what you send is real:

  • Deduplicated, so the same deal is not counted twice when your CRM or tool sends it again with the same ID.
  • Consent-checked where required, so you only send what you are allowed to. See the consent manager.
  • Bot and fraud filtered, so a fake lead never becomes an offline conversion. See bot and fraud detection.
  • Sent with the real value and currency, so a $12,000 deal is reported as a $12,000 deal.

See what was sent, and why

Every offline conversion is logged, one record per platform: sent, skipped, or failed, with the platform's own reason and which detail it matched on. You can see, per sale and per platform, what delivered and why. One gap: Google Ads can reject single rows inside an accepted upload, and DataCops does not read those row-level errors yet.

For agencies

If you manage many clients, offline conversions work the same across every client account under one agency login. Connect each client's CRM or store once, and their offline sales go to their own ad accounts, logged per client. See DataCops for agencies.

Was this page helpful?