Catch listing errors on Walmart, eBay and TikTok Shop before they cost a day of sales
Updated · By Ecomsellertool editorial team
To automate marketplace listing error alerts, collect every error where each marketplace reports it: Walmart feed item status and its offer-unpublished webhook, eBay's publish responses and feed task results, and TikTok Shop's product audit webhooks. Map each error to a class, re-send only deterministic fixes such as stock, send an instant alert when a selling listing stops selling, and put everything else in one daily digest.
- Walmart's feed item status returns per-item ingestion status (SUCCESS, DATA_ERROR, SYSTEM_ERROR or TIMEOUT_ERROR) with an error type, code and description (checked October 19, 2026).
- Walmart's OFFER_UNPUBLISHED webhook fires when an offer moves from published to unpublished and lists every reason, such as SHIPPING_INFO_MISSING or REASONABLE_PRICE_NOT_SATISFIED.
- eBay's bulkPublishOffer publishes up to 25 offers per call and returns errors and warnings per offer; each eBay listing can be revised up to 250 times a calendar day.
- TikTok Shop reviews every product after it is created or edited; its product audit webhook reports FAILED, PRE_APPROVED and APPROVED, and a failed edit leaves the previous version live.
- In this recipe rules move every number; an AI model only groups and explains error text, and prices, policy cases and appeals stay with a person.
The step map: who runs each step
Trigger: An error or status event from any marketplace (a Walmart webhook, a TikTok Shop webhook, an eBay publish response or a finished feed task), plus a nightly sweep of every listing's status to catch what the events missed.
| Step | What happens | Who runs it |
|---|---|---|
| 1 | Each marketplace's errors are collected where they appear: Walmart feed item status and OFFER_UNPUBLISHED events, eBay publish responses and Feed API task results, TikTok Shop product status and audit webhooks, and Amazon listing issue notifications. | Rule |
| 2 | Every error is stored against the channel SKU and the master SKU with the marketplace's error code, reason and time, so the same problem on three channels shows up as one product with three errors. | Rule |
| 3 | The rule table maps each code to an error class (missing attribute, image rule, price or stock mismatch, restricted or prohibited, audit rejected, duplicate) and an urgency. | Rule |
| 4 | Where the marketplace returns only free text, an AI model reads the message, suggests the error class and writes a one-line plain-English summary. It never edits a listing. | AI model |
| 5 | Deterministic fixes run on their own: a Walmart line that failed with a system or timeout error is resubmitted once, and a channel quantity that differs from the last synced number is re-sent. Each listing has a daily cap on automatic retries. | Rule |
| 6 | Instant alerts go out for listings that were selling and stopped, price flags and retry caps; everything else goes into one daily digest grouped by error code. | Rule |
| 7 | A person decides each queued case: fix the master record, change a price, apply for a restricted category, appeal a frozen product or retire the listing. | Person |
| 8 | After a fix, the nightly sweep confirms the listing is live again and closes the error, or reopens it with the marketplace's latest reason. | Rule |
6 rule steps · 1 AI model step · 1 person step. A rule follows fixed logic you approve; an AI model handles messy input and its output is checked by rules; a person makes the calls listed below.
What stays with a person
- Every price change after a Walmart reasonable-price flag, and any price below your floor
- Restricted, prohibited or frozen products: category applications, edits to policy-flagged content and appeals
- Fixes to the master record that a marketplace rejected, such as attributes, claims and images
- Which listing to keep when two live listings point at one product
- Changes to the rule table, the urgency levels and the automatic retry caps
Which tools can run it
- A workflow tool such as Zapier, Make or n8n receiving Walmart and TikTok Shop webhooks, for one or two channels and a small catalog
- A multichannel listing platform's own error reports, where the platform already publishes your listings
- Custom code on your accounts, for the full rule table, the nightly sweep, eBay feed results, retry caps and one digest across channels
Systems it connects
- Walmart Marketplace API (feeds, items, notifications)
- eBay Inventory API and Feed API
- TikTok Shop Partner API and webhooks
- Amazon Selling Partner API notifications
- Master product record or PIM
- Inventory sync
- Slack or email for alerts and the digest
Build size: Medium
Each rule is simple; the work is collecting errors from three different mechanisms, mapping their codes to one set of classes and keeping retries from looping.
A Walmart item drops off the site on Monday because a shipping template was removed. A TikTok Shop edit fails review on Tuesday, and nobody notices that the old version is still the one buyers see. An eBay bulk upload finishes "with errors" on Wednesday, and the result file sits unread. Each marketplace reported the problem, in its own place and its own words, and nobody was looking. This recipe collects those errors into one rule table, fixes only what is safe to fix, and tells a person the same hour when a selling listing stops selling. It is one page of our automation library.
Where does each marketplace report listing errors, and what should happen next?
Write the rule table before you build anything. Each row names where the error appears, the class it belongs to, what the automation does on its own, what a person decides, and how fast someone needs to know. The Walmart, eBay and TikTok Shop sources are the vendors' own developer pages, linked in the sections below (all checked October 19, 2026). The retry caps are illustrative: set them for your catalog.
| # | Marketplace | Where the error appears | Error class | What the automation does | What a person decides | Urgency |
|---|---|---|---|---|---|---|
| 1 | Walmart | Feed item status: an item line with DATA_ERROR, plus the error's type, code and description | Missing attribute, image rule or invalid value | Logs the code against the SKU, groups lines by code, opens one task per code | The fix in the master record | Daily digest (new items); instant if the feed updated a live item |
| 2 | Walmart | Feed item status: SYSTEM_ERROR or TIMEOUT_ERROR | System error on Walmart's side | Resubmits the same line once; a second failure becomes a task | Only items that fail twice | Daily digest |
| 3 | Walmart | OFFER_UNPUBLISHED webhook, reason SHIPPING_INFO_MISSING | Missing attribute (shipping setup) | Alerts with the SKU and every reason Walmart listed | Which shipping template the item needs | Instant |
| 4 | Walmart | OFFER_UNPUBLISHED webhook, reason REASONABLE_PRICE_NOT_SATISFIED | Price mismatch | Alerts with your price, your shipping price and Walmart's reference price; never changes the price | Lower the price, move cost out of shipping, or leave it unpublished | Instant |
| 5 | Walmart | Nightly Get all items sweep: publishedStatus UNPUBLISHED with unpublishedReasons | Any class (catches missed events) | Compares with yesterday and adds new cases to the digest | As the matching row says | Daily digest |
| 6 | eBay | publishOffer or bulkPublishOffer response: errors on an offer | Missing attribute or image (policy, category, price, quantity, aspects, photo) | Re-sends once if the value exists in the master record but was not mapped; otherwise opens a task | The missing data | Daily digest (new listings) |
| 7 | eBay | Publish or revise fails because a Required item specific is blank | Missing attribute | Opens a task with the category and the specific | The value, from the product's facts | Daily digest; instant if a live revision failed |
| 8 | eBay | Feed API task ends COMPLETED_WITH_ERROR | Mixed, line by line | Downloads the result file and splits failed lines into tasks | The fixes, by error | Daily digest; instant for price or quantity feeds |
| 9 | eBay | The automation's own revision counter nears its cap (eBay allows 250 revisions per listing per day) | Fix loop | Stops automatic revisions on that listing, for example at 50 | Why the listing keeps changing | Instant |
| 10 | TikTok Shop | Product audit status change webhook: FAILED, or product status change: PRODUCT_AUDIT_FAILURE with a suspended reason | Audit rejected | Alerts with the reason; for an edited live product, notes that the previous version is still live | The edit and the resubmission | Instant for new launches; same day for edits |
| 11 | TikTok Shop | Audit status PRE_APPROVED with RESTRICTED_CATEGORY_PENDING (US) or KYC_PENDING | Restricted | Alerts once; no listing edit can fix it | Apply for the category or finish onboarding | Same day |
| 12 | TikTok Shop | Product status Platform_deactivated or Freeze | Restricted or prohibited | Alerts with the reason; pauses automatic edits to the product | Edit and resubmit, or appeal a frozen product | Instant |
| 13 | Amazon | LISTINGS_ITEM_ISSUES_CHANGE notification | Any class | Hands the issue to your Amazon listing workflow | As that workflow sets | Instant if the listing is suppressed |
| 14 | Any | Nightly check: live quantity differs from the last synced number | Stock mismatch | Re-sends the synced quantity once | Only if it differs again | Daily digest |
| 15 | Any | Nightly check: two live listings for one master SKU or one GTIN | Duplicate | Flags both with their sales | Which listing to keep | Daily digest |
Three choices make the table work. Automation fixes only what is already true somewhere else: a stock number your sync owns, a line Walmart failed to process, a field the mapping dropped. A price flag never moves a price on its own, because Walmart is telling you a buyer-facing number looks wrong, and that is a business decision. And every automatic fix has a cap, because a fix that fails and retries forever can burn through eBay's daily revision limit and hide the real problem.
When should a listing error be an instant alert, and when can it wait for the daily digest?
One test decides it: is something that was selling no longer selling, or is money at risk? If yes, alert now. If no, it goes into the digest. In practice that gives four instant triggers and everything else waits.
| Send an instant alert when | Put it in the daily digest when |
|---|---|
| A live, buyable listing was unpublished, deactivated or frozen | A new listing failed to go live and has no launch date |
| A price flag or reference-price check fired | A warning came back but the listing published |
| An automatic fix hit its retry cap | The same known error recurs on more SKUs |
| A listing with a launch, promotion or creator campaign date failed review | A system error was retried and succeeded |
Two more rules keep alerts useful. Group by error code, not by SKU: forty items failing for one missing attribute is one alert with forty rows, not forty pings. And demote repeats: once an instant alert has been acknowledged, the same code on the same listing goes to the digest until someone closes it. For example, a brand with 2,000 SKUs on three channels might see two or three instant alerts a week and one digest each morning; if instant alerts arrive hourly, the urgency column is set too broadly. The digest can ride in the same message as your daily sales report.
What does Walmart give you to catch errors?
Three signals. Every bulk feed has a feed item status that returns the overall feed status and, with includeDetails set to true, an ingestion status per item: SUCCESS, DATA_ERROR, SYSTEM_ERROR, TIMEOUT_ERROR or in progress, each failure with an error type, code and description (checked October 19, 2026). That is where new items and content updates fail. Data errors need a person; system and timeout errors are the ones worth one automatic resubmission.
For items already selling, the OFFER_UNPUBLISHED event fires when an offer moves from published to unpublished, and its statusChangeReasons field lists every reason that applies, with samples such as SHIPPING_INFO_MISSING and REASONABLE_PRICE_NOT_SATISFIED (checked October 19, 2026). For a price reason it adds your offer price, your shipping price and Walmart's reference price. Walmart's notification setup guide says your endpoint must acknowledge within 3 seconds and that Walmart retries after 5, 15 and 45 minutes (checked October 19, 2026), so acknowledge first and process afterwards.
Events can be missed, so the nightly sweep uses Get all items, which filters by published status and returns unpublishedReasons for unpublished items (checked October 19, 2026). Our Walmart guide covers the pricing rule behind most price flags.
What does eBay give you?
eBay reports errors at the moment you publish. Its bulkPublishOffer call publishes up to 25 offers at once, some may succeed while others fail, and errors and warnings come back for each offer that had a problem (checked October 19, 2026). The same page says each listing can be revised up to 250 times in one calendar day, which is why row 9 exists. eBay's publishing guide explains that fields optional at creation become required at publish: the three listing policies, category, price, quantity, condition, title, description, aspects and at least one image (checked October 19, 2026).
Bulk uploads through the Feed API are asynchronous. A task's result file can be downloaded once the task is COMPLETED or COMPLETED_WITH_ERROR (checked October 19, 2026), and that second status is the one to watch. eBay's item specifics page says every Required item specific must be filled in for any new or revised listing, and labels upcoming ones "Required soon" (checked October 19, 2026). The Notification API covers events such as listing revisions; check its topic list for what your account can subscribe to (checked October 19, 2026). More in our eBay guide.
What does TikTok Shop give you?
TikTok reviews every product after it is created or edited. Its Products API overview lists eight product statuses, including Pending, Failed, Platform_deactivated and Freeze, and says a live product whose edit fails review keeps its pre-edit version (checked October 19, 2026). It also caps new shops at 100 product uploads a day and graduated shops at 1,000, so a large launch is queued, not failed. A frozen product can be appealed; a deactivated one can be edited and resubmitted.
Two webhooks carry the result. The product status change webhook reports PRODUCT_FIRST_PASS_REVIEW, PRODUCT_STATUS_CHANGED and PRODUCT_AUDIT_FAILURE, with a suspended reason when an audit is rejected or a product frozen. The product audit status change webhook reports NONE, AUDITING, FAILED, PRE_APPROVED and APPROVED; PRE_APPROVED means passed but not listed, for reasons such as KYC_PENDING or, in the US, RESTRICTED_CATEGORY_PENDING (both checked October 19, 2026). Our TikTok Shop guide covers fees and fulfillment.
What about Amazon listing issues?
Amazon has its own, deeper tooling. Its listings workflow guide recommends subscribing to the LISTINGS_ITEM_ISSUES_CHANGE notification, which pushes listing issues in near real time instead of polling (checked October 19, 2026). How to validate before publishing and treat each issue is covered in our listing and catalog agent page, so this recipe only passes Amazon issues into the same alert rules and digest. If you also sync stock, the inventory sync recipe owns the quantities that row 14 re-sends, and errors it raises land in the same queue. Amazon's API is covered in our SP-API glossary entry.
Who builds listing error alerts across marketplaces?
Ecomsellertool builds workflow automation on your own marketplace accounts. We have built software on Amazon's seller APIs since 2017 and shipped 50+ tools for 100+ teams. For listing errors we write the rule table with you first, then connect each marketplace's feeds, webhooks and sweeps, the retry caps and one digest. Send a project brief or read how our workflow automation service works.
The building blocks are work we have shipped:
- One connector layer for many marketplaces. For Ecom Global, a platform built for 100M+ products, 20+ marketplaces and 13+ carriers, we built a marketplace abstraction layer where Walmart, eBay, TikTok Shop and the other channels each have their own credential schema and rate-limit model, with webhooks, polling cadences and retry logic handled once, plus audit logs and automation activity feeds.
- Walmart feed status in production. For IVCSR we built an Amazon and Walmart system whose Walmart module sets up items in bulk, updates prices, retires items and reads feed and feed item status.
Custom builds can run on Ecomsellertool Growth OS, beside your listing and order flows, so the alerts and the fixes share one SKU map.
Get your listing alerts built
Send us your channels and the errors that cost you most
Describe the workflow you want automated. We reply with a written plan: scope, timeline and a fixed price.
Frequently asked questions
How do I find out why Walmart unpublished my item?
Walmart gives the reason in two places. The Get all items API returns an unpublishedReasons field for items whose published status is UNPUBLISHED, and the OFFER_UNPUBLISHED webhook sends the reasons at the moment an offer stops selling, for example SHIPPING_INFO_MISSING or REASONABLE_PRICE_NOT_SATISFIED. For a price reason, the event also carries Walmart's reference price, so a person can compare it with your price and shipping before deciding.
How do I get notified when a TikTok Shop product fails review?
Subscribe to TikTok Shop's product audit status change webhook, which reports when a product's audit status becomes FAILED, PRE_APPROVED or APPROVED, or its product status change webhook, which includes a suspended reason when an audit fails. Send failures for new products and deactivated live products as instant alerts, because neither is selling.
Why did my eBay offer fail to publish?
Usually because a field that was optional when the offer was created becomes required at publish time. eBay lists the required fields: the three listing policies, category, price, quantity, condition, title, description, aspects and at least one image. The publish response returns errors per offer, so a workflow can show which field was missing.
Should listing errors be fixed automatically?
Only when the fix is deterministic and the data is already correct somewhere else, such as re-sending a stock number or resubmitting a line that failed with a system error. Missing attributes, image rejections, price flags and policy cases need a person, because the fix changes what you sell or say. Cap automatic retries per listing so a fix cannot loop.
Which listing errors need an instant alert and which can wait?
Alert at once when a listing that was selling stops selling, when a price or policy flag puts the account at risk, or when an automatic fix hits its retry cap. New listings that failed to go live, warnings and recurring known errors can wait for a daily digest grouped by error code.
Does this replace a listing tool or a catalog agent?
No. A listing tool or catalog agent creates and checks listings before they go live. This workflow watches what happens after, across channels, and sends the errors back to whoever owns the master record. It works alongside either one.
