Tags: analytics commerce concept

Offline Conversion Imports

Date: 2026-09-27


Ad platforms bid on whatever outcome they’re shown. If the only outcome they see is a form fill, they learn to find form-fillers. Importing what happened afterwards — qualified, closed, refunded — lets bidding optimise to revenue, and it works by joining your records back to the ad click that started them.


An offline conversion import sends outcomes recorded outside the website — in a CRM, a sales system or a store — back to an ad platform, matched to the ad interaction that led to them.

“Offline” means “not seen by the pixel”, not “not on the internet”. A deal closed by a salesperson, a phone order and a refund are all offline in this sense.

The join

The whole mechanism is a join between two datasets that were never designed to meet:

AT THE CLICK — captured on the landing page, stored with the lead

lead_id   email_hash    gclid           submitted
L101      a3f9…         Cj0KCQ…abc      2026-09-01 10:14
L102      7be2…         (none)          2026-09-01 11:02   ← organic, no click ID
L103      c41d…         Cj0KCQ…xyz      2026-09-02 09:30
IN THE CRM — weeks later

lead_id   stage          value      stage_date
L101      won            £4,800     2026-10-12
L102      won            £2,100     2026-10-20
L103      disqualified   –          2026-09-05
WHAT GETS UPLOADED

gclid          conversion_action    value     time
Cj0KCQ…abc     closed_won           £4,800    2026-10-12 16:00
Cj0KCQ…xyz     disqualified*        –         2026-09-05 12:00
                                                ↑ L102 has no click — nothing to send

*Sending negative or low-value outcomes is optional, but it’s as informative to the bidding as the wins.

Notice what’s required before anything is uploaded: the click ID has to be captured on the landing page, carried through the form and stored against the lead. If that didn’t happen at submission, the conversion can never be matched later.

The two identifiers

Match keyWhat it isStrengthWeakness
Click IDA parameter added to the landing URL by the platform — gclid (Google), fbclid (Meta), msclkid (Microsoft)Exact match to one clickLost if the URL is stripped, the redirect drops it, or it isn’t stored — Browser Privacy Restrictions
Hashed personal dataEmail or phone, normalised and hashed with SHA-256, matched to the platform’s logged-in usersWorks without a click ID, across devicesMatch rate depends on the platform knowing that email — Server-Side Conversion APIs

Most setups send both. The hashing is consistent, not anonymising: the platform hashes its own users’ emails the same way to match them — Pseudonymisation and Anonymisation, PII in Analytics.

Platform specifics

Verified 2026-09; these change.

  • Google Ads. Conversions uploaded against a GCLID must fall within 90 days of the click. Enhanced conversions for leads (matching on hashed email or phone instead of or alongside the click ID) allows 63 days. Google recommends uploading at least daily for Smart Bidding to respond. In 2026 Google merged the enhanced conversions settings for web and leads into one
  • Meta. The separate Offline Conversions API was discontinued in May 2025; offline events now go through the standard Conversions API with action_source set to values like physical_store or system_generated. [CHECK: Meta’s current upload window for offline events — secondary sources say 62 days.]

Why it changes bidding

WITHOUT IMPORT                           WITH IMPORT
platform sees:  form submitted           platform sees:  won, £4,800
learns:         who fills forms          learns:         who buys
finds:          more cheap form-fillers  finds:          more buyers
reported CPA:   falls                    reported CPA:   rises, cost per £ of revenue falls

That right-hand reported CPA (cost per acquisition) rising is expected — the platform is counting fewer, better conversions — and it’s what gets the change reverted by someone reading the dashboard — Lead Quality vs Volume.

Failure modes

  • Click ID not stored. Single-page forms, third-party form tools and redirects often drop the URL parameters. Test end to end before relying on it — Instrumentation Debugging
  • Too few conversions for the bidding to learn from. Closed deals may be a handful a week. Import an earlier stage with more volume (SQL) alongside the final one — Lead Funnel Stages
  • Uploading late. Past the window, the conversion is silently dropped
  • Double counting with the online conversion for the same lead, if both are set as primary goals — Double Counting
  • Consent. Uploading personal data for ad matching needs a lawful basis — Consent Management, Legitimate Interest vs Consent
  • Attribution is still the platform’s. An imported sale is credited by the platform’s own model — the import improves bidding, not your view of what caused the sale — Walled Garden Reporting