Skip to content
Strategy 9 min read

Out-of-Stock Ad Strategy: What to Do When a Hero SKU Sells Out

A hero SKU at zero units does not need more clicks. Here is how to stop spend, point ads at what you can ship, and plan the restock.

A paid click to a product you cannot ship is a paid complaint. The shopper lands on a sold-out button, a "notify me" form, or a quiet 404. You paid for the visit. They leave with a reason not to come back. The fix is operational first and creative second: stop sending traffic to units you do not have, then decide what the spend should do until the product returns.

This guide covers how to spot the problem, what to pause, how catalog feeds differ from one-SKU ads, and how to use substitutes, waitlists, and restock timing without training buyers to ignore you. It does not promise that a swap will recover the same cost per order. You have to measure that on the SKU you can actually fulfill.

If you are choosing which product deserves spend in the first place, read which product to advertise first. If the stockout is a launch that sold through, pair this with product launch ad strategy.

Count units before you count clicks

Start with a number you can pull today: on-hand units for the SKU in the ad, inbound units with a date, and the average daily units sold while the ad was on. You do not need a forecast model. You need to know whether you will stock out this week.

A hypothetical example, not a benchmark:

SKUOn handAvg daily units while ads were onInboundInbound date
Serum 30ml401850012 days out
Serum 50ml2206none scheduledn/a
Bundle0was 9 before it sold out20012 days out

On these made-up figures, the 30ml has about two days of cover (40 / 18). The bundle is already at zero. The 50ml can take spend now. The decision is not "turn Meta off." The decision is "stop the 30ml and the bundle, move the budget to the 50ml or to another in-stock product, and do not promise a ship date you do not have."

If daily velocity is lumpy, use the last 7 days of units sold, not a single hero day. Exclude orders you already refunded. A stockout caused by a flash sale is a different problem from a stockout caused by a steady ad. See evergreen versus promotional ads before you refill a promotional hole with evergreen budget.

Pause the path that cannot fulfill

Do this in order. Each step stops a different leak.

1. The landing page. If the URL in the ad is a product page with no add-to-cart, pause that ad. A sitewide banner that says "back soon" does not fix a direct product URL.

2. The ad that names the SKU. Static and video ads that show the sold-out item, the shade, or the size should pause even if the URL is your homepage. The creative made a promise the warehouse cannot keep. Message match runs in both directions. See landing page message match.

3. Catalog and product feeds. Meta catalog ads and ChatGPT product feed campaigns are built around a feed. Availability is a field in that feed. If a variant is marked out of stock, those formats are supposed to stop featuring it. Confirm the field in Commerce Manager or in the feed file. Do not assume the pause happened because the product page says sold out. A stale feed will keep spending. Our Meta catalog ads guide and ChatGPT product feed guide cover setup. Recheck availability the same day you hit zero.

4. Retargeting pools. People who viewed the sold-out PDP are now a pool of disappointed visitors. Point that retargeting at an in-stock substitute or at a restock signup, not at the same PDP. If you have no substitute, exclude the PDP viewers until you can ship. Meta retargeting explains the pools. Frequency caps do not fix a dead product. See frequency capping.

5. Email and SMS that use the same creative. Paid ads are not the only place the SKU appears. A promo send the same afternoon reopens the leak. Coordinate the calendar before you only pause Ads Manager.

Substitutes, not lookalikes you hope will do

A substitute is a product you can ship that solves the same job for the same buyer. A 50ml of the same serum is a substitute for a 30ml. A different scent with no overlap in the buyer's question is not. Sending "you might also like" traffic to an unrelated hero wastes the reason they clicked.

Use a short rule:

  • Same job, same key spec, in stock: eligible substitute.
  • Same brand, different job: only if the ad is rewritten for that job.
  • Different shade or size that changes the promise (SPF, fit, flavor): new ad, new page, do not recycle the old headline.

Rewrite the first line. "Back in stock" is false. "50ml of the same serum, in stock, ships this week" is a claim you can check against inventory and your shipping policy. If you cannot ship this week, do not say it.

On ChatGPT, context hints should change with the product. A hint about the sold-out shade will keep matching chats about that shade. Pause those hints. Write hints for the product you can sell. The context hints guide is the reference.

Waitlists and preorders

A waitlist is a reasonable page when the product is worth the wait and you have a date you believe. It is a bad ad destination when the buyer needed the item for an event this weekend.

If you advertise the waitlist, the ad has to say that. "Join the restock list for the 30ml" is honest. A product photo with a shop-now button is not. Track the cost per signup separately from the cost per order. A signup is not revenue. When the product returns, measure what share of the list buys, using your own export. Do not borrow a conversion rate from a blog.

Preorder only if you can charge in a way your policies and payment setup support, and if the product page states the ship window in a date, not "soon." Advertising a preorder as if it were in stock is how chargebacks start. Read ad claims compliance before you put a date in the ad.

