At a glance
The spend running on a Snapchat Dynamic Ads campaign whose linked product catalogue has live rejections. When products are rejected at the feed layer (by a feed-management tool, or by Snapchat’s own catalogue review in Business Manager), the catalogue Snapchat bids on is incomplete or stale. The bid signal degrades, the affected products stop serving in the Dynamic Ads carousel, and ROAS bleeds until the catalogue 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, and on Snapchat that erosion is easy to miss because the swipe-up rate can look healthy even as conversions slide.
| What it counts | Spend over the window on Snapchat Dynamic Ads campaigns (catalogue-driven Collection and Dynamic placements) whose linked product catalogue 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 Snapchat catalogue, either upstream in a feed-management platform’s export or downstream in Snapchat’s catalogue review inside Business Manager. Rejected items cannot serve in Dynamic Ads. |
| Why it bleeds ROAS | Dynamic Ads optimisation depends on the full, accurate product set. Rejections shrink or distort that set, so Snapchat’s bidding optimises against degraded data. The effect compounds the longer the rejection persists. |
| Common rejection causes | Missing or invalid required attributes, prohibited content (Snapchat restricts categories such as alcohol, weight loss and certain regulated goods), price or availability mismatches between the feed and the landing page, broken image URLs, or policy flags on specific products. |
| Chart type | Alert table. Each row names the campaign, the linked catalogue, the count of active rejections, and the spend exposed. |
| Alert trigger | Any spend on a campaign whose linked catalogue has live rejections. The card is loud because even a small spend against a broken catalogue signals a fixable leak. |
| iOS tracking impact | Indirect. A degraded catalogue weakens the product signal that Snapchat’s optimiser already leans on heavily post-ATT, when much web conversion data is modelled. With a 7-day-click / 1-day-view window and Conversions API gap-filling, feed health matters more, not less. |
| Currency | Account currency on the Snapchat 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 Snapchat Ads data joined to your product-catalogue 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 UK streetwear brand, Dune & Drift, running Snapchat Dynamic Ads to a Gen-Z audience with the catalogue synced from its Shopify store feed. Reading taken on 14 Apr 26 over the trailing 30 days. All figures are illustrative.| Campaign | Linked catalogue | Active rejections | 30-day spend (GBP) | Flagged |
|---|---|---|---|---|
| Dynamic Ads (prospecting) | main-catalogue | 318 of 5,200 items | 21,400 | Yes |
| Dynamic Ads (retargeting) | main-catalogue | 318 of 5,200 items | 7,900 | Yes |
| Collection Ads (new drop) | drop-catalogue | 0 | 9,600 | No |
| Story Ads (brand awareness) | none (no catalogue) | n/a | 4,200 | No |
- The card reads GBP 29,300 of spend exposed to a catalogue with active rejections across the two campaigns linked to
main-catalogue. - Only 6% of items are rejected, but the damage is larger than 6%. Dynamic Ads optimisation reallocates budget across the eligible set, so removing 318 items, especially if they include high-velocity products, distorts bidding for the whole campaign, not just the rejected lines. On Snapchat the carousel simply skips the missing SKUs, so swipe-up rate can stay flat while conversions quietly fall.
- The new-drop Collection campaign is clean. It is fed by a separate, smaller catalogue with no rejections, which is why its ROAS held while the main-catalogue campaigns drifted down over the month.
- The fix is upstream, not in Ads Manager. Open the catalogue source (the feed-management tool, or the Shopify catalogue sync), read the rejection reasons (commonly a missing required attribute, a prohibited-category flag, or a price mismatch against the landing page), correct the source data, and re-sync. Confirm the catalogue clears in Business Manager catalogue review.
- Expect a recovery lag. Once the catalogue clears and the items re-enter the active set, Snapchat 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 = catalogue degradation. Fix upstream.
- Rejections on high-velocity SKUs = disproportionate ROAS damage. Prioritise those.
- Clean catalogue, separate campaign holding ROAS = isolate the broken catalogue and fix it without touching the healthy one.
- Swipe-up rate steady but conversions falling = classic signature of a catalogue that is serving fewer products than it should.
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 catalogue-linked campaign confirms the rejection is causing real damage. |
| Active Catalogue Ads on Out-of-Stock SKUs | The sibling catalogue-data-quality alert. | Out-of-stock and rejected items are two ways the catalogue feed costs you money. |
| Spend by Campaign | The budget exposed to the broken catalogue. | How much spend is at risk until the catalogue clears. |
| ROAS Dropped Below Threshold | The shape of the erosion. | A ROAS decline matching the rejection onset confirms cause and effect. |
| Wasted-Spend Burst (3-day spike) | The general waste alert. | A catalogue rejection can show up there as a zero-conversion burst on the affected products. |
| Snap Pixel / Conversions API Tracking Broken | The other big reason catalogue ROAS can collapse. | Rule out broken tracking before blaming the feed, since both flatten measured conversions. |
Reconciling against Snapchat Ads Manager
Where to look in Snapchat Ads Manager: This is a two-surface reconciliation, because Ads Manager shows the spend and the catalogue view shows the rejections:- Snapchat Business Manager (business.snapchat.com) > Catalogues > your catalogue > Products lists rejected items and their rejection reasons. This is Snapchat’s downstream review.
- The feed-management platform’s own dashboard, or the Shopify catalogue sync log, shows upstream rejections caught before the export reaches Snapchat. Many rejections never appear in the Snapchat catalogue because they were filtered at the source.
- Snapchat Ads Manager (ads.snapchat.com) > Campaigns shows the spend per Dynamic Ads campaign but does not link it to catalogue health.
| Reason | Direction | Why |
|---|---|---|
| Upstream vs downstream rejections | Variable | Rejections caught in the feed tool may never reach Snapchat’s catalogue, so a manual check of Snapchat alone undercounts. This card considers both layers where connected. |
| Catalogue-to-campaign mapping | Variable | Which campaigns draw on which catalogue depends on configuration. A catalogue shared across campaigns can spread one rejection’s spend exposure wider than expected. |
| Time zone | Boundary only | Snapchat uses ad-account time zone; this card uses UTC. Relevant at window boundaries. |
| Recovery lag | Ours clears as Snapchat does | After a fix, the card stops flagging once the catalogue 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. |
snapchat_ads.active_catalog_ads_on_out_of_stock_skus | Overlapping catalogue-quality exposure | Out-of-stock spend and feed-rejection spend can hit the same campaign for different reasons. |
shopify.total_revenue | A prolonged catalogue 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. |