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 links actions that happen off your website, such as calls, in-store sales, and closed deals, back to the ad click that drove them.
- It works by capturing a click identifier at the moment of the click, storing it (usually in your CRM), then sending it back to your ad platform or tracker when the conversion happens.
- The main methods are click-ID imports (like Google’s GCLID), platform offline event uploads, and server-to-server postbacks fired from your backend.
- In a tracker like ClickFlare, you can either fire an S2S postback when the offline event happens or upload conversions manually, both matched to a valid Click ID.
What Is Offline Conversion Tracking?
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.
How Does Offline Conversion Tracking Work?
Every offline conversion tracking setup follows the same three-part logic, no matter which platform or tool you use:
- Capture the click ID. When someone clicks your ad, the platform appends a unique click identifier to the landing page URL (Google calls it the GCLID, Microsoft the MSCLKID, and most trackers generate their own click ID). This value is what ties everything together.
- Store it with the lead. The click ID has to travel with the lead into wherever you record it. The standard approach is a hidden form field that reads the click ID from the URL and submits it alongside the name, email, and phone number, so the value lands in your CRM next to the lead record.
- Send it back when the conversion happens. When the deal closes offline, you send that stored click ID (plus the sale value and time) back to your ad platform or tracker. It matches the ID to the original click and records the conversion.
![]()
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.
Types of Offline Conversions You Can Track
“Offline” covers any conversion that finishes away from your site. The most common types marketers track include:
| Conversion Type | Example | Typical Industry |
|---|---|---|
| Phone calls | A lead calls after clicking an ad and books a service | Home services, legal, healthcare, pay per call |
| In-store purchases | A shopper sees an ad online and buys in person | Retail, automotive, hospitality |
| Closed CRM deals | A form-fill lead is qualified and signs weeks later | B2B, SaaS, real estate, finance |
| Delayed or upsell revenue | A renewal, upsell, or refund adjustment after the first sale | Subscriptions, affiliate offers, lead gen |
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.
Why Offline Conversion Tracking Matters
Skipping offline conversions does not just leave a reporting gap. It actively misleads your optimization. Here is what accurate tracking gives you:
- Complete attribution. You see the full customer journey, including the part that finishes on a phone or in a shop, instead of judging campaigns on website actions alone.
- Smarter budget decisions. When you know which keywords and campaigns produce actual revenue (not just cheap leads), you can move spend toward what closes and away from what only looks good on the surface.
- Better algorithm signals. Feeding real conversions back to ad platforms lets their bidding models optimize toward buyers, not just form-fillers. This is where the biggest performance gains usually come from.
- Higher-quality lead scoring. Passing back the conversions that actually turned into revenue teaches the platform to find more of those people, which improves lead quality over time.
Methods for Offline Conversion Tracking
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.
Click ID Imports (GCLID, MSCLKID)
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.
Platform Offline Event Uploads
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.
Server-to-Server (S2S) Postbacks
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.
Manual Conversion Upload
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.
How to Set Up Offline Conversion Tracking With ClickFlare
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.
Step 1: Capture and Pass the Click ID
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.
Step 2 (Method A): Fire an S2S Postback When the Conversion Happens
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.
Step 2 (Method B): Upload Conversions Manually
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.
Step 3: Send Conversions Back to Your Ad Platform
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.
Step 4: Test Before You Go Live
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.
Common Offline Conversion Tracking Mistakes to Avoid
- Not capturing the click ID at all. This is the number one failure. If the ID never makes it into your CRM, the conversion can never be attributed, no matter how good your tracker is.
- Ignoring the attribution window. Every platform expires click IDs after a set period. Uploading a conversion that closed after the window means it will not match. Know your window and reconcile before it lapses.
- Double-counting conversions. Firing both a postback and a manual upload for the same event inflates your numbers. Use one method per conversion event.
- Not passing revenue back. Sending a bare conversion with no value stops the ad platform from optimizing toward high-value buyers. Include the sale amount whenever you can.
Final Thoughts on Offline Conversion Tracking
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.
Frequently Asked Questions
What is offline conversion tracking?
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.
How does offline conversion tracking work?
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.
What is a click ID and why is it so important?
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.
Can I track offline conversions without a website form?
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.
How do I track offline conversions in ClickFlare?
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.
Need a hand with offline conversion tracking?
Try out ClickFlare for free and book a call with one of our tracking specialists who will guide you through the entire process.


