Most Google Ads conversions happen after the click — after the form is submitted, after the phone call, after the sales meeting. Offline conversion imports let you feed this real-world outcome data back into Google Ads so Smart Bidding can learn which clicks actually generate revenue, not just which clicks generate form fills.
This guide covers the complete process: capturing the click identifier, formatting your data, uploading it to Google Ads, and setting up recurring imports.
What Are Offline Conversions?
Online conversions happen on your website — a form submission, a purchase, a page view. Google Ads can track these automatically with conversion tags.
Offline conversions happen away from your website — a phone call that turns into a booking, a lead that becomes a paying client after a meeting, a quote request that converts into a signed contract. Google Ads has no way of knowing about these unless you tell it.
Offline conversion imports bridge this gap. You upload a file that tells Google: “This click from Tuesday led to a $5,000 sale on Friday.” Google Ads then uses this data to optimise your campaigns, showing your ads to people who look like the ones who actually bought — not just the ones who filled in a form.
For lead generation businesses, this is one of the most impactful things you can do with your Google Ads account. Without it, Smart Bidding optimises for form submissions, and not all form submissions are equal. With offline conversion data, Smart Bidding optimises for actual revenue.
Prerequisites
Before you can import offline conversions, you need three things in place:
1. Auto-Tagging Must Be Enabled
Auto-tagging is what makes Google Ads append the gclid parameter to your ad URLs. When someone clicks your ad, the URL they land on looks like this:
https://yoursite.com/landing-page?gclid=EAIaIQobChMI...
The gclid (Google Click Identifier) is a unique ID for that specific click. You need to capture and store it so you can later tell Google which click led to a conversion.
To verify auto-tagging is enabled: go to Admin > Account settings in Google Ads and check that “Auto-tagging” is turned on. It is enabled by default on most accounts, but confirm it.
2. Your Forms Must Capture the GCLID
This is the step most people miss. The gclid is in the URL when someone lands on your site, but it needs to be stored and submitted with your form. There are a few ways to do this:
- Hidden form field: Add a hidden field to your form and use JavaScript to populate it with the gclid value from the URL
- Cookie-based capture: Store the gclid in a cookie when the visitor arrives, then read it when the form is submitted
- WordPress plugin: Tools like TrueConversion capture the gclid automatically on every form submission without any code changes — the gclid is stored alongside the lead data and can be exported or uploaded to Google Ads directly
If you want to do it manually with JavaScript, here is a basic approach. Add a hidden field named gclid to your form, then include this script on your landing pages:
// Get gclid from URL and store in cookie
function getParam(p) {
var match = RegExp('[?&]' + p + '=([^&]*)').exec(window.location.search);
return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
}
var gclid = getParam('gclid');
if (gclid) {
document.cookie = 'gclid=' + gclid + ';max-age=2592000;path=/';
}
// On form load, populate hidden field from cookie
var gclidField = document.querySelector('input[name="gclid"]');
if (gclidField) {
var gclidCookie = document.cookie.match('(^|;)\\s*gclid\\s*=\\s*([^;]+)');
if (gclidCookie) {
gclidField.value = gclidCookie.pop();
}
}
The cookie approach is important because visitors often do not convert on the same page they land on. They might click your ad, browse several pages, then submit a form on a different page. The cookie preserves the gclid across page views.
For more detail on capturing UTM parameters and click IDs on WordPress forms, see our UTM tracking guide for WordPress contact forms.
3. A Conversion Action for Offline Imports
You need a conversion action in Google Ads that is specifically configured for offline imports:
- Go to Goals > Conversions > Summary
- Click + New conversion action
- Select Import
- Choose Other data sources or CRMs, then Track conversions from clicks
- Name it something clear like “Qualified Lead” or “Closed Sale”
- Set the count model — One for leads (one per click) or Every for transactions
- Set a conversion value if you know it, or leave it to be set per upload
- Click Create and continue
Consider setting this conversion action as primary and your website form submission as secondary. This way Smart Bidding optimises for actual qualified leads or sales rather than raw form fills. See our guide to primary and secondary conversions for the full explanation.
Formatting the CSV Upload File
Google Ads accepts offline conversions as a CSV file with specific columns. Here is the required format:
| Column | Description | Example |
|---|---|---|
| Google Click ID | The gclid captured from the ad click | EAIaIQobChMI… |
| Conversion Name | Must exactly match the conversion action name in Google Ads | Qualified Lead |
| Conversion Time | When the offline conversion happened | 2026-02-15 14:30:00+1300 |
| Conversion Value | The value of this conversion (optional but recommended) | 500 |
| Conversion Currency | Three-letter currency code (required if you include value) | NZD |
Here is what a sample CSV file looks like:
Google Click ID,Conversion Name,Conversion Time,Conversion Value,Conversion Currency
EAIaIQobChMIexample1,Qualified Lead,2026-02-10 09:15:00+1300,500,NZD
EAIaIQobChMIexample2,Qualified Lead,2026-02-11 14:30:00+1300,1200,NZD
EAIaIQobChMIexample3,Qualified Lead,2026-02-12 11:00:00+1300,800,NZD
The Date Format Is Critical
The most common upload error is an incorrect date format. Google Ads requires:
yyyy-mm-dd hh:mm:ss+timezone
The timezone offset must be included. For example:
- New Zealand:
+1300 - US Eastern:
-0500 - US Pacific:
-0800 - UK:
+0000 - Australia Eastern:
+1100
Note: there is no colon in the timezone offset. It is +1300, not +13:00.
The Conversion Name Must Match Exactly
The “Conversion Name” column must exactly match the name of the conversion action you created in Google Ads — including case and spacing. If your conversion action is called “Qualified Lead” and your CSV says “qualified lead”, the upload will fail for those rows.
Uploading the File
Once your CSV is ready:
- Go to Goals > Conversions > Uploads in Google Ads
- Click the + button (or “Upload”)
- Select your CSV file
- Google will validate the file and show you a preview — check for errors
- If everything looks good, click Apply
After uploading, the status column will show “Processing.” It typically takes a few hours for the conversions to appear in your reports, and up to 24 hours in some cases.
Timing: Wait at Least 24 Hours After the Click
Google needs time to register and process the original ad click before it can accept an offline conversion for that click. The recommendation is to wait at least 24 hours after the click occurred before uploading the corresponding conversion. Uploading too soon can result in unmatched conversions.
In practice, this is rarely an issue for most businesses. If someone clicks your ad on Monday and becomes a qualified lead on Wednesday, you are well within the window. The 24-hour rule mostly matters if you are trying to upload conversions the same day as the click.
Scheduling Regular Uploads
Manual CSV uploads work, but they are tedious. For ongoing offline conversion tracking, you have several options:
Google Ads API: If you have development resources, the Google Ads API allows you to upload conversions programmatically. This is the most robust option for large-scale operations.
Google Ads scheduled uploads: In the Uploads section, you can configure Google Ads to automatically pull a CSV file from a URL (like a Google Sheets published as CSV) on a daily or weekly schedule. Go to Goals > Conversions > Uploads, click Schedules, and set up the recurring import.
Zapier or Make: Integration platforms can connect your CRM to Google Ads and push conversions automatically when a lead status changes. This works well for smaller businesses without development teams.
WordPress plugins: If your leads come through WordPress forms, TrueConversion captures the gclid automatically and can upload offline conversions to Google Ads without manual CSV work — bridging the gap between your forms and your ad account.
What Happens After You Upload
Once offline conversions are imported:
- They appear in your conversion reports attributed to the original click date (not the upload date or conversion date)
- Smart Bidding starts using this data to optimise future bids — it learns which audiences, keywords, and placements lead to real conversions
- You can see offline conversions alongside online conversions in your campaign reports by adding the “All conversions” column
- The conversion appears under the campaign, ad group, and keyword that generated the original click
It takes time for Smart Bidding to learn from offline conversion data. Google recommends having at least 30 offline conversions per month for the algorithm to use the data effectively. The more data you provide, the better the optimisation. Run a periodic conversion tracking audit to verify your imports are being matched correctly.
Common Upload Errors and How to Fix Them
“Conversion action not found”: The Conversion Name in your CSV does not match any conversion action in Google Ads. Double-check the name, including capitalisation and spacing.
“Invalid click ID”: The gclid value is malformed or truncated. This often happens when the gclid was not captured completely from the URL. Ensure your capture mechanism handles the full gclid string (they can be over 100 characters).
“Click too old”: The gclid is from a click that happened outside your conversion window. The default click-through conversion window is 30 days — if you are uploading a conversion for a click that happened 45 days ago, it will be rejected. Extend your conversion window if your sales cycle is longer.
“Conversion time format error”: The date is not in the required yyyy-mm-dd hh:mm:ss+timezone format. The most common mistakes are using slashes instead of dashes, omitting the timezone, or including a colon in the timezone offset.
“Duplicate conversion”: You are uploading a conversion for a gclid/time combination that already exists. This is usually harmless — Google skips duplicates rather than double-counting them, as long as the count model is set to “One.”
If you are seeing discrepancies between what you upload and what Google reports, our article on why Google Ads reports different conversion numbers covers the most common causes.
Offline Conversions Without a GCLID
What if you did not capture the gclid? You have a couple of alternatives:
Enhanced conversions for leads: Instead of using the gclid, you can upload hashed customer data (email address, phone number) that Google matches against its user database. See our enhanced conversions setup guide for the full walkthrough.
Start capturing it now: If your forms are not collecting the gclid, fix that first. You cannot retroactively associate old leads with their gclids. Going forward, make sure every form submission stores the gclid. Once you have a few weeks of data with gclids attached, you can start uploading offline conversions.
For WordPress sites, the fastest way to start capturing gclids is to install a tracking plugin. Our guide to tracking WordPress form lead sources covers the options in detail.
Summary
Offline conversion imports tell Google Ads which clicks led to real business outcomes. The process requires three things: auto-tagging enabled, gclid capture on your forms, and a properly formatted CSV upload. The date format and exact conversion action name are the two most common sources of upload errors.
For the best results, set your offline conversion action as primary and your online form submission as secondary — this gives Smart Bidding the cleanest possible signal about which clicks actually matter. Upload regularly (at least weekly) and aim for at least 30 conversions per month to give the algorithm enough data to work with.
Skip the spreadsheets. TrueConversion captures the gclid on every WordPress form submission and feeds qualified leads back to Google Ads as offline conversions — automatically. No CSV formatting, no manual uploads. Try it free.
Google Ads integration requires the Pro plan ($49/month). Free 14-day trial available.
Frequently Asked Questions
How long until I see imported conversions in my reports?
After uploading, conversions typically appear within a few hours, though it can take up to 24 hours. They are attributed to the original click date, not the upload date. So if the click happened on February 1st and you upload the conversion on February 15th, the conversion appears in your February 1st data.
What if I do not have the gclid for some leads?
You cannot import standard offline conversions without a gclid. However, you can use enhanced conversions for leads, which matches on hashed customer data (email address) instead. If you are missing gclids for historical leads, start capturing them now and begin uploading once you have enough data going forward.
Can I import negative conversions to correct mistakes?
Google Ads does support conversion retractions. You can upload a file to remove previously imported conversions if they were uploaded in error. In the Uploads section, look for the “Apply adjustments” option. You can retract specific conversions by gclid and conversion time. This is useful if a sale falls through or a lead is disqualified after the conversion was already imported.
Leave a Reply