Conversion Tracking & Data

Offline Conversion Import

By the AdFlint research team · Last reviewed November 2026

Uploads conversions that happened outside the website, such as a signed contract or a phone sale, back to the ad platform.

You store the click identifier, gclid for Google or the lead's hashed details, capture the outcome in your CRM, then upload conversion time and value so bidding learns which clicks produced revenue. It is essential for anything with a sales cycle. Uploads fail most often on window and timezone problems: a conversion recorded after the click-through window closes, or timestamps submitted in the wrong account timezone, is discarded.

Key takeaways

  • Offline conversion import uploads CRM outcomes to Google Ads, matched to the original ad click, so bidding can learn from real revenue.
  • GCLID uploads must arrive within 90 days of the last click, and uploads with personal data within 63 days.
  • Google recommends upgrading to enhanced conversions for leads, and uploads are moving to the Data Manager API.
  • Wrong time zones and long sales cycles are the most common reasons uploads are rejected.

In practice.

Offline conversion import lets you tell Google Ads about sales that happened outside your website, such as a signed contract, a phone order, or a store visit. The usual chain is: someone clicks an ad, Google appends a Google Click ID (GCLID) to the landing page URL, your site or form tool stores it with the lead, and your CRM records the outcome. Later you upload the GCLID, the conversion action name, the time, and a value. Google matches the upload to the click and counts it as a conversion. Auto-tagging has to be on for the GCLID to be added to your landing page address. Your form or booking tool then needs to capture it in a hidden field so it travels into the CRM with the lead.

The key limits are about time. Google's guidelines say conversions uploaded more than 90 days after the associated last click are not imported and do not appear in conversion statistics, and the FAQ adds that Google retains the GCLID for only 90 days. For uploads that include user-provided data, the limit is 63 days. Google deduplicates conversions that share the same identifier, conversion name, and conversion time, so re-uploading is safe. To record several conversions for one click, give each a different time and set counting to every. Conversions can be adjusted or restated for up to 55 days after first recorded. The upload carries a small set of fields: the identifier, the conversion action name, the time the conversion happened, and a value and currency if you want value-based bidding. Everything must match the conversion action you created in Google Ads.

Platform changes affect how you upload. Google recommends upgrading standard offline import to enhanced conversions for leads, which adds hashed user data so matching does not depend on the click ID alone. Its documentation says that from June 15, 2026, offline conversion import and enhanced conversions for leads uploads move to the Data Manager API and are blocked in the Google Ads API, and that legacy file formats must be upgraded to Data Manager. If an older tutorial tells you to upload a spreadsheet or call the Ads API, check that the method still exists for your account. Google recommends upgrading to enhanced conversions for leads, so plan any new build around hashed user data plus the GCLID, and use Data Manager for uploads. Old spreadsheet and API methods may no longer be supported on your account.

Typical failures are timing errors. An upload fails when the conversion time precedes the click time, which happens with wrong time zones, and Google's FAQ suggests adding 1 or 2 days or checking the time zone is set correctly. If the click has not been processed yet, you may be told to re-upload in 12 hours. Another failure is a sales cycle longer than 90 days, where the final close never fits. In that case, upload an earlier milestone, such as an appointment or proposal, that does happen inside the window. Another mistake is uploading only the final sale. If most leads take months, bidding learns almost nothing for weeks. Upload useful earlier stages as their own conversion actions, with lower values, so it learns sooner.

To use it, decide which CRM stages deserve a conversion: qualified lead, booked appointment, closed deal. Upload them on a regular schedule, for example daily, rather than in a monthly batch. Add real revenue values to the closed stage. This week, check that your forms capture and store the GCLID, that your CRM can export it with the stage and date, and that the time zone of your timestamps matches the account settings. Then run a test upload and look for errors. Check upload status in the conversions area of Google Ads after each run. Errors list the reason, and a few common ones, like a conversion before its click, point straight to a time zone or a missing day.

Worked example

A roofer misses the window

Suppose a roofing company gets a click on March 1 and stores the GCLID with the lead. The homeowner books an estimate on March 13 and signs a $14,000 contract on June 15. Counting day by day, June 15 is 106 days after the click, which is past the 90-day limit, so an upload of the signed contract would not be imported.

The roofer changes the plan. The estimate booking on March 13, day 12, is uploaded as its own conversion with an assigned value of $2,000, and later contracts that do close inside 90 days are uploaded as sales. Smart Bidding now learns which keywords produce booked estimates within days, instead of getting nothing back for the jobs with long sales cycles. The roofer also keeps a note of each stage's average close rate, so the assigned $2,000 estimate value stays defensible instead of being a guess.

Offline Conversion Import compared with

The settings this gets confused with, and how to tell them apart.

Common questions.

How long after the click can I import an offline conversion?

Conversions uploaded more than 90 days after the associated last click are not imported. If the upload includes personal data for enhanced conversions, the limit is 63 days.

What is a GCLID?

It is the Google Click ID added to your landing page URL when auto-tagging is on. You store it with the lead and send it back with the outcome so Google can match the conversion to the click.

Can I upload the same conversion twice?

Google deduplicates conversions with the same identifier, conversion name, and time, and reports only the first. To upload two real conversions for the same click, give each a different timestamp.

Why does my offline import say the conversion date precedes the click date?

Usually the time zone is wrong. Google's FAQ suggests adding 1 or 2 days to the conversion time or checking that the time zone is set correctly.

Sources

You should not need to know this to advertise.

AdFlint handles the settings for you, inside the Google and Meta accounts you already own.

Next step: How AdFlint tracks and optimizes these numbers

Try AdFlint free