
Someone clicks your ad, then calls your sales team a week later and signs a $3,000 contract over the phone. Your ad platform has no idea that sale ever happened. That gap is exactly what offline conversion tracking closes: it connects real-world actions, like phone calls, in-store purchases, and closed CRM deals, back to the online ad click that started them.
Without it, you are optimizing campaigns with missing information. Without this data, you may be cutting budget from the ads that actually drive revenue. In this guide, we will break down what offline conversion tracking is, how it works, the methods available, and how to set it up step by step with ad tracking tool ClickFlare.
Quick Summary
Offline conversion tracking is the process of measuring conversions that happen outside the digital environment, such as in a physical store or over the phone, and attributing them back to the online ad, campaign, or traffic source that generated them.
An online conversion (a form fill, an add-to-cart, a checkout) is captured automatically because it happens on a page your tracking already covers. An offline conversion happens somewhere your pixel cannot reach: a sales rep closes a deal on a call, a lead becomes a customer weeks later, a shopper redeems a coupon in-store. The purchase is real and the ad influenced it, but nothing on your website fired to record it.
Offline conversion tracking bridges that gap. It carries a unique identifier from the click all the way through to the offline outcome, so you can finally say “this ad, on this day, produced this real-world sale” instead of guessing.
Every offline conversion tracking setup follows the same three-part logic, no matter which platform or tool you use:

The click ID is the whole game. If it is not captured at step one and stored at step two, there is nothing to match at step three, and the conversion is lost for good. That is why every lead record without a click ID is a conversion you can never import.
“Offline” covers any conversion that finishes away from your site. The most common types marketers track include:
Phone calls deserve a special mention, because they are the most common offline conversion and one of the easiest to attribute with a call tracking platform. If that is your main channel, our guide to PPC call tracking walks through the setup end to end.
Skipping offline conversions does not just leave a reporting gap. It actively misleads your optimization. Here is what accurate tracking gives you:
There is no single button for this. Every offline conversion tracking setup is some combination of the methods below, and the right mix depends on your channels and how quickly your conversions close.
The most established method. You capture the platform’s click ID at the click, store it with the lead, and later upload your closed conversions back to the ad platform, either through a file upload or an automated connection. Google’s offline conversion import is the reference implementation here, and you can read Google’s own documentation on offline conversion imports for the specifics. Microsoft Ads works the same way with the MSCLKID.
Meta, Google, and Microsoft all let you upload offline events directly into their systems, matching them to users or clicks so the conversions show up in the platform’s own reporting. This keeps everything inside one ad account, but it also locks your offline data into each platform separately, which makes cross-channel comparison harder.
A postback sends the conversion server-side, straight from your backend, CRM, or call platform to your tracker, using the stored click ID. Because it does not depend on a browser, cookie, or pixel, it is the most reliable method and the one that holds up as privacy restrictions tighten. This is the approach a dedicated tracker like ClickFlare uses to pull offline conversions from every channel into one place. If you want a deeper background on how postbacks work, our postback URL beginner guide walks you through everything you need to know.
For lower volumes, delayed sales, or one-off corrections, you can upload conversions by hand. You export your closed deals with their click IDs and drop them into your tracker or ad platform. It is not built for real-time tracking, but it is the simplest way to recover conversions that finalized later or that a postback missed.
This is where offline conversion tracking really pays off, because ClickFlare does not just record the offline conversion, it sends that conversion back to your ad platform so the algorithm can learn from it.
The whole setup is a loop that runs in two directions. Inbound, the offline conversion is registered in ClickFlare against a valid Click ID. Outbound, ClickFlare fires that conversion back to your traffic source through its Conversion API. Most ad platforms can only import offline conversions into their own account. ClickFlare sits in the middle, unifying offline data from every channel and pushing it back out to all of your platforms from one place.
The Offline Tracking Loop in ClickFlare
Inbound (conversion tracking): the offline conversion is registered in ClickFlare against a valid Click ID, using an S2S postback or a manual upload.
Outbound (Conversion API): ClickFlare relays that conversion back to your ad platform, such as Meta CAPI, Google, or the TikTok Events API, so the platform can attribute the sale and optimize toward real buyers.
Every conversion, online or offline, is matched to a valid ClickFlare Click ID. Here is how to build the full funnel, step by step.
When a visitor clicks your campaign link, ClickFlare assigns a unique Click ID to that visit. You pass this ID into your funnel using the {cf_click_id} token (the {click_id} token is interchangeable and works the same way). Append it to your offer URL, for example:
https://www.your-offer.com?s2={cf_click_id}
The offer URL differs based on your offer provider. For example, if you are working with an affiliate network, you need to replace s2 from the link above with the actual parameter your network uses to store the click ID. If you are unsure about it, you can ask your affiliate manager. If the offer is your own, you can use the default parameter:

