Google Sheets offers the simplest way to import offline conversions to Google Ads. No coding, no API setup, no third-party tools.
If your conversions happen offline - phone sales, in-person meetings, or CRM deal closures - you can track them in a spreadsheet and upload them directly to Google Ads.
This guide walks through the complete process from GCLID capture to scheduled imports.
Why Use Google Sheets for Offline Conversions
Google Sheets works well for businesses that:
- Have a manageable volume of offline conversions
- Already track leads and sales in spreadsheets
- Want a simple setup without technical complexity
- Need a quick way to start importing before building automations
For high-volume imports or fully automated workflows, API integrations or Zapier may be better. But for most small to mid-sized businesses, Google Sheets handles the job.
What You Need Before Starting
Before setting up the import process, confirm you have:
- A Google Ads account with conversion tracking enabled
- GCLID capture on your website forms
- A system for recording when leads convert (CRM, spreadsheet, or manual tracking)
- Access to Google Sheets
The GCLID is essential. Without it, Google Ads cannot connect your offline conversion to the original ad click.
Step 1: Capture the GCLID on Your Website
When someone clicks a Google Ad, the URL includes a GCLID parameter:
https://yoursite.com/contact?gclid=EAIaIQobChMI...
You must capture this value and store it with the lead.
Add GCLID Capture to Your Forms
Add this JavaScript to your website:
<script>
function getParam(p) {
var match = RegExp('[?&]' + p + '=([^&]*)').exec(window.location.search);
return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
}
function setCookie(name, value, days) {
var expires = "";
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = "; expires=" + date.toUTCString();
}
document.cookie = name + "=" + (value || "") + expires + "; path=/";
}
function getCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') c = c.substring(1, c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
}
return null;
}
var gclid = getParam('gclid');
if (gclid) {
setCookie('gclid', gclid, 90);
}
window.addEventListener('load', function() {
var gclidField = document.querySelector('input[name="gclid"]');
if (gclidField) {
gclidField.value = getCookie('gclid') || '';
}
});
</script>
Add a hidden field to your forms:
<input type="hidden" name="gclid" value="">
When leads submit, the GCLID travels with their information into your CRM or spreadsheet.
Step 2: Create an Offline Conversion Action in Google Ads
You need a conversion action to receive the imported data.
- In Google Ads, go to Goals → Conversions → Summary
- Click New conversion action
- Select Import
- Choose CRM, files, or other data sources
- Select Track conversions from clicks
- Name your conversion action (e.g., “Offline Sale” or “Qualified Lead”)
- Assign a value (use “Use different values for each conversion” if values vary)
- Set the conversion window to match your sales cycle
- Save
Write down the exact conversion action name. You will need it in your spreadsheet.
Step 3: Set Up Your Google Sheet
Create a new Google Sheet with the following columns:
| Google Click ID | Conversion Name | Conversion Time | Conversion Value | Conversion Currency |
|---|---|---|---|---|
| EAIaIQobChMI… | Offline Sale | 2026-02-28 14:30:00 | 500 | USD |
Column Requirements
Google Click ID (required) The GCLID captured from the original click. Must be valid and not truncated.
Conversion Name (required) The exact name of your conversion action in Google Ads. Must match precisely, including capitalization.
Conversion Time (required) When the conversion occurred. Use one of these formats:
2026-02-28 14:30:002026-02-28T14:30:00ZFeb 28, 2026 2:30:00 PM
Include the timezone or use UTC to avoid attribution errors.
Conversion Value (optional but recommended) The monetary value of the conversion. Use numbers only, no currency symbols.
Conversion Currency (optional) The three-letter currency code (USD, EUR, GBP). Required if you include a value and your account uses multiple currencies.
Step 4: Format the Data Correctly
Google Ads is strict about formatting. Common mistakes cause import failures.
GCLID Formatting
- Do not add spaces or line breaks
- Do not truncate the GCLID (they are long)
- Paste as plain text to avoid hidden characters
Time Formatting
Google Sheets may auto-format dates. To ensure correct formatting:
- Select the Conversion Time column
- Go to Format → Number → Plain text
- Enter times manually in the correct format
Alternatively, use a formula to format timestamps:
=TEXT(A2, "yyyy-mm-dd hh:mm:ss")
Value Formatting
- Use numbers only (500, not $500)
- Use periods for decimals (129.99, not 129,99)
- Do not include thousand separators
Step 5: Download as CSV
Google Ads imports CSV files, not Google Sheets directly.
- Go to File → Download → Comma-separated values (.csv)
- Save the file to your computer
- Open the CSV in a text editor to verify formatting looks correct
Check that:
- Each row has the same number of columns
- No extra commas or line breaks exist
- Special characters display correctly
Step 6: Upload to Google Ads
Now import the conversions.
- In Google Ads, go to Goals → Conversions → Uploads
- Click the blue plus button
- Select Upload file
- Choose your CSV file
- Click Preview to check for errors
- If no errors appear, click Apply
Google Ads validates each row. Errors display with explanations so you can fix and re-upload.
Step 7: Verify the Import
After uploading, check that conversions appear correctly.
- Go to Goals → Conversions → Summary
- Find your offline conversion action
- Check that conversion counts increased
Processing can take several hours. If conversions do not appear after 24 hours, check the upload history for errors.
Setting Up Scheduled Imports
Manual uploads work, but scheduled imports save time.
Connect Google Sheets to Google Ads
- In Google Ads, go to Goals → Conversions → Uploads
- Click Schedules
- Click the blue plus button
- Select Google Sheets as the source
- Sign in and authorize access
- Select your spreadsheet and sheet
- Set the upload frequency (daily, weekly)
- Save
Google Ads will automatically import new rows on your schedule. Keep adding conversions to the same sheet, and they upload automatically.
Best Practices for Scheduled Imports
- Use a dedicated sheet that only contains upload data
- Add new conversions to the bottom of the sheet
- Do not delete or modify uploaded rows
- Keep column headers in the first row
- Ensure the sheet remains shared with your Google Ads account
Example Spreadsheet Template
Here is a complete example:
| Google Click ID | Conversion Name | Conversion Time | Conversion Value | Conversion Currency |
|---|---|---|---|---|
| EAIaIQobChMItest1234567890 | Qualified Lead | 2026-02-25 10:15:00 | 0 | USD |
| EAIaIQobChMItest0987654321 | Closed Sale | 2026-02-26 14:30:00 | 2500 | USD |
| EAIaIQobChMItest1122334455 | Closed Sale | 2026-02-27 09:45:00 | 1800 | USD |
| EAIaIQobChMItest5566778899 | Qualified Lead | 2026-02-28 11:00:00 | 0 | USD |
You can duplicate this structure and replace with your actual data.
Common Errors and Fixes
”Invalid Google Click ID”
- The GCLID is malformed or truncated
- The click happened outside your conversion window
- The click was not from Google Ads
”Conversion action not found”
- The conversion name does not match exactly
- Check capitalization and spacing
- Verify the conversion action exists in the correct account
”Invalid time format”
- Use a supported format:
yyyy-mm-dd hh:mm:ss - Remove timezone abbreviations (use offset or UTC)
- Check for hidden characters from copy-paste
”Duplicate conversion”
- The same GCLID and conversion time already exist
- Add a unique order ID column to distinguish transactions
Adding Order IDs to Prevent Duplicates
If you import the same conversion multiple times, Google Ads may count duplicates. Add an Order ID column to prevent this.
| Google Click ID | Conversion Name | Conversion Time | Conversion Value | Conversion Currency | Order ID |
|---|---|---|---|---|---|
| EAIaIQobChMI… | Closed Sale | 2026-02-28 14:30:00 | 500 | USD | ORD-12345 |
Each Order ID must be unique. Google Ads uses it to deduplicate imports.
Tracking Multiple Conversion Types
You can track different stages in the same spreadsheet:
- Qualified Lead (value: 0)
- Proposal Sent (value: 0)
- Closed Sale (value: deal amount)
Use the Conversion Name column to specify which action each row represents. Google Ads attributes each row to the correct conversion action.
Key Takeaway
Google Sheets provides a straightforward way to import offline conversions without technical setup.
The process requires capturing GCLIDs on your website, maintaining a properly formatted spreadsheet, and uploading to Google Ads manually or on a schedule.
Once connected, Google Ads receives your offline conversion data and uses it to optimize campaigns. Smart Bidding learns which clicks lead to real customers, improving lead quality and return on ad spend.
For businesses just starting with offline conversion tracking, Google Sheets is the fastest path to better data.
Related Posts
Server-Side Tracking vs Offline Conversion Import: What's the Difference?
7 min read
GCLID Stripped by Redirects: Why Your Conversions Are Unattributed and How to Fix It
12 min read
How to Set Up Offline Conversion Imports with Zapier and Webhooks
10 min read
Need Help With Your Google Ads?
I help e-commerce brands scale profitably with data-driven PPC strategies.
Get In Touch