At a glance
The spend running on a TikTok Shop catalog campaign whose linked product feed has live rejections. When products are rejected at the feed layer (by a feed-management tool such as Feedonomics, or by TikTok’s own catalog review), the catalog TikTok bids on is incomplete or stale. The bid signal degrades, the affected products stop serving, and ROAS bleeds until the feed clears. This card names the spend that is exposed to that degraded feed so you can fix the rejection rather than keep paying for a campaign that cannot show its best products. Caveat: a rejection does not always zero out a campaign; partial rejections quietly shrink the eligible product set, so the damage is often a slow ROAS erosion rather than a hard stop.
| What it counts | Spend over the window on TikTok Shop catalog campaigns (Catalog Sales, Video Shopping Ads) whose linked product feed has one or more active rejections at the time of reading. |
| What “feed rejection” means | A product or set of products rejected before or during ingestion into the TikTok catalog, either upstream in a feed-management platform’s export (for example Feedonomics) or downstream in TikTok’s catalog review. Rejected items cannot serve. |
| Why it bleeds ROAS | Catalog optimisation depends on the full, accurate product set. Rejections shrink or distort that set, so TikTok’s bidding optimises against degraded data. The effect compounds the longer the rejection persists. |
| Common rejection causes | Missing or invalid required attributes, disallowed content, price or availability mismatches between the feed and the landing page, or policy flags on specific products. |
| Chart type | Alert table. Each row names the campaign, the linked feed, the count of active rejections, and the spend exposed. |
| Alert trigger | Any spend on a campaign whose linked product feed has live rejections. The card is loud because even a small spend against a broken feed signals a fixable leak. |
| iOS 14.5+ ATT impact | Indirect. A degraded feed weakens the catalog signal that TikTok’s optimiser already struggles to fill post-ATT, so feed health matters more, not less, in the modeled-conversion era. |
| Currency | Account currency on the TikTok side; workspace display currency for multi-platform rollups, treated as approximate. |
| Time window | 30D (30-day rolling). |
| Roles | owner, marketing, operations |
Calculation
Calculated automatically from your TikTok Ads data joined to your product-feed health. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.Worked example
A US outdoor-gear brand running TikTok Shop Catalog Sales campaigns with the catalog fed by a Feedonomics export. Reading taken on 14 Mar 26 over the trailing 30 days. All figures are illustrative.| Campaign | Linked feed | Active rejections | 30-day spend ($) | Flagged |
|---|---|---|---|---|
| Catalog Sales (all products) | main-export | 412 of 6,800 items | 38,000 | Yes |
| Catalog Sales (top sellers) | bestsellers-export | 0 | 14,000 | No |
| Video Shopping Ads (retargeting) | main-export | 412 of 6,800 items | 9,000 | Yes |
| In-Feed broad audience | none (no catalog) | n/a | 6,500 | No |
- The card reads $47,000 of spend exposed to a feed with active rejections across the two campaigns linked to
main-export. - Only 6% of items are rejected, but the damage is larger than 6%. Catalog optimisation reallocates budget across the eligible set, so removing 412 items, especially if they include high-velocity products, distorts bidding for the whole campaign, not just the rejected lines.
- The bestsellers campaign is clean. It is fed by a separate, smaller export with no rejections, which is why its ROAS held while the main-export campaigns drifted down over the month.
- The fix is upstream, not in Ads Manager. Open the feed-management platform, read the rejection reasons (commonly a missing required attribute or a price mismatch against the landing page), correct the source data, and re-export. Confirm the catalog clears in TikTok’s catalog review.
- Expect a recovery lag. Once the feed clears and the items re-enter the catalog, TikTok needs time to relearn and redistribute budget. ROAS does not snap back instantly; budget the following week for recovery, not the same day.
- Rejections rising + ROAS drifting down on the same campaign = feed degradation. Fix upstream.
- Rejections on high-velocity SKUs = disproportionate ROAS damage. Prioritise those.
- Clean feed, separate campaign holding ROAS = isolate the broken feed and fix it without touching the healthy one.
Sibling cards merchants should reference together
| Card | Why pair it with Spend on Campaigns with Active Feed Rejections | What the combination tells you |
|---|---|---|
| ROAS by Campaign | The efficiency the rejection is eroding. | A ROAS slide on a feed-linked campaign confirms the rejection is causing real damage. |
| Active TikTok Shop Ads on Out-of-Stock SKUs | The sibling catalog-data-quality alert. | Out-of-stock and rejected items are two ways the catalog feed costs you money. |
| Spend by Campaign | The budget exposed to the broken feed. | How much spend is at risk until the feed clears. |
| ROAS Trend | The shape of the erosion. | A gradual ROAS decline matching the rejection onset confirms cause and effect. |
| Wasted-Spend Burst (3-day spike) | The general waste alert. | A feed rejection can show up there as a zero-conversion burst on the affected products. |
| Shopify Products with Zero/Negative Stock | An upstream cause of availability rejections. | Out-of-stock items can trigger availability mismatches that the feed then rejects. |
Reconciling against TikTok Ads Manager
Where to look in TikTok Ads Manager: This is a two-surface reconciliation, because Ads Manager shows the spend and the catalog view shows the rejections:- TikTok Ads Manager > Assets > Catalog > Diagnostics / Items lists rejected items and their rejection reasons. This is TikTok’s downstream review.
- The feed-management platform’s own dashboard (for example Feedonomics) shows upstream rejections caught before the export reaches TikTok. Many rejections never appear in TikTok’s catalog because they were filtered at the source.
- TikTok Ads Manager > Campaigns shows the spend per catalog campaign but does not link it to feed health.
| Reason | Direction | Why |
|---|---|---|
| Upstream vs downstream rejections | Variable | Rejections caught in the feed tool may never reach TikTok’s catalog, so a manual check of TikTok alone undercounts. This card considers both layers where connected. |
| Feed-to-campaign mapping | Variable | Which campaigns draw on which feed depends on catalog configuration. Shared catalogs across campaigns can spread one rejection’s spend exposure wider than expected. |
| Time zone | Boundary only | TikTok uses ad-account time zone; this card uses UTC. Relevant at window boundaries. |
| Recovery lag | Ours clears as TikTok does | After a fix, the card stops flagging once the catalog shows the items as active again, which can trail the feed correction by a sync cycle. |
| Card | Expected relationship | What causes legitimate divergence |
|---|---|---|
shopify.products_with_zero_negative_stock | Out-of-stock items can cause availability-mismatch rejections | Not every rejection is stock-related; attribute and policy rejections are independent of inventory. |
tiktok_ads.active_tiktok_shop_ads_on_out_of_stock_skus | Overlapping catalog-quality exposure | Out-of-stock spend and feed-rejection spend can hit the same campaign for different reasons. |
shopify.total_revenue | A prolonged feed problem can dent store revenue from this channel | Store revenue has many inputs; a feed rejection is one channel-specific drag, not the whole picture. |