Home › Guides › Google Ads offline conversion import
Google Ads offline conversion import: a lead-gen setup guide
Google Ads offline conversion import sends what happens after the click, such as a qualified lead, a booked viewing or a signed deal, back to Google Ads, matched by the GCLID stored with each lead. Capture the GCLID on every form, import a stage that happens within 90 days and, if starting fresh, use enhanced conversions for leads.
If your sales happen on the phone, on WhatsApp or in a showroom, Google Ads only sees the form-fill. Smart Bidding then finds more people who fill in forms, which is not the same as finding people who buy.
Offline conversion import closes that gap. This is the set-up I use for UAE lead-gen accounts, including what to check when an upload succeeds but nothing shows in the report.
What Google Ads offline conversion import does
Google gives every ad click a unique Google Click ID (GCLID), and Google's overview of offline conversion imports explains the loop: save the GCLID with the lead, then send it back when that lead converts offline.
You send it with the conversion type and time, and Google Ads records the conversion against that click, alongside your other conversion data.
Which method: GCLID only, or enhanced conversions for leads?
Google calls GCLID-only offline conversion import "a legacy feature" on its file import page, and recommends that new advertisers start with enhanced conversions for leads, an upgraded version of the same import.
It adds hashed customer data, such as the email or phone from your form, to the match: Google compares it with what you upload later and with signed-in users who engaged with your ad. Google reports a median 10% more conversions for advertisers who sent first-party data alongside GCLIDs. That is Google's figure, not mine.
| GCLID import | Enhanced conversions for leads | |
|---|---|---|
| Match key | The GCLID only | Hashed email or phone, plus the GCLID where you have it |
| Upload window | 90 days after the click | 63 days after the click |
| Website tag needed | A script that stores the GCLID | Recommended: the Google tag capturing form data. Without it, the GCLID is required |
| External attribution | Supported (fractional credit) | Not supported |
| Google's status | Legacy (Google's word) | Recommended |
My rule for UAE lead-gen accounts: set up enhanced conversions for leads and keep sending the GCLID with every row, as Google advises. Keep GCLID-only import only if you need the 90-day window or your own multi-touch attribution. If an old import already runs, upgrade it instead of rebuilding.
Pick the stage you import before you build anything
Conversions uploaded more than 90 days after the last click are not imported, and the limit is 63 days for enhanced conversions for leads, according to Google's import guidelines. That rule decides what you can send.
Many UAE sales take longer. An off-plan buyer can take months to go from enquiry to booking a unit, and a clinic patient may pay for treatment long after the consultation. Import only the final sale and much of it arrives too late to count. Google's fix is to upload an earlier event that falls inside the window. I set up the stages like this:
- Qualified lead. Your team confirms budget and intent soon after the enquiry. High volume, fast, and a good bidding signal on its own.
- Viewing or consultation booked. Real estate, clinics and business setup all have a meeting step. It usually falls well inside 63 days.
- Deal closed. Import it when it lands in time, with a value in AED, mainly for reporting and value-based bidding later.
Google calls the primary (biddable) or secondary (observation-only) choice "critical". Make one stage primary, usually the deepest one that still happens often enough for Smart Bidding to learn from, and the rest secondary. When you create the action, Google's upgrade guide suggests the "Qualified lead" or "Converted lead" goal.
Step 1: capture the GCLID on every lead
To import by GCLID, Google's set-up guide requires auto-tagging, a script on every page that stores the click ID, and a field in your CRM that keeps it with the lead.
- Turn on auto-tagging in your Google Ads account, so the GCLID is added to your landing page URLs.
- Add a hidden GCLID field to every lead form on the site.
- Store the GCLID when someone lands. Google's sample script keeps it in local storage for 90 days and fills the hidden field on whichever page they enquire from. Run it on every page, for example as a Custom HTML tag in Google Tag Manager.
- Add a GCLID field to the lead record in your CRM and check that real leads arrive with it filled in. The GCLID is case sensitive, so nothing in between should change it.
Google asks you to follow local cookie consent rules when storing it; if you run a banner, see my Consent Mode v2 guide.
The gap I find in UAE accounts: leads that skip the form. A visitor taps the WhatsApp button or calls the number, no GCLID reaches the CRM, and the sale can never be imported. My workaround: put the stored click ID into the pre-filled WhatsApp message or a reference code your team logs, and record the phone number so enhanced conversions for leads can try a match. That is my practice, not a Google feature, and no match rate is complete.
Step 2: create the offline conversion action
Create the action under Goals, Summary, "+ Create conversion action", then "Conversions offline", where Google's set-up page lets you add a data source now or later. Three details prevent a failed first upload:
- Name it exactly as your CRM export will. The conversion name in the file must match the action in Google Ads, including spelling and capitalisation.
- Wait 4 to 6 hours after creating the action before the first upload. Google says uploads in that window may take 2 days to appear.
- Create it in the right account. With a manager account and cross-account conversion tracking, the action and uploads live at manager level; otherwise, in each client account.
Step 3: upload by file, schedule or Data Manager
Google's file import page lists Data Manager, the Google Ads API and Zapier as the ways to import, and recommends Data Manager. Pick by where your leads live:
- A spreadsheet or CRM export. Start with a one-off upload under Goals, Conversions, Uploads to test the file, then switch to a schedule. Scheduled imports need the file in Google Sheets or online over HTTPS or SFTP.
- HubSpot, Salesforce or a database. Connect it once in Google Ads Data Manager. Google says file sources look back 90 days on every run; HubSpot and Salesforce send 14 days first, then changes.
- A developer-built integration. Use the Data Manager API. From 15 June 2026, Google says these uploads move there and are blocked in the Google Ads API, apart from legacy access for integrations already sending them.
Every route needs the Google Click ID, the conversion name and the conversion time, with an optional order ID, value and currency. For UAE accounts, set the time zone as a time zone ID, the format Google recommends, for example Parameters:TimeZone=Asia/Dubai, and use AED as the currency code. Fill in the two consent columns as well: Google warns that leaving consent empty may make conversions unattributable.
Google also advises including an extra day of data in every upload. Duplicates are dropped automatically, so the overlap does no harm.
Why imported conversions are not showing
A successful upload does not mean the conversions appear in your report, and Google's troubleshooting page lists why accepted rows go missing. Check these in order:
- You are looking at the wrong date. Conversions are reported against the click date, not the upload date. Add "Conversions (by conv. time)" or "All conv. (by conv. time)" and widen the date range.
- Processing is not finished. Google's pages quote anything from about 3 hours to 48 hours, and up to 72 hours for iOS conversions keyed by GBRAID or WBRAID. Allow at least a day before you judge.
- The click was too recent. Clicks less than 6 hours old are rejected. Retry later.
- The time zone is wrong. A conversion time before the click is invalid, and a file time zone that differs from your CRM's can make a same-day conversion look earlier than its click.
- The GCLID is too old. Google keeps it for 90 days. Send an earlier stage, as above.
- The count setting is "One". Only one conversion per ad interaction counts, so a second stage under the same action is discarded. Give each stage its own action.
- Wrong account or action type. The action must exist in the account you upload to, with the source "Import from clicks".
With enhanced conversions for leads, "Unknown clicks" on part of the file is expected, because you upload every lead and only some came from Google Ads. If every row shows it, check the tag is capturing form data.
The set-up order I use
On one full-funnel account, rebuilding CRM lifecycle stages and syncing them to Meta and Google, plus CAPI and offline conversion tracking, was a core part of reaching a 780% ROI. The order matters more than the tool:
- Agree the stages with the sales team and write down what "qualified" means.
- Turn on auto-tagging and capture the GCLID on every form, with a plan for WhatsApp and phone leads.
- Turn on enhanced conversions for leads and accept the customer data terms.
- Create one action per stage, with only one set to primary.
- Test one file by hand, fix the errors, then schedule daily uploads.
- Wait 4 weeks before changing bid targets. When upgrading an old GCLID import, Google suggests running both for 1 to 2 conversion cycles or 4 weeks, whichever is longer, before swapping which is primary.
It is the principle behind fix your ad tracking first: Google can only find more of what you tell it counts.
Frequently asked questions
What is a GCLID in Google Ads?+
How long after the click can I import an offline conversion?+
Is offline conversion import being replaced by enhanced conversions for leads?+
Why are my imported offline conversions not showing in Google Ads?+
Related
Is Google bidding on leads your sales team ignores?
Apply for a free strategy call. We'll check your conversion actions, your GCLID capture and your CRM stages, and show you what Google Ads is really optimising for.