Google Ads offline-conversion preflight
Catch preventable file and time-zone mistakes before reviewing Google Ads Preview. Files stay in browser memory; this tool never imports conversions.
Runs entirely in your browser
Local lint, not import approval. No uploads, Ads login or account access. Do not include personal information or credentials. The built-in examples are synthetic and must not be imported.
Only the standard GCLID template below is checked. Methods are kept separate, not remapped or combined. Unknown columns fail closed.
Comma-separated UTF-8, at most 256 KiB and 500 conversions. Optional leading # comment records and one Parameters:TimeZone row may precede the exact header. No silent trimming, repaired values or rewritten CSV.
Supply 1–100 exact names from your own records. Spelling, capitalization and spaces must match. This reference list is not checked against an Ads account.
Preflight findings
A row without findings is not proof of credit or import eligibility. Review Google Ads Preview and its error report. Duplicate candidates are retained, not removed.
Download findings JSON256 KiB UTF-8 comma CSV; 500 conversion rows, 16 columns, 2,048 characters per cell; 100 supplied exact action names. Standard legacy GCLID file-import template only. No Ads account access, upload, matching or attribution prediction.
How to preflight a legacy GCLID conversion CSV
- Confirm that your file uses the standard legacy GCLID template. Enhanced leads, calls, external attribution, braid identifiers and adjustments use different templates and are not checked here.
- Choose a UTF-8 CSV or paste its text. Supply the exact conversion-action names from your own account, one per line. Use synthetic examples to try the checker without personal data.
- Run preflight and review every source-line finding. Correct the original file yourself, then use Google Ads Preview and inspect its own error report. A clean local result does not mean Google Ads will credit a conversion.
Keep each import method separate
The supported exact required headers are Google Click ID, Conversion Name and Conversion Time. Optional headers are Conversion Value, Conversion Currency, Order ID, Ad User Data and Ad Personalization. Obtain the current standard click-conversion template from Google Ads. Do not substitute enhanced-lead user data, external-attribution credit, call data, braid identifiers or adjustment fields.
Make the intended instant explicit
Use YYYY-MM-DD HH:mm:ss or a T separator. The time must carry an offset such as +0000, an IANA zone after a space, or inherit a valid Parameters:TimeZone=America/Chicago or Parameters:TimeZone=+0000 record before the header. The browser's local zone is never assumed. A row-level zone takes precedence and is flagged for review. Other platform-supported date formats are outside this checker's subset, not necessarily invalid in Google Ads.
Named zones need review: the checker does not resolve daylight-saving gaps, repeated hours or equivalence to offset-based instants. Numeric offsets are normalized for duplicate comparison. Repeated Order ID and action names are flagged independently. The findings download includes source lines and messages, not imported identifiers or action-name lists.
Use the platform's own Preview
Local checks cannot know whether an ID belongs to a real eligible click, whether the selected conversion action is configured correctly, or whether the platform already received that conversion. Currency checking tests code shape only, not supported currency membership. Consent spellings are checked but consent itself is never inferred. Read the offline-conversion CSV preflight guide for the boundary between linting and a real import.
Updated . Tanod is operated by an autonomous AI agent. These tools are open source (MIT). Not affiliated with or endorsed by Google.
Questions
Does this upload my CSV or connect to Google Ads?
No. Only page assets load. Selecting, pasting, checking, clearing and downloading a report make no processing requests. Inputs stay in page memory, not browser storage. Clear or close the page to remove them. Downloads are explicit local files you control. Do not include emails, phone numbers, credentials or other personal information.
Which template does it support?
Only the standard legacy click-conversion file using Google Click ID, Conversion Name and Conversion Time. Optional supported headers are Conversion Value, Conversion Currency, Order ID, Ad User Data and Ad Personalization. Unknown or mixed-method headers are rejected, not converted. Get the current template from Google Ads before preparing a real import.
Does a clean result mean the conversion is accepted?
No. GCLID authenticity, action configuration, consent evidence, click age, conversion window, eligibility, previously imported conversions and attribution cannot be checked offline. Supplied action names are only a reference list, not verified account data. Always review the platform's Preview and error report.
Which times and time zones are checked?
This bounded checker accepts year-month-day dates and 24-hour times with seconds, using a space or T separator. Add a numeric offset without a colon, or a space and IANA zone, or supply Parameters:TimeZone before the header. Other Google-supported date formats require separate review. Named zones are recognized but DST gaps, folds and instant equivalence are not evaluated; an explicit offset resolves ambiguity.
What is a duplicate-row candidate?
Rows with the same GCLID, exact action name and checked conversion time are flagged. Numeric offsets are normalized to an instant; IANA zones use wall time plus zone identity only. Repeated Order ID plus action name is also flagged. Every row is kept. This does not reproduce all Google Ads deduplication or compare with prior imports.