For lead-based funnels, the key move is to also capture that value in a hidden form field so it saves into your CRM alongside the lead. You usually have the option to add a hidden field in your landing page builder. No stored Click ID means no conversion to match later, so this step is non-negotiable.
This is the recommended method for conversions that close reasonably quickly. When the offline event occurs (a call is marked as won, a deal is closed, an order is logged), your CRM, backend, or an automation tool such as GoHighLevel or Zapier fires ClickFlare’s postback URL with the stored Click ID.
All you need to do is copy ClickFlare’s postback URL and set it on your CRM platform.

The base format looks like this:
https://your_clickflare_domain.com/cf/cv?click_id={cf_click_id}
You can append the sale value, transaction ID, and conversion type to record revenue and event details:
https://your_clickflare_domain.com/cf/cv?click_id={cf_click_id}&payout=100&txid={transaction_id}&ct=sale
ClickFlare matches the ID and records the conversion. If conversions do not close quickly, you might be better off using Method B.
For offline sales that close later, delayed confirmations, or bulk reconciliation, use ClickFlare’s Conversion Upload feature. Open the Settings menu (the gear icon), where you will find Conversion Upload.

If you only have a few conversions to upload, you can upload them manually in the Conversions box at the bottom of the screen. Enter one conversion per line in this format:
click_id, payout, transaction_id, conversion_type, timestamp
If you need to upload more conversions, you can also upload them as CSV. ClickFlare provides a CSV template to guide you on how to format the document in order for conversions to register properly.
The Click ID is required; payout, transaction ID, conversion type, and timestamp are optional but recommended for accurate revenue and reporting. This is the go-to method for offline conversions that fall outside the real-time window.
Registering the conversion in ClickFlare is only half the job. The real gain comes from sending it back out to the platform that drove the click. Once your offline conversion is recorded, ClickFlare’s Conversion API integration fires it back to your traffic source, so the platform can attribute the sale and feed it into its bidding model. This is the step that turns a passive report into an actual optimization signal, and it is exactly where most native offline tools stop short.
So, once we record inbound conversions with one of the methods described above, ClickFlare can send them to ad platforms.
You configure the integration under Integrations. You map which events to send back (for example, send a closed CRM deal to Meta as a Purchase) and, from then on, your offline conversions flow back to Meta, Google, TikTok, and other supported platforms automatically.

You can even apply event filters, such as only sending conversions above a certain value or from a specific country, to control the quality of the signal each platform receives.

For a full walkthrough of the outbound side, the Facebook Conversion API guide covers it in detail.
Grab a test Click ID from ClickFlare, trigger the postback (or upload a test row), and confirm the conversion appears in your reports. Then check that it fired back out to your ad platform through the Conversion API.
Verifying one live conversion end to end, from offline event to platform, is the fastest way to catch a broken click-ID handoff before it costs you data.
Offline conversion tracking is what separates advertisers who know exactly which campaigns produce revenue from those still optimizing on clicks and form-fills. The mechanics are always the same: capture a click ID, store it with the lead, and send it back when the real-world conversion happens. Whether you fire a server-side postback in real time or upload closed deals in bulk, getting that data back into your tracker turns a blind spot into one of your most valuable optimization signals. If you are running paid traffic that finishes on a call, in a store, or in a CRM, offline conversion tracking is not optional, it is how you stop paying for results you cannot see.
Offline conversion tracking measures conversions that happen off your website, such as phone calls, in-store purchases, or closed CRM deals, and attributes them back to the online ad click that drove them, giving you a complete view of campaign performance.
It captures a unique click ID when someone clicks your ad, stores that ID with the lead (usually in a CRM), and sends it back to your ad platform or tracker when the offline conversion happens, so the two can be matched.
A click ID is a unique identifier attached to each ad click, such as Google’s GCLID or a tracker’s own ID. It is the link between the online click and the offline sale. Without a stored click ID, the conversion cannot be attributed.
Yes. Phone calls can be attributed through a call tracking platform, and in-store or CRM conversions can be uploaded manually or sent via a postback, as long as the original click ID was captured and stored somewhere you can retrieve it.
Pass the ClickFlare Click ID into your funnel with the {cf_click_id} token, then either fire an S2S postback when the conversion happens or upload conversions manually under Settings. Both methods match the conversion to a valid Click ID.