Analyst validating a secure offline conversion loop between CRM and advertising

Short answer: Offline conversion tracking is sending outcomes that happen outside your website, such as a qualified phone call, a site visit or a closed sale recorded in your CRM, back to Google Ads and matching them to the ad click that started the lead. You capture the click ID (GCLID) and the lead's email and phone at enquiry time, record the outcome and its time in the CRM, and import it daily, now preferably through Google Ads Data Manager as enhanced conversions for leads. It lets Google Ads report and bid on revenue instead of form fills.

On this pageWhat offline conversion tracking isDo you need it?How CRM offline tracking worksFive upload methods comparedTiming and matching rulesAdjusting and retractingAssigning valuesSaaS measurement exampleTroubleshootingSources

Need this done for you? GrowthSparx offers a fixed-scope lead tracking and attribution setup: GA4, Google Ads, Meta, WhatsApp, calls and CRM wired into one dashboard, usually live in 2–3 weeks.

Benchmark reference: the public 2025–2026 numbers behind this guide (Meta and Google CPC/CPM in India, CPL ranges by industry, landing-page conversion, real estate funnel rates, WhatsApp API pricing) are collected and graded in our India lead generation benchmarks 2026 report.

What is offline conversion tracking?

Google defines importing offline conversions as a way to "measure what happens in the offline world after your ad results in a click or call to your business" (Google Ads Help). The classic version works like this: you save each Google Click ID (GCLID) with the lead's information, and when the lead converts offline you send the GCLID back with the conversion name and time. Call conversions can be imported the same way.

"Offline" means "not observed by the ad tag", not only "in a physical place". A demo booked over the phone, a loan disbursed after document checks, an admission confirmed after counselling, a flat booking paid by cheque: all are offline conversions.

The method has changed. Google now says: "If you have not already adopted offline conversion import, we recommend starting with enhanced conversions for leads instead", an upgraded version that adds hashed email and phone to the match. Our enhanced conversions for leads setup guide has the tag and Data Manager steps; this page explains the system around it and how to choose an upload method.

Do you need offline conversion tracking?

Your situationNeed it?Why
Ecommerce, purchase completes on siteUsually noThe purchase tag already records the revenue
Lead gen with sales calls (real estate, education, healthcare, B2B, loans)YesThe form is not the sale; quality varies widely by keyword
High share of junk or duplicate leadsYes, urgentlyBidding on form fills teaches Google to find more junk
Fewer than ~15 qualified outcomes a monthYes for reporting; bid on a higher-volume stageToo few events for Smart Bidding to learn from the deepest stage
Leads mostly from callsYes, via call tracking plus importSee call tracking for Indian businesses

The "~15 a month" line is our working threshold, not a Google rule. Below it we import a shallower stage, such as "contacted and interested", as the bidding conversion and keep the deeper stage for reporting.

How does CRM offline conversion tracking work, step by step?

  1. Click. Auto-tagging adds gclid (or gbraid/wbraid on some iOS traffic) to the landing URL.
  2. Capture. A script stores the ID in a first-party cookie; the form writes it, plus email and phone, into hidden fields.
  3. Create. The CRM creates a lead holding the click ID, contact details, UTMs and a creation time with time zone.
  4. Qualify. Sales moves the lead through agreed stages. A workflow stamps qualified_at and won_at the first time each stage is reached and never overwrites them.
  5. Export. A daily job writes one row per new stage event: click ID, hashed email/phone, conversion action name, conversion time, value, currency.
  6. Import. Data Manager (or another method below) sends the rows to Google Ads, which matches them to clicks and reports them against the click's campaign, keyword and date.
  7. Optimise. After the imported action has a few weeks of data, it becomes the primary conversion for bidding, using Google's Qualified lead and Converted lead goals.

Steps 2–4 (field schema, qualification definitions, hidden-field mapping) are covered in detail in how to track qualified leads from Google Ads to CRM. The rest of this page is about steps 5–7.

One consequence of step 6 surprises clients: imported conversions are reported against the date of the ad click, not the date of the sale. A September click that closes in October raises September's conversions. Use the "All conv. (by conv. time)" column when you want outcomes by sale date.

Which upload method should you use?

MethodHow it worksGood forWatch out for
1. Manual file uploadDownload CRM report, format to template, upload in Google AdsTesting with a small cohort; very low volumeGets forgotten; irregular uploads; Google labels the file method legacy
2. Scheduled Google Sheet / HTTPS / SFTPCRM or script writes rows to a sheet or file; Google reads it on a scheduleCRMs without a native connector (Zoho, LeadSquared, custom PHP)For enhanced conversions for leads, scheduled uploads need pre-hashed user data
3. Data Manager connectorTools → Data manager connects a source directlyHubSpot, Salesforce, BigQuery and data warehouses; Google's recommended routeEach source has its own lookback per run (table below)
4. Zapier or similarCRM stage change triggers a Zap that sends the conversionQuick setups without developersPer-task fees; failed Zaps can go unnoticed
5. APIYour server sends conversions programmaticallyHigh volume, custom CRMsFrom 15 June 2026 these uploads go through the Data Manager API, not the Google Ads API

