Get Help Fixing My Feed
ChatGPT Ads feed troubleshooting

ChatGPT Ads feed upload failing?

Lead Horse helps ecommerce teams troubleshoot product feed issues before another failed upload.

We help identify whether the problem is file format, field names, JSONL structure, gzip compression, SFTP upload, image URLs, variants, eligibility, or product validation.

CSV, JSON, JSONL, gzip, and SFTP troubleshooting
Field, image, variant, Q&A, and eligibility review
Practical next steps before another upload attempt
feed-upload — sftp
$ sftp put feed.jsonl.gz /incoming/
Connecting to feeds.partner.com…
Uploading feed.jsonl.gz  100%  2.4 MB
✓ Transfer complete — file on server
── ingestion ──────────────
✗ FAILED · schema validation
! line 142 — "enable_checkout": expected boolean, got "false" (string)
! line 887 — malformed image_link array
3,204 products rejected · 0 ingested
The upload worked. The feed still failed.

A successful transfer is not the same as an accepted feed.

The real problem

A successful file transfer is not the same as an accepted feed.

Your file can transfer successfully and still fail later. The upload layer only confirms the file arrived — the feed layer needs it to be readable, valid, structured, and mapped correctly.

Looks like it worked
  • The SFTP upload completed
  • The file appears on the server
  • The gzip file is valid
  • The row count is correct
And it still fails because of
  • A schema issue or bad field name
  • Malformed nested JSON
  • Wrong file naming pattern or missing eligibility flag
  • An invalid image URL or unusable product data

That is why feed troubleshooting needs more than "try uploading it again."

Common feed problems

Where ChatGPT Ads feeds usually break.

Most failures trace back to a handful of recurring issues. Here is where we look first.

Wrong file format

The upload path may expect JSONL.GZ, CSV.GZ, or another specific format. A plain JSON array can fail if the path expects one product object per line.

JSONL.GZCSV.GZone object / line

Broken nested fields

Q&A, variant dictionaries, reviews, metadata, geo pricing, and availability may need to stay real JSON objects or arrays. Saved as broken strings, they fail or lose context.

Bad image URLs

Image URLs need to be direct, accessible, and tied to the right product or variant. Additional images should prove the product claim, not just fill space.

Eligibility mistakes

Search, ads, and checkout eligibility need to be set intentionally. Checkout should stay off unless operations, policies, fulfillment, and order handling are ready.

searchadscheckout = off

Variant issues

If variants are not grouped correctly, colors and sizes can look like unrelated products. If color data is vague, shopper expectations end up wrong.

File naming & remote folder

Even a valid file can fail if the processor requires a specific remote directory, filename pattern, or marker file. A successful transfer does not mean the file was processed.

Wrong field names

File-feed ingestion and API-style feeds often expect different field names for the same data. If the names do not match what the ingestion path expects, the file fails.

File-feed expects
↔
API-style uses
id
↔
item_id
link
↔
url
image_link
↔
image_url
additional_image_link
↔
additional_image_urls
item_group_id
↔
group_id
enable_search
↔
is_eligible_search
enable_checkout
↔
is_eligible_checkout

The data is the same. The schema is not. We map your fields to whatever the ingestion path actually expects.

The file uploaded. The feed still failed.

We look at both levels — file and field.

A product feed can transfer through SFTP and still fail product ingestion. We check whether the file is deliverable and whether the products inside it are usable.

1File-level readiness

Can it be delivered and read?

Is it the right format, compressed correctly, named correctly, and uploaded to the right place?

  • Correct format and extension
  • Valid gzip compression
  • Right filename pattern and remote folder
  • Parsable JSONL, one object per line
2Product-level readiness

Are the products usable?

Are the fields valid, complete, useful, and structured for ChatGPT Ads?

  • Required fields present and named right
  • Real JSON objects, arrays, and booleans
  • Valid image URLs and grouped variants
  • Eligibility set intentionally per product
From file to field

We troubleshoot the whole path.

We help identify exactly where the failure is — not just that something is wrong.

File format Compression JSONL structure Required fields Field naming Nested JSON Boolean formatting Product IDs Variant grouping Image URL formatting Additional image lists Q&A formatting Ads, search, checkout eligibility Product count Remote folder Filename pattern SFTP upload process Validation / ingestion errors

Stop guessing at the next upload attempt.

Describe what happened and paste the error — we will tell you where it is breaking.

Get Help Fixing My Feed
Feed fix process

How we get your feed accepted.

A clear path from "it keeps failing" to a validated file that is ready for the next upload.

01

Tell us what happened

Describe the upload method, file format, error message, and where the process is breaking.

02

We identify the likely failure point

We look for format issues, schema mismatches, malformed fields, wrong field names, product problems, and upload process gaps.

03

We recommend the fix

We explain whether the issue is likely in the file, the schema, the upload path, the naming pattern, or the account setup.

04

We help rebuild the feed if needed

We can create clean CSV, JSON, JSONL, and JSONL.GZ versions as needed.

CSVJSONJSONLJSONL.GZ
05

We validate before the next upload

We check row count, gzip integrity, JSONL parsing, required fields, booleans, arrays, URLs, and product scope.

What Lead Horse can help with

Everything from error review to a re-upload-ready file.

Use us for a quick diagnosis or a full rebuild — scoped to whatever is actually breaking your feed.

Who this is for

If the upload keeps failing, this is for you.

This is for you if

  • Your ChatGPT Ads feed upload keeps failing
  • Your SFTP upload works but nothing appears in the UI
  • You are not sure if the feed should be CSV, JSON, JSONL, or JSONL.GZ
  • You do not know whether the schema wants API-style or file-feed field names
  • Your feed has invalid JSON, image, variant, or eligibility issues
  • You need someone to help diagnose what is going wrong
Feed fix request

Get help fixing your feed.

You do not need to upload a file to get started. Tell us what happened, what error you saw, what format you used, and what product or category you are trying to launch. We will help identify whether the issue is format, schema, fields, images, SFTP, validation, or account setup.

No file upload needed to start.
Just describe the issue and paste the error message.
Reviewed by the team that does the work, not a sales rep.
1 · Your details 2 · What's failing

Takes 20 seconds. No file upload needed — describe the issue and paste the error message if you have one.

Got it. We are on the failure.

We will review what you sent and reply within two business days with where the feed is likely breaking and how to fix it.

Last thing

Fix the feed before the next failed upload.

Describe what happened, paste the error, and tell us what you are trying to launch. We will identify whether the issue is format, schema, fields, images, SFTP, validation, or account setup.