Skip to content

Hey, I'm Gyanesh Samanta, a Product management professional based out of India, I work at the intersection of Data, Product and AI.

0
0
0
0
Product Management
Loading 000%
All editions
Gyanesh on ProductApr 2, 20264 min read

The Broken Pipeline Nobody's Fixing

Why brands are spending real money on ads that send you to a sold-out page — and the product dysfunction silently enabling it. I was scrolling Instagram last week when an H&M story ad stopped my thumb dead. Dark beige resort shirt,…

Why brands are spending real money on ads that send you to a sold-out page — and the product dysfunction silently enabling it.

I was scrolling Instagram last week when an H&M story ad stopped my thumb dead. Dark beige resort shirt, winter sale, ₹499 — 64% off. Clean product shot, bold type, the full promise. I tapped "Shop Now."

The product page loaded. Every size — XS, S, M, L, XL, XXL — was crossed out. Out of stock.

I didn't think much of it. Until it happened again. Same brand, different SKU, same dead end. And again. At some point irritation turned into a genuine product question: why is a global fashion brand with a multi-crore digital marketing budget consistently routing paid traffic to products it cannot sell? Is this sloppiness, strategy, or systems failure?

After digging into how modern performance marketing stacks actually work, I have an answer. It's all three — and it's more widespread than H&M.

Three failure modes, one broken experience

Let's get something out of the way: this is almost certainly not deliberate bait advertising. It's the output of a marketing stack where three teams share a customer but not a single metric.

Here's the breakdown.

  1. Static creatives outlive inventory reality. The H&M Group story was almost certainly a manually designed asset — hero image, fixed copy, a hardcoded "Shop Now" URL pointing to a specific SKU. That creative was approved, scheduled, and went live. When the shirt sold out, nobody paused the campaign. Why? Because pausing resets the algorithm's learning phase. On Meta, that's roughly a week of degraded delivery performance. Most performance marketers won't sacrifice long-term campaign health for a short-term stock issue.

  2. Inventory data is decoupled from ad eligibility. Meta and Google expose anfield in product catalogs — mark a SKU and it should stop appearing in dynamic ads. In theory. In practice, most catalog integrations update once every 24 hours. A shirt that sells out at noon keeps running in ads until the next morning's sync. That's a 12-hour window of guaranteed wasted spend per stock event.

  3. Algorithms bet on yesterday's winners. Meta's delivery system is optimized for past performance. If that beige resort shirt drove strong CTR and ROAS last week, the algorithm keeps backing it aggressively. Until it receives a clear, unambiguous inventory signal — which the delayed feed doesn't provide — it keeps serving the creative that historically converted.

Documented, not anecdotal: Practitioners on r/FacebookAds report manually checking inventory every morning and pausing campaigns by hand. On r/googleads, advertisers share custom scripts specifically built to auto-pause out-of-stock Shopping ads — because the default platform behavior doesn't do it.

It's an industry pattern, not a brand oversight

The data across platforms makes this uncomfortable to ignore. This isn't H&M being negligent. It's a systemic failure built into how modern ad stacks are designed.

Source — Marpipe (2024): For brands with fast-moving inventory, best practice is to refresh catalog feeds every 4–6 hours minimum, or implement real-time API updates. Most Shopify-Meta integrations default to once per day.

My Diagnosis: misaligned scorecards

Here's the uncomfortable product truth: inventory-blind advertising is entirely rational given how teams are currently measured.

Performance marketing teams are scored on ROAS, cost per acquisition, and channel revenue. Nobody's scorecard includes "% of ad clicks that land on an in-stock page." So it is perfectly rational for a digital marketing manager to keep that high-ROAS creative running until a problem surfaces in their dashboard. It won't. Bounce rates from ad landings are buried three levels deep in attribution reports — if they're tracked at all.

Meanwhile, the engineering team that owns the feed integration has a backlog full of features. Improving catalog sync from daily to real-time is a meaningful infrastructure project — it likely touches the ERP, the PIM, and the ad platform API simultaneously. That project needs a business case. Nobody's written one, because nobody's measuring the cost of the problem at the org level.

This is precisely the kind of problem that hides between org charts. No single team is failing — they're all operating rationally within their own incentive structures. But the customer sees only the result: a paid ad, a moment of excitement, a sold-out page.

What good actually looks like

The fix is not technically exotic. It's organizationally difficult — which means it requires someone with cross-functional authority to care enough to drive it.

The quick technical wins are real: feed refresh frequency lifted from daily to every 4–6 hours with event-driven triggers on zero-inventory events; explicit catalog rules mapping to ; negative dynamic targets in DSA campaigns blocking out-of-stock URLs. Several vendors — Feedonomics, DataFeedWatch — sell exactly this capability. Google Ads script libraries automate Shopping campaign pauses when inventory hits zero.

The harder win is the SLO. Define it explicitly: "99% of paid ad clicks must land on an in-stock purchase option." Publish that number across the channel team, the e-commerce product team, and the supply chain team. Make it someone's quarterly objective. That single metric would force the conversation this problem has never had.

The smartest brands go a step further. When a high-performing creative features a sold-out SKU, instead of a dead-end PDP, they route to a waitlist, a pre-order experience, or a "you might also love" page. They convert the disappointment into intent capture. That's not damage control — it's product thinking applied to a channel problem.

So — what should you do about it?

The H&M ad I tapped was not malicious. It was the predictable output of a system where marketing, product, and engineering share a customer but not an SLO. The pipeline is broken. The fix is documented. The blocker is organizational will.

Someone just needs to own the metric that makes it everyone's problem.

- Gyanesh

Share this piece
Originally published on LinkedIn