Scheduling options (Sheets, HTTPS, SFTP) and the pre-hashing requirement come from Google's file import article; Zapier and direct connections are listed in the Data Manager help page. Data Manager's lookback, per Google's enhanced conversions for leads article: Sheets, GCS, S3, HTTP and SFTP read the last 90 days every run; Salesforce and HubSpot read 14 days on the first run, then changes since the last successful run; BigQuery, Redshift, Snowflake, MySQL and PostgreSQL read the last 14 days every run.

What we usually recommend for Indian SMB lead-gen accounts: a Google Sheet fed by the CRM's workflow or a nightly export, read by Data Manager. It is cheap, visible to the marketing team and easy to audit. Move to a direct connector or warehouse once volume or data rules demand it.

The legacy GCLID file format, still useful for understanding what Google expects:

Parameters:TimeZone=Asia/Kolkata
Google Click ID,Conversion Name,Conversion Time,Conversion Value,Conversion Currency
Cj0KCQjw…,Site Visit Done,2026-10-08 11:30:00,5000,INR

Google warns not to remove the Google Click ID column and that missing or malformed time zones are a frequent cause of errors.

What timing and matching rules must the upload follow?

From Google's offline conversion imports FAQ:

RuleDetailWhat it means in practice
GCLID retentionGoogle retains GCLIDs for 90 daysA sale 4 months after the click cannot be imported; import an earlier stage that happens inside the window
Personal data windowConversions with personal information: within 63 daysUpload stage rows daily, not quarterly
FrequencyAt least daily; otherwise a consistent scheduleIrregular batches make bidding see sudden spikes
Delay after clickWait about 6 hours after the click for scheduled uploadsSame-day leads may be rejected as "click still processing"; re-upload
Order of eventsThe offline conversion cannot happen before the ad click"Conversion precedes click" is almost always a time-zone error
DuplicatesSame GCLID + conversion name + conversion time counts onceUse different conversion names for different stages

Long sales cycles. Real estate and B2B deals often close after 90 days. We import three stages: qualified (days), site visit or demo (weeks), and won (if within the window). Bidding runs on the middle stage; the won stage confirms the pattern.

How do you correct an offline conversion after it is uploaded?

Bookings get cancelled and deal values change. Google's conversion adjustments handle both:

  • RESTATE changes the value (for example, a ₹1,50,000 deal renegotiated to ₹1,20,000).
  • RETRACT removes the conversion entirely (for example, a booking cancelled and refunded). A retracted conversion ignores later adjustments.

Required columns are the Order ID used on the original conversion (or GCLID plus conversion time), Conversion Name, Adjustment Type, Adjustment Time and Adjusted Value (not needed for retractions). Google gives a 54-day window, recommends uploading at least 24 hours after the original conversion, and notes that restatements and retractions within 7 days are most readable by automated bidding.

Parameters:TimeZone=Asia/Kolkata
Google Click ID,Conversion Name,Conversion Time,Adjustment Type,Adjustment Time,Adjusted Value,Adjusted Value Currency
Cj0KCQjw…,Booking Won,2026-10-02 15:00:00,RETRACT,2026-10-09 10:00:00,,INR

Build adjustments into the CRM workflow: when a won deal moves to "Cancelled", write a RETRACT row the same day.

How should you value offline conversions?

Use real deal values for the won stage and a calculated value for earlier stages.

Worked example (illustrative; assumptions stated): a Gurugram B2B IT-services firm sells contracts averaging ₹4,00,000 with 25% gross margin. Of its qualified leads, 30% book a demo and 20% of demos close.

  • Value of a won deal (margin basis) = ₹4,00,000 × 0.25 = ₹1,00,000
  • Value of a demo = ₹1,00,000 × 0.20 = ₹20,000
  • Value of a qualified lead = ₹20,000 × 0.30 = ₹6,000

Upload those values with each stage. Using margin rather than revenue lets you set a target ROAS of 1.0 as break-even. Recalculate the stage rates every quarter from the CRM. Our lead funnel calculator does this arithmetic.

Run the same CRM stages to Meta if you advertise there; the process is in tracking Meta ads leads to CRM and sales.

How do you measure a SaaS PPC campaign with GA4, GTM, a CRM and offline conversions?

For SaaS PPC campaign measurement, each tool has one job: Google Tag Manager captures the click and form data, GA4 explains on-site behaviour, the CRM is the record of truth for pipeline and revenue, and Google Ads receives CRM stages as offline conversions so bidding follows qualified pipeline rather than sign-ups. Problems start when two tools count the same event or when the CRM never receives the click ID.

