At a glance
A cross-channel alert that catches Pinterest Shopping Pins still actively serving and spending on products that are out of stock in your commerce platform. On Pinterest Shopping, the Pin IS the SKU: each product in your catalogue becomes a shoppable Pin. When that product sells out, the Pin can keep serving to Pinners, taking clicks and spend, while the destination page shows sold out. Every penny on those Pins is unrecoverable waste, and worse, the Pinner has a dead-end experience. This card joins Pinterest’s active Shopping Pins to live inventory from your commerce connector so you can pause or recover the spend immediately.
| What it lists | Active, spending Pinterest Shopping Pins whose underlying SKU shows zero available quantity in the linked commerce platform (Shopify, BigCommerce, or Adobe Commerce). Each row is one offending Pin with its recent spend. |
| Why it is cross-channel | The signal lives in two systems. Pinterest knows the Pin is active and spending; only the commerce platform knows the SKU is out of stock. Neither alone catches the problem. This card joins them on the product identifier. |
| Why Pinterest specifically | On Pinterest Shopping, the catalogue product and the ad are the same object. There is no separate keyword layer to pause; the Pin lives or dies with the SKU. That tight coupling makes a stockout immediately wasteful in a way that does not happen on a keyword-driven channel. |
| Catalogue sync lag | Pinterest ingests your product feed (often via Feedonomics or a direct catalogue connection) on a schedule, not in real time. A SKU can sell out minutes after the last feed sync, leaving the Shopping Pin live and spending until the next sync, and sometimes longer if the feed itself is stale. |
| The recovery | Pause the offending Pin or set the SKU to unavailable in the feed, then reallocate the freed budget to in-stock catalogue Pins. When the product restocks, re-enable. The card tracks both the leak and the recovery. |
| Unit | Currency. The table shows recent spend per offending Pin, in account currency, so you can prioritise the biggest leaks first. |
| Time window | RT (evaluated continuously against the latest catalogue and inventory state). |
| Alert trigger | An active, spending Shopping Pin mapped to a commerce-sibling SKU showing zero available quantity. |
| Sentiment key | pin_xc_ads_on_oos |
| Roles | owner, marketing, operations |
Calculation
Calculated automatically from your Pinterest Ads data joined to your commerce platform inventory. 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 home decor brand running Pinterest Shopping from a Shopify catalogue. Account currency: GBP. The card joins active Shopping Pins to live Shopify inventory.| Shopping Pin | SKU | Shopify available qty | Active? | 72h spend | Action |
|---|---|---|---|---|---|
| Velvet ochre armchair | CHR-OCH-01 | 0 | Yes | £210 | Pause now |
| Linen sofa cover, grey | COV-GRY-02 | 48 | Yes | £160 | Keep |
| Brass floor lamp | LMP-BRS-03 | 0 | Yes | £95 | Pause now |
| Wool throw, mustard | THR-MUS-04 | 12 | Yes | £70 | Keep |
- Two SKUs are leaking £305 over 72 hours. The ochre armchair and brass lamp are both sold out in Shopify but their Shopping Pins are still live and spending. Every click lands on a sold-out page, so the spend is pure waste and the Pinner experience is poor.
- The Pin is the SKU. There is no clever bid adjustment that fixes this. The only remedy is to stop the SKU serving: pause the Pin or mark it unavailable in the feed. On Pinterest Shopping the product and the ad are one object.
- Catalogue sync lag is the usual cause. The armchair likely sold out shortly after the last feed sync. Until the next sync propagates the zero quantity, Pinterest believes it is buyable. This card does not wait for the feed; it reads live inventory from the commerce connector.
- Recover, do not just pause. Reallocate the £305 to in-stock catalogue Pins that are converting. When the armchair restocks, re-enable its Pin. The card will clear the row automatically once inventory returns or the Pin is paused.
- SKU at zero + Pin active + spending = pause immediately, recover budget.
- SKU at zero + Pin active + not spending = lower priority, but still mark unavailable to protect the Pinner experience.
- SKU low but not zero = not flagged here; watch it if it is a fast seller.
- Restocked + Pin paused = re-enable to resume distribution.
Sibling cards merchants should reference together
| Card | Why pair it with this alert |
|---|---|
| Pinterest Wasted Spend | Out-of-stock Shopping Pins are a major source of waste; this card pinpoints one cause of it. |
| Pinterest Wasted-Spend Burst (3-day spike) | A sudden stockout often shows up there first as a burst before this card maps it to inventory. |
| Pinterest Catalog Feed Rejections Hurting Verified Merchant Status | The companion catalogue-health card; both are about feed integrity and Shopping Pin distribution. |
| Pinterest Revenue by Campaign | Shows whether Shopping campaigns are over-indexed on a few SKUs that, if they sell out, leave a big gap. |
| Pinterest Spend by Campaign | Confirms how much of your Shopping budget is exposed to inventory risk. |
| Shopify Total Revenue | The commerce side that supplies the live inventory this card joins against. |
Reconciling against Pinterest Ads Manager
Where to look in Pinterest Ads Manager: Pinterest Ads Manager > Catalogs > the product groups and feed status view shows which products are eligible to serve as Shopping Pins. Pinterest shows feed-reported availability, which is only as fresh as your last feed sync, so a product can read in stock here while it is actually sold out in your store. To see active spend per product, cross-reference Reporting > Performance at the product or Pin level. This card’s advantage is that it reads live commerce inventory, not the feed snapshot Pinterest holds. Why our number may legitimately differ from Pinterest’s UI:| Reason | Direction | Why |
|---|---|---|
| Live inventory vs feed snapshot | Ours catches stockouts sooner | Pinterest’s catalogue view reflects the last feed sync. This card reads current inventory from the commerce connector, so it flags a stockout between feed syncs that Pinterest still believes is buyable. |
| Feed sync schedule | Timing gap | If your feed syncs every few hours, Pinterest’s availability lags reality by up to that interval. The bigger the interval, the longer the leak window. |
| Product-to-Pin mapping | Edge cases | Variant-level stockouts (one size sold out, others available) depend on how the feed maps variants to Pins; partial availability is handled per the feed’s granularity. |
| Account time zone vs UTC | Boundary timing | Spend totals use UTC window edges; the UI uses the account time zone. |
| Card | Expected relationship | What causes legitimate divergence |
|---|---|---|
shopify.inventory / product availability | Every active Shopping Pin should map to an in-stock SKU | Feed sync lag and variant-level availability create a short, legitimate window where a Pin serves on a freshly sold-out SKU. The card flags it; the feed will catch up at the next sync. |
bigcommerce or adobe_commerce inventory | Same relationship for non-Shopify catalogues | The join uses whichever commerce connector supplies the catalogue feed. |