GCLID Checker for Google Ads Offline Uploads

Check a column of GCLIDs before you upload conversions: find values Google can't match and clicks that are past the 90-day upload limit, using the click dates from your CRM.

Runs in your browser. Nothing is uploaded.For Google

GCLID Checker for Google Ads Offline Uploads

  1. Upload
  2. Check
  3. Download

1 Add your GCLIDs

Choose a file or drag it here

CSV, Excel, TSV or one GCLID per line · up to 300 MB

Rules last checked: against the official pages:

How to use the GCLID checker

This GCLID checker looks at every Google Click ID in your CRM export before you send offline conversions to Google Ads. It follows Google's offline conversions with GCLID help page and its list of upload errors, and it works out the upload deadline for each click from the click date in your file.

  1. Add the GCLIDs. Upload your CRM export, or paste one GCLID per line if you only want to check the IDs themselves.
  2. Add dates if you have them. A click date column turns on the 90-day check and the upload-before date. A conversion date column adds the window check and finds conversions dated before their click.
  3. Set your time zone and window. Use the time zone your CRM stores dates in, and the click-through window of your conversion action.
  4. Read the result for each row. “No known problem” rows passed every check. “Check” rows were cleaned or need a quick look. “Looks wrong — check” rows failed one of our own tests, such as a value that is very short. “Problem” rows will be rejected as they are.
  5. Download or move on. Get the full results, or only the GCLIDs that are safe to upload. The next step button takes those to the offline conversion builder.
GCLID checker results with No known problem, Check and Problem rows and the days left to upload each click

What to do with the results

  1. Upload the oldest clicks first. Sort by Upload before. Anything with a week or less left should go into your next upload.
  2. Fix how GCLIDs are saved. Most problems start on the website. Store the gclid in a hidden form field and a plain text CRM field that never changes letter case or length.
  3. Check your redirects. If many visits have no GCLID, make sure redirects pass the gclid through to the final page. Google says some sites that block unknown URL parameters show an error page instead.
  4. Turn on auto-tagging. In Google Ads go to Admin › Account settings › Auto-tagging. No auto-tagging means no GCLIDs.

GCLID format problems that make uploads fail

GCLID too old to upload: “Identifiers or iOS URL parameters are too old”

Google's error page uses this label for clicks past the 90-day limit or the conversion window. The checker counts them as Expired clicks. They can't be uploaded any more, so upload more often.

“Click too recent”

Google rejects clicks under 6 hours old with this message. The row isn't broken — include it in the next upload.

A GCLID copied with the wrong case

Google says the GCLID is case sensitive. A value that is all small or all capital letters is worth checking, because it's often a sign that software changed it. Find where it happens — a CRM “format as lowercase” rule, an email tool or a spreadsheet function — and save the raw value instead.

GCLID with spaces, quotes or URL encoding

Spaces, line breaks, quotes, brackets or codes like %2D inside a GCLID mean something was added or changed when it was saved. Compare one with the landing page URL and fix the form field that stores it.

GCLIDs that were cut short

If one value is much shorter than the rest, a field limit probably cut it. When every GCLID stops at the same round length, such as 64 or 100 characters, the field cut them all. Google doesn't publish a GCLID length or format, so these are our own checks, and no tool can promise a GCLID is complete. Give the CRM field plenty of room and compare one value with the landing page URL.

“{gclid}”, “undefined” or “N/A” instead of an ID

These come from forms that save a stand-in text when no gclid was found, or from tracking templates tested without a real click. There's nothing to upload for these rows.

A gbraid in the GCLID column (or a Microsoft ID)

In a saved URL the checker sees gbraid= or wbraid= and flags the row; a bare gbraid can't be told apart, so give each ID its own CRM field. A 32-character hex value is usually a Microsoft Click ID.

Numbers like 1.23457E+15

Excel turned a value into scientific notation and the real ID is gone from that cell. Export again and open the file with the column set to Text.

Frequently asked questions

How do I check if a GCLID is valid?

Only Google can confirm a GCLID, in your upload results. Before uploading you can catch the damage that makes GCLIDs fail — changed letter case, extra text, cut-off values, placeholders, other platforms’ IDs and clicks past 90 days. That’s what this checker does.

Is the GCLID case sensitive?

Yes. Google’s help page says so directly. A GCLID that a CRM, form plugin or spreadsheet changed to all small or all capital letters won’t match its click, even though it looks almost the same.

How old can a GCLID be for an offline conversion upload?

90 days. Google keeps a GCLID for 90 days after the click. The conversion must also fall inside the click-through conversion window of your conversion action, which is 30 days unless you changed it.

Can you decode a GCLID to find the click date?

Not reliably. Google has never documented what is inside a GCLID, so a date read out of one is a guess, and the format can change without notice. That’s why this checker has no decode button: it uses the click date your CRM or form saved, which is what the 90-day limit counts from.

Why does Google say a GCLID could not be decoded?

People report this wording from tools such as Zapier and Make. Google’s help pages don’t explain it, but it points to a value Google can’t read as a click ID — usually one that was changed, cut short, URL-encoded or isn’t a GCLID. This checker shows which.

What is the difference between a GCLID and a GBRAID?

Both come from Google Ads auto-tagging. A GCLID identifies one ad click; a GBRAID is a privacy-friendly ID for some iOS traffic. In a saved URL this checker spots gbraid= and wbraid=, but a bare GBRAID can’t be told apart from a GCLID (Google publishes neither format), so keep them in separate fields.

Why does the same GCLID appear on several rows?

One click can lead to several conversions, like a form fill and a sale. That’s fine when each row has a different conversion time or name. Google counts the same GCLID, name and time only once.

Need help setting this up? Talk to EmproIT