LayerJob in the stackWhat to set up
Google Tag ManagerCapture identifiers at the first visitRead GCLID (and gbraid or wbraid) plus UTM values from the landing URL, store them in a first-party cookie, and write them into hidden fields on the trial and demo forms. Fire tags on confirmed form success, not on button clicks; see our GA4 form tracking guide.
GA4Behaviour and landing-page analysisKey events for trial_signup and demo_request, linked to Google Ads for reporting. Do not also make them primary Google Ads conversions if the Ads tag or an offline import already counts the same lead (how to fix duplicate conversions).
CRM (HubSpot, Salesforce, Zoho and so on)Pipeline and revenue truthStore GCLID, email and phone on the lead; time-stamp each lifecycle stage: trial started, product-qualified, demo held or SQL, closed won with annual contract value.
Google AdsBidding and reportingOne offline conversion action per CRM stage, imported daily. Set the stage you can reliably record inside the 90-day click window, usually SQL, as primary; keep trial sign-up and closed won as secondary.

Worked scenario (illustrative; every number is an assumption): a Bengaluru HR-software company spends ₹3,00,000 a month on Google Search. GA4 records 400 trial sign-ups, the CRM marks 60 as product-qualified, 24 reach a held demo (SQL) and 6 close at an average annual contract value of ₹2,40,000.

  • Cost per trial = ₹3,00,000 ÷ 400 = ₹750; cost per SQL = ₹3,00,000 ÷ 24 = ₹12,500; cost per won deal = ₹3,00,000 ÷ 6 = ₹50,000.
  • First-year contract value = 6 × ₹2,40,000 = ₹14,40,000, so ROAS on first-year value is 4.8×.
  • SQL value for bidding = ₹2,40,000 × (6 ÷ 24) = ₹60,000; product-qualified value = ₹60,000 × (24 ÷ 60) = ₹24,000.

The useful readout is by campaign. If a "free HR software" campaign produces half the trials but only two of the 24 SQLs, it looks cheap in GA4 and expensive in the CRM, and bidding on SQL value will move budget away from it automatically. Check three numbers weekly: the share of CRM leads with a stored GCLID (aim for nearly all paid-search leads), the share of uploaded rows Google Ads reports as matched and imported in its offline conversion diagnostics, and the gap between GA4 trial counts and CRM trial records. Our B2B Google Ads guide covers the keyword side for SaaS.

Why aren't offline conversions showing in Google Ads?

SymptomLikely causeCheck
Upload succeeds, zero conversionsConversion name does not exactly match the actionCopy the name from Goals → Conversions; case and spaces matter
Most rows rejected because the click cannot be foundIDs truncated, altered by the CRM, or from another accountCompare a stored GCLID character-by-character with the landing URL
"Conversion precedes click"Times in IST uploaded with no time zone, or with UTCAdd Parameters:TimeZone=Asia/Kolkata or an offset on each time
Many Google Ads leads in the CRM have no GCLIDRedirects stripping parameters; hidden field not mapped; forms on another domainTest each landing page; see cross-domain tracking
Conversions double after a CRM changeStage re-saved creates a new timestampStamp stage time once; keep an "uploaded" flag
Numbers fine, bidding unchangedImported action still secondaryMake it primary after the data has built up

Sources

FAQ

Common questions

What is offline conversion tracking?

Offline conversion tracking records business outcomes that happen away from your website, such as a qualified call, a site visit, an admission or a signed contract, and sends them back to the ad platform that produced the lead. In Google Ads you store the click ID or the lead's email and phone, then import the outcome from your CRM so campaigns are judged and bid on real sales.

How does CRM offline conversion tracking work?

The website captures the Google click ID and contact details with each enquiry and passes them to the CRM. When sales moves the lead to an agreed stage, the CRM records the time and value. A daily job or connector sends those stage rows to Google Ads, usually through Data Manager, which matches them to the original ad click and reports them as conversions.

How long do I have to upload offline conversions to Google Ads?

Google keeps GCLIDs for 90 days, so click-based conversions must be uploaded within 90 days of the click. Conversions that rely on personal data, as in enhanced conversions for leads, should be uploaded within 63 days. Google recommends uploading at least daily and waiting about six hours after a click before a scheduled upload.

Is Google Ads offline conversion import being discontinued?

Not the concept, but the method is changing. Google labels the file-based GCLID import as legacy and recommends enhanced conversions for leads, set up through Data Manager. From 15 June 2026, offline conversion and enhanced conversions for leads uploads moved to the Data Manager API and are blocked in the Google Ads API, so old custom scripts need rebuilding.

Can I correct or remove an offline conversion after uploading it?

Yes, with conversion adjustments. A RESTATE adjustment changes the value, for example after a partial refund, and a RETRACT adjustment removes the conversion entirely, for example after a cancelled booking. Google's adjustment guide gives a window of 54 days and recommends uploading adjustments at least 24 hours after the original conversion. A retracted conversion cannot be adjusted later.

Need a practical growth system?

Book a review of your current acquisition, content and conversion workflow.

Book a Strategy Call
RS
Founder & Performance Marketing Lead, GrowthSparx

Rinku works across SEO, lead generation, paid acquisition and conversion systems for Indian and global businesses. This article uses practical operating frameworks, identifies limitations and links changing platform facts to primary sources.

Have a question? Message us directly on WhatsApp—usually a reply within a few hours.

Chat on WhatsApp