Some brands keep a small always-on ad for the waitlist and move prospecting budget to in-stock SKUs. That split belongs in the account structure. Name the campaigns so the spend is obvious. A naming pattern is in Meta ads naming conventions.

Where the budget should go that week

You have four options. Pick one on purpose.

Move spend to the substitute. Keep the daily budget similar only if the substitute has its own margin and its own conversion history. A new SKU with no page traffic is a test, not a scale campaign. Use the ad budget calculator with the substitute's price and your real costs.

Hold spend flat at the account level and cut the sold-out campaign to zero. Total budget stays the same. The mix changes. Watch blended efficiency, not only the platform row for the paused ad. MER is the account-level check. A paused campaign can make platform ROAS look "healthier" simply because the weak clicks stopped. That is a reporting change, not proof the remaining ads got better.

Cut spend until the inbound lands. This is the right call when you have no substitute and the restock is days away. Paying to stay in an auction you cannot fulfill does not preserve learning in a useful way. You can restart. The learning phase may run again. That cost is usually smaller than a week of sold-out clicks.

Shift the message to a different in-stock product you already know how to sell. Use an angle you have already run, not a new concept invented to fill the gap. Proven ad messages is the standard. A stockout is a bad week to debut an untested story.

Write the choice in one line in your changelog: "30ml paused 2026-10-30, budget moved to 50ml, restock ETA 12 days, waitlist page live, ads do not point at it." Future you will not remember.

Restock without a fake frenzy

When units arrive, confirm the feed, the page, and a test order before you turn the ads on. Then resume the ads that matched the product, rather than launching five new concepts on day one.

A real constraint can be stated: "Restocked, 500 units, shipping today." A fake constraint ("only 3 left" while the pallet is full) is a policy problem and a trust problem. If the inbound is 500 units and you sold 18 a day, you do not have a scarcity story. You have inventory. Advertise the product, not the panic.

Watch the first 48 hours for a different failure: the page converts, then fulfillment slips because the warehouse is receiving and shipping at once. If ship times slip, edit the ad and the page the same day. Returns and refunds will show up later if you ignore the slip now.

Tell the waitlist before you spend heavily on cold traffic. Those people already asked for the product. First-party data is the list you earned during the stockout. Use it. Then let paid ads find people who were not on it.

What not to do

Leave the ad on because CPA looked good yesterday. Yesterday you had stock.

Send sold-out traffic to the homepage and hope. The homepage does not explain the stockout. It hides it.

Discount the substitute so hard that you reset the price. A stockout is not automatically a sale. If you do discount, follow offer stacking so you do not train the list to wait for the next apology code.

Ignore retail and marketplace stock. If your site is at zero and a retailer still has units, your ads may push buyers to a channel you did not plan to pay for. Decide whether that is acceptable before you keep spending.

How SecondWin helps

SecondWin does not watch your warehouse. You still have to pause a ChatGPT ad that points at a SKU you cannot ship. What SecondWin does is run ChatGPT ads for DTC brands: it reads your site, studies the longest-running ads in your niche in the Meta Ad Library, and writes original ads (copy and AI images) from those angles. You preview the card in a ChatGPT mockup. Campaigns launch through the OpenAI Ads API in your own account. OpenAI bills media spend to you. Plans start at $99 a month and are month to month.

If the page you analyzed is the sold-out hero, say so before launch and point the work at the SKU you can fulfill. Run a free analysis of your site. See the pricing page. SecondWin is independent and is not affiliated with OpenAI. ChatGPT is a trademark of OpenAI.

FAQ

Should I pause the whole ad account when one SKU sells out?

Pause the ads, feeds, and retargeting that feature that SKU. Keep spending on products you can ship if their margin still works. A full-account pause is for the week when nothing you advertise is fulfillable.

Will catalog ads stop on their own?

Only if the feed's availability field updates. Check Commerce Manager or the feed the day you hit zero. A sold-out badge on the website does not edit the catalog by itself unless your integration is actually syncing that field.

Is a waitlist a good landing page for cold ads?

It can be, if the ad says it is a waitlist and you are tracking cost per signup, not pretending signups are orders. For buyers who needed the item immediately, send them to an in-stock substitute or do not bid on that query until you can ship.

How fast should I turn ads back on after a restock?

After a test order ships in the window your ad states, and after the feed shows in stock. Email the waitlist first. Then resume the proven ads before you test new angles.

What do I tell ChatGPT ads that mention the sold-out product?

Pause them and pause the context hints that describe that product. Leaving the hint live matches chats you cannot serve. Replace the hint only when a real substitute is on the page you link to.

Run a Shopify store? See your product as a chatgpt ad, free.
Strategy8 min read

Post-Holiday Q1 Ad Strategy for DTC Brands

The holidays are over, but the opportunity is not. Here is how DTC brands should approach Q1 advertising to retain holiday customers and capture new-year intent.

Free tools

All 36 tools