Troubleshooting Guide

Google Ads Offline Conversions Not Working: 4 Causes and How to Fix Each

You have set up Google Ads offline conversion tracking. You have uploaded the CSV. Nothing shows up. This traces to one of four causes almost every time.

4 causes explainedExact fixes for eachAutomated solution included
#1
Cause: GCLID not captured
90d
Upload window from click
0
Silent failures with automation
10m
Fix time with ConversionLoop

Key Takeaways

1

GCLIDs not captured at click time is the number one cause — you cannot recover a GCLID retroactively.

2

The upload window is 90 days from the original click date, not from when the conversion happened.

3

CSV format errors cause silent failures — the upload shows green but conversions never appear.

4

The conversion action must be set to type Import from clicks — website or app types reject uploaded GCLIDs.

5

Automating the upload eliminates all four causes permanently.

1

Cause 1: GCLID was not captured at click time

When a user clicks your Google ad, Google appends a gclid parameter to your landing page URL. If your page does not read and store that parameter immediately, it is gone. Page redirects that strip query parameters, landing page builders that do not forward URL params, and forms without hidden GCLID fields are the main culprits.

Fix: Add a GCLID capture script to every landing page head. The script reads window.location.search, extracts the gclid parameter, and stores it against the visitor email or phone in a first-party cookie or localStorage.
2

Cause 2: The 90-day upload window was exceeded

Google Ads requires offline conversions to be uploaded within 90 days of the original click. The clock starts at click time, not conversion time. If your sales cycle is longer than 3 months — or if you batch uploads weekly — you silently miss the window.

Fix: Upload within 24-48 hours of the conversion event. If your CRM fires a webhook when a deal closes, trigger the upload immediately rather than batching.
3

Cause 3: CSV format errors

Google Ads expects specific column names: Google Click ID, Conversion Name, Conversion Time, Conversion Value, Conversion Currency. Conversion Time must be in yyyy-MM-dd HH:mm:ss format in UTC. Extra columns, typos in header names, and BOM characters from Excel all cause silent row-level failures.

Fix: Generate CSV uploads programmatically rather than manually in Excel. Use the Google Ads API UploadClickConversions endpoint, or a tool that handles formatting automatically.
4

Cause 4: Conversion action configuration

Your Google Ads conversion action must have source set to Imported from clicks. If it was created as Website or App type, uploaded GCLIDs are silently discarded. The conversion action name in your upload file must match Google Ads exactly — case-sensitive, space-sensitive.

Fix: In Google Ads, open Conversions, select your action, verify Source shows Imported from clicks. If it shows Website or App, create a new conversion action with the correct type.

Manual upload vs. ConversionLoop

Why the manual process breaks at scale — and what changes with automation

Feature
Manual CSV
ConversionLoop
GCLID capture
Manual — easy to miss
Automatic on every page load
Upload timing
Weekly batches
Real-time — under 60 seconds
Format errors
Common — silent failures
Zero — handled automatically
90-day window
Missed regularly
Never — instant upload
Error visibility
None
Full diagnostics dashboard

The manual fix and where it breaks

The manual process works at low volume. Above 50-100 conversions per week it degrades: mismatches accumulate, formats drift, batching delays degrade Smart Bidding signal. Every failure is invisible.

The automated fix: server-side conversion upload

Server-side tools capture GCLIDs automatically on page load, listen for conversion events via CRM webhooks, and upload to Google Ads within seconds. No manual exports, no format errors, no missed windows.

Stop diagnosing. Start tracking.

ConversionLoop handles GCLID capture, upload formatting, and delivery automatically. Set it up once.

Start free trial

How to verify your conversions are working

After uploading, wait 3-4 hours then check Google Ads Conversions. If the count has not increased, open the Diagnostics tab — it shows exactly which uploads failed and why. GCLID not found means expired or uncaptured. Conversion time out of range means 90-day window exceeded. Unknown conversion action means name mismatch.

Frequently asked questions

I uploaded conversions and Google Ads says accepted, but they don't show in reports.

Check the 90-day window first. If the original click was more than 90 days before your upload, the upload accepted but the conversion was discarded. Also verify your conversion action is active, not paused.

My CSV passes validation but conversions still aren't showing up.

Most likely cause: timezone mismatch. Your Google Ads account has a timezone setting, and conversion times are evaluated against that timezone. A timestamp at midnight UTC might fall outside the valid window for a UTC-8 account.

Never debug offline conversions again

Automated GCLID capture, real-time upload, and full error diagnostics. Every conversion, every time.

Start free — 14 days on us

No credit card required · No developer needed · Cancel anytime