How to Upload Offline Conversions to Google Ads From Your CRM
How to upload offline conversions to Google Ads from your CRM in 2026: what the "legacy" label on file imports means, when to use Data Manager instead, and the steps from saving the click ID to a clean upload.
Most leads from Google Ads don’t buy online. They fill in a form, take a call, get a quote, and maybe sign a contract three weeks later. Google never sees that sale unless you tell it.
Why send CRM data back to Google Ads
An “offline conversion” is a result that happens outside your website: a qualified lead, a signed deal, a store visit or a phone sale. When you send those results back, two things change.
First, your reports show which campaigns and keywords produce customers, not just form fills. Second, Smart Bidding (Google’s automatic bidding) learns from real sales. Without it, Google optimizes toward any form submission, including spam and tire-kickers.
The link between the ad and the sale is the GCLID, the Google Click ID. With auto-tagging on, Google adds it to your landing page URL, like ?gclid=EAIaIQob.... If you save it with the lead, you can later tell Google “this click became a $4,000 customer.”
Your options in 2026
This is where many older tutorials are now out of date. Google has moved offline imports to a new home, and the old methods carry warning labels.
1. Google Ads Data Manager (recommended). Data Manager is the tool inside Google Ads that connects your data sources. Google’s file import page now says you should import conversions using Data Manager (Google Ads Help). It connects to Google Sheets, files on your own server or website, cloud storage, databases and CRMs such as HubSpot and Salesforce. The supported sources table has the current list. You map your columns to Google’s fields on screen, so there is no fixed template.
2. File uploads (legacy). The familiar method still works. You go to Goals › Conversions › Uploads, click the plus button and upload a CSV, Excel file or Google Sheet. But Google’s page is now titled “(legacy)” and states plainly that offline conversion import is a legacy feature. We found no official end date as of October 2026. It is fine for GCLID uploads and small volumes. It is not available for enhanced conversions for leads, which only supports Data Manager files.
3. Partner and Zapier connections. When you create an offline conversion action, Google offers a direct connection, a third-party integration by Zapier, or a partner integration (GCLID setup guide). These suit teams without a developer.
4. The API. Since June 15, 2026, offline conversion and enhanced conversions for leads uploads go through the Data Manager API. The older Google Ads API only accepts setups that were already sending them between January and June 2026 (About offline conversion imports). If a developer built your upload, ask whether it has moved.
One more change matters. Google recommends that advertisers who haven’t adopted offline imports yet start with enhanced conversions for leads instead, and that current users upgrade. That method matches on the lead’s email or phone rather than only the GCLID. Our guide to enhanced conversions for leads covers it. The GCLID steps below still matter either way, because Google asks you to send the GCLID whenever you have it.
Set it up in six steps
Step 1: Turn on auto-tagging
Auto-tagging adds the GCLID to your ad URLs. It is on by default for new accounts, but check: Admin › Account settings › Auto-tagging (About auto-tagging). Without it there is nothing to capture.
Step 2: Capture the GCLID on every form
The GCLID sits in the landing page URL, but your form is often on another page, and visitors browse first. Google’s setup guide asks for two pieces:
- a small script on every page that saves the GCLID in a cookie or local storage (Google’s sample keeps it for 90 days), and
- a hidden field in each form that sends the saved GCLID along with the lead.
You don’t need to write that script yourself. The GCLID capture script generator builds one for your form setup. It also saves GBRAID, WBRAID and UTM tags and handles cookie consent. Follow your local consent rules: in many regions you need the visitor’s permission before storing the ID.
Step 3: Store the GCLID in your CRM
Create a custom field on the lead or contact record, such as “Google Click ID”, and map the hidden form field to it. The GCLID is case sensitive, so never let a tool change its capital letters. Test it: click your own ad, submit a test lead, and check that the full ID arrived in the CRM.
Step 4: Create the offline conversion action
In Google Ads, open Goals › Summary, click + Create conversion action and choose the offline (import) option. Google then asks you to connect a data source, or you can skip that and connect one later (Google Ads Help).
A few choices matter here:
- Name. Keep it short and plain, like “Qualified lead”. A legacy file must use this exact name, including capital letters.
- What to import. Pick the stage that happens within 90 days of the click and that sales trusts, such as a qualified lead or a closed deal.
- Primary or secondary. A primary action feeds bidding. Google warns that the wrong mix can hurt Smart Bidding, so start a new action as secondary while you test.
Then wait. Google says to wait 4–6 hours after creating the action before you upload conversions for it.
Step 5: Build the upload
For a legacy file, Google’s template needs at least three columns: Google Click ID, Conversion Name and Conversion Time. Conversion Value and Conversion Currency are optional (file import rules). The time zone goes in a first line like Parameters:TimeZone=America/Chicago. Google recommends a time zone name over an offset like -0500 to avoid errors when daylight saving time changes.
CRM exports rarely come out in that shape. Dates are in the wrong format, values have currency symbols, and some GCLIDs are too old. The offline conversions template builder for Google Ads turns an export from HubSpot, Salesforce or a spreadsheet into the right layout and sets aside rows Google would reject. Its file is made for the legacy uploader: the first line sets the time zone.
Consent columns. If you have customers in the European Economic Area (EEA), the UK or Switzerland, also fill in the optional Ad User Data and Ad Personalization columns with Granted or Denied, based on what each person agreed to (file import rules). Google’s EU user consent policy requires consent for using personal data in ads, and the same rules apply when you send data through Data Manager. The template builder keeps these two columns when your export has them.
For Data Manager, you point it at a Google Sheet or a connected source and map your columns to Google’s fields. Data Manager expects column headers in the first line (Data Manager rules), so don’t paste in the legacy file with its time zone line. Use the enhanced conversions for leads upload file builder instead: it writes Data Manager’s field names and keeps the GCLID. The same data rules apply: a GCLID, a conversion time with a time zone, and the right conversion action.
Step 6: Upload and read the results
For a legacy file, go to Goals › Conversions › Uploads, click the plus button, choose the source, pick the file, then Preview and Apply. Afterwards, open the upload and download the results. Each row gets a status. If a whole file fails, the reason is in the first row of the results file (Google Ads Help).
Don’t panic if the numbers don’t appear at once. Processing typically takes less than 12 hours, and you may need to wait a few days before every row shows in reports. To compare with your CRM, add the Conversions (by conv. time) column. Standard columns date a conversion by the click, not the sale.
The rules that reject rows
These rules are behind the error messages on Google’s troubleshooting page, FAQ and file import page.
- The click is too old. Google keeps a GCLID for 90 days. If deals take longer than that, import an earlier stage such as “qualified lead”.
- The click is too recent. Clicks less than 6 hours old can’t be imported yet. Retry later.
- The conversion comes before the click. Almost always a time zone mistake, or a date-only CRM field read as midnight. Check the time zone first.
- The name doesn’t match. The conversion name must match the action’s name exactly. “Qualified Lead” and “qualified lead” are different actions to Google, and so is the name with a trailing space.
- Wrong account. Upload to the account that owns the action. If an agency or head-office account (Google calls it a manager account) tracks conversions for several ad accounts, upload to that manager account.
- Duplicates. A row with the same GCLID, conversion name and conversion time as an earlier one is dropped. Two sales from one click need different times.
When an upload comes back with errors, the offline conversion upload error explainer matches each result message to its cause and fix.
Leads without a GCLID
Many CRM records have no GCLID at all: phone leads, people who came back through a bookmark, forms that weren’t set up yet, or visitors who declined cookies. A GCLID click import can’t use those rows.
Enhanced conversions for leads closes that gap. It matches on the email address or phone number the person gave you, so a sale can still be credited to the ad without a saved click ID. Those conversions must be uploaded within 63 days, and Google says to include the GCLID too whenever you have it.
A simple upload routine
Google’s FAQ recommends uploading at least daily. If you can’t, upload on a steady schedule, such as every two days or once a week. A Data Manager connection to a Google Sheet or your CRM does this for you. If you upload files by hand, a weekly routine looks like this:
- Export last week’s qualified leads and sales, with GCLID, date, time and value.
- Build the file and remove rows older than 90 days or newer than 6 hours.
- Upload, preview, apply.
- Download the results a day later and fix any rejected rows at the source in your CRM.
- Compare the Conversions (by conv. time) column with your CRM count once a month.
Keep the routine boring and regular. Smart Bidding learns from a steady flow of conversions, and a forgotten month of uploads costs you more than a few rejected rows.
Frequently asked questions
How do I upload offline conversions to Google Ads?
Turn on auto-tagging, save each visitor’s GCLID with the lead in your CRM, and create an offline conversion action. Then send the conversions through Google Ads Data Manager (recommended) or, for the legacy file method, go to Goals › Conversions › Uploads and upload a file with the Google Click ID, Conversion Name and Conversion Time columns. See Google’s GCLID setup guide.
Can I upload offline conversions without a GCLID?
Not with a GCLID-based click import, because the click ID is the match key. You can with enhanced conversions for leads, which matches on the email or phone number the lead gave you. Google recommends starting with it if you are new to offline imports.
How long do offline conversions take to show in Google Ads?
Google says processing typically takes less than 12 hours, and you may need to wait a few days before every successful upload shows in reports. Conversions keyed by GBRAID or WBRAID can take up to 72 hours.
How far back can I upload offline conversions?
Within 90 days of the click for conversions with a GCLID, and within 63 days for conversions matched on customer data, according to Google’s offline import FAQ.
Do I need a new conversion action for offline conversions?
Yes. A website tag action can’t receive uploads. Create an offline conversion action in Goals and use its exact name in your file. Google says to wait 4–6 hours after creating it before the first upload.
Should I use file uploads or Google Ads Data Manager?
Google now calls file-based offline import a legacy feature and recommends Data Manager. File uploads still work for GCLID conversions, but enhanced conversions for leads only accepts Data Manager files. Use Data Manager for anything you plan to keep running.