At a glance
Cross-channel alert for spend on a Microsoft Shopping campaign whose product feed has live rejections. When offers in a feed are disapproved, the campaign serves fewer products with a degraded bid signal, so every pound you spend competes on a thinner, weaker catalogue. The card joins your Microsoft Shopping spend against the rejection status of the linked feed, including feeds managed through a feed tool such as Feedonomics, so you can see the cost of leaving rejections unfixed. The fix is to clear the rejections, after which the full catalogue serves and the bid signal recovers.
| What it counts | Microsoft Shopping spend on campaigns whose linked product feed currently has active rejected or disapproved offers. |
| How the join works | Each Shopping campaign is mapped to its source feed, and the feed’s current rejection state is checked against live spend. Spend running while rejections are open is the flagged amount. |
| Why it is cross-channel | The Microsoft campaign report shows spend; the feed tool shows rejections. Neither alone tells you that you are spending into a degraded catalogue. |
| What a rejection is | An offer disapproved by Microsoft Merchant Center for a policy, data, or quality reason, so it cannot serve until fixed. |
| Cost basis | Gross Microsoft Shopping media cost, post Click Quality filter. |
| Currency | Account currency. |
| Why the bid signal degrades | Smart Shopping and similar strategies optimise across the live catalogue. Rejected offers remove inventory and skew the optimisation toward whatever still serves, often the wrong products. |
| Time window | 30-day rolling spend, evaluated against current feed rejection status. |
| Alert trigger | Any spend on a Shopping campaign whose linked feed has live rejections. |
| Roles | owner, marketing, operations |
Calculation
Calculated automatically from your Microsoft Ads (Bing) Shopping data joined to your product feed’s rejection status. 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 outdoor-gear brand runs three Microsoft Shopping campaigns fed by a Feedonomics catalogue. The card reads on 16 Jun 26, trailing 30 days.| Campaign | Linked feed | Offers total | Offers rejected | 30-day spend | Flagged? |
|---|---|---|---|---|---|
| Shopping - Core range | Main feed | 1,800 | 0 | £4,200 | No |
| Shopping - Footwear | Footwear feed | 620 | 140 (GTIN errors) | £2,100 | Yes |
| Shopping - Clearance | Clearance feed | 410 | 38 (price mismatch) | £640 | Yes |
- The footwear feed is the urgent one. With 140 of 620 offers rejected, nearly a quarter of the catalogue is dark, yet the campaign still spent £2,100. That budget concentrated on the offers that survived, which are not necessarily the best sellers.
- GTIN errors are a fixable, high-impact rejection type. Missing or invalid product identifiers are a common Feedonomics-stage fix; once corrected and re-reviewed, the rejected offers return and the campaign serves the full range again.
- The clearance price mismatch is a classic feed-vs-store drift. The feed price and the landing-page price disagree, so Microsoft disapproves the offer to protect shoppers. Sync the feed to live pricing and the rejections clear.
- The bid signal is degraded, not just the coverage. Because Smart Shopping optimises across whatever serves, a quarter of the footwear catalogue being dark means the algorithm has been learning on a skewed subset. Expect a short re-stabilisation once the rejections clear.
Sibling cards merchants should reference together
| Card | Why pair it with Spend on Campaigns with Active Feed Rejections |
|---|---|
| Active Shopping Ads on Out-of-Stock SKUs | The other feed-health leak. Rejections remove offers; stockouts make served offers unbuyable. Check both together. |
| Microsoft Ads Spend by Campaign | Shows the absolute spend on each Shopping campaign so you can prioritise the biggest degraded one. |
| Microsoft Ads ROAS by Campaign | A campaign with heavy rejections often shows depressed ROAS; clearing rejections should lift it. |
| Microsoft Ads Impression Share | Rejected offers cannot win impressions, so impression share falls. Recovery here confirms the fix landed. |
| Microsoft Ads Wasted Spend | The account-wide waste view; feed-rejection spend is a structural slice of it. |
Reconciling against Microsoft Advertising
Where to look in Microsoft Advertising: Microsoft Merchant Center → Catalogs, where the offer status column lists approved, pending, and disapproved offers with the rejection reason. Cross-reference the disapproved count against the Shopping campaign spend under Microsoft Advertising → Campaigns. The campaign keeps spending on its approved offers even while others are rejected. Why Microsoft cannot show this on its own:- Merchant Center shows rejection status; the campaign report shows spend; the two are not joined into a single “spend at risk” figure inside the Microsoft UI.
- When the feed is managed by a tool such as Feedonomics, the rejection often originates upstream and is best fixed there, but Microsoft only shows the downstream disapproval.
| Reason | Direction of divergence |
|---|---|
| Re-review timing. After a fix, Microsoft re-reviews offers on its own schedule, so a cleared rejection may still show briefly. | Ours may flag slightly longer or shorter than the UI |
| Pending vs rejected. Pending offers are not yet rejected; the card focuses on active rejections. | Counts may differ from a raw Merchant Center total |
| Feed-cycle lag. An upstream fix in the feed tool takes a cycle to reach Microsoft. | Ours reflects the joined state, which can lead or lag the UI |
| Card | Expected relationship | What causes legitimate divergence |
|---|---|---|
shopify.total_revenue | Rejected offers cannot drive commerce revenue; clearing them should lift Shopping-attributed sales | Seasonality and stock can move revenue independently of the feed fix. |
google_ads.gads_wasted_spend | The same feed usually powers Google Shopping, so rejections often appear on both platforms | Google and Microsoft apply slightly different feed policies, so the rejected sets are not identical. |