Home / Guides / Stock & ads

Stock & ads

What is core-size automation in Meta catalog ads?

The sizes that sell are not the sizes that sit. Catalog ads that treat those as the same thing waste spend, or they kill a hero too early.

Updated 25 Sep 2026 · ~1892 words · David Smith

Core-size automation is a merchandising rule: keep a style eligible while the sizes that actually convert are in stock, and pull it back when that run dies, even if leftover tails remain. Pausing when the parent hits zero is too late. Pausing when any size dies is too blunt.

If you only remember one line: parent out of stock is a warehouse event. Core-size failure is a media event. They happen on different days, and the media event is the expensive one.

Direct answer: Core-size automation is a merchandising rule, not a Meta button. You keep a style eligible for catalog ads while the sizes that actually convert are in stock, and you suppress or throttle it when that converting run dies, even if leftover tails remain. Simply pausing when the parent hits zero is too late. Pausing when any single size dies is too blunt. Availability still has to hide each dead SKU. The policy decides whether the parent stays in the set.
Honest scope: This is not a Ralph product name. We do not ship a switch labelled core-size automation. Ralph can put variant cover next to spend and stage set or exclude work for approval. Meta's catalogue still does the delivery filter. You still write the size rule.

The three rules people mash together

Operators, agencies, and software all say "we pause when it goes out of stock." They rarely mean the same thing.

RuleTriggerWhat happensTypical failure
Parent OOSEvery variant is zero, or parent quantity rolls up to zeroPause the product or drop it from "in stock" setsYou already spent two weeks selling UK 10 that was gone
Any-variant OOSThe first size or colour hits zeroKill or hide the whole styleOne dead UK 16 takes a bestseller offline
Core-size policyThe converting size run is broken (often 70-85% of units)Hide dead SKUs always; keep or kill the parent based on the coreYou have to name the core from data, not from a size chart

Catalogue availability is the floor under all three. If Navy / M is unavailable, dynamic product ads should stop shopping that line item. That is the job covered in the variant-level DPA guide. Core-size is the next question: should the hoodie itself stay in "bestsellers in stock" when M and L are gone and XS / XXL still have 40 units?

Hide dead SKUavailabilityJudge the coremerch ruleKeep or kill parentset / labelHuman exceptionsstatic + heroes
Availability hides a size. Core-size decides if the style stays eligible.

Why parent cover lies in fashion

A hoodie with 90 units looks healthy. Split it: Sand/M and Sand/L are zero. Those two variants drove most paid conversions last month. The leftover 90 is XS, XXL, and olive. Days of cover on the parent is a meeting metric. Days of cover on the sizes ads actually sell is the desk metric.

Beauty kits and one-SKU gadgets can survive parent thinking. Apparel cannot. Footwear is worse. See the vertical runbook in footwear catalog ads.

If the model in the ad wears a size you cannot pick, pack, and ship this week, you are not brand building. You are buying refunds.
Sales share by size, and what is left on the shelf by 3pm Friday6810coresold out12coresold out14coresold out16Parent productIn stock (3 of 6)which is a lie, commercially
The parent reads 50 percent in stock. The sizes that sell are gone. Every click after 3pm lands on a shelf with nothing on it.

How you actually name a core

Do not copy a textbook. Pull 90 days of orders. Split paid vs organic if you can. Rank size options by units, then by revenue. A useful starting cut:

Worked mix for a UK womenswear hoodie: M 32%, L 28%, 12/S 16%, XL 11%, 8/XS 7%, XXL 6%. Core is S-L (or 8-14 if you sell numbered). If M and L die, the style is commercially broken for paid even if the parent is "in stock".

Kids, petite, plus, and shoe sizes have different cores. Trainers and Chelsea boots do not share a run. Recalculate when you change cut or factory. A core from last year's oversized drop will lie about this year's slim fit.

Where the rule lives (four layers, none of them magic)

You cannot ask Meta for "core-size automation" as a campaign objective. You encode the rule.

  1. Variant availability. Dead tails flip out of stock. This is Shopify inventory plus the Meta sales channel or feed. It stops dynamic ads shopping a missing UK 16. It does not decide if the parent stays in a bestseller set.
  2. Paid buffer on the core only. Hide the last 2-5 units of converting sizes from paid, even if the site can still sell them. Tails can use a thinner buffer. Write this down. Buffer stock for paid is the sibling.
  3. A label the set can see. Metafield or tag such as core_cover=healthy vs broken. Product sets that say "in stock" at parent level will keep serving broken styles. Sets that require the label will not.
  4. Human exceptions. Static UGC that features a dead core size. Launch colourways you will restock on Tuesday. Pre-order stories. Those are approve/reject, not feed rules. Ralph's posture here is correlation and pending review, not a silent rewrite.

The mechanical how-to for stripping one size without killing the parent is this operator guide. The combination of stock plus wasted spend is inventory and performance exclusions.

How to pause Meta ads for out-of-stock size variants, screen by screen

The policy above tells you when a style should leave the set. This is the click path for the narrower job people search for: stopping delivery on the single size that just died, without touching the parent or the ad object. Meta has no button that pauses one variant, so you are suppressing at item level and letting the ad keep serving its siblings.

  1. Confirm the grain first. Shopify admin, Products, open the style, and check each variant carries its own SKU. Then Commerce Manager, Catalogue, Items, and search that SKU. If the search returns one row per style rather than one per size, your feed is publishing parents and nothing below will work. Fix the mapping before anything else.
  2. Let inventory drive availability. With the Facebook and Instagram sales channel, Settings, Apps and sales channels, the channel pushes quantity changes on its own cadence rather than instantly. For a feed setup, check Commerce Manager, Data Sources, your source, Scheduled uploads and read the interval you are actually on. Do not take anyone's word for the number, including mine: cadences change by channel version, feed host and store size, and the only figure that matters is the one your own stopwatch returns in step five.
  3. Verify the item flipped. Back in Items, open the SKU and read the Availability field. It should read out of stock, not in stock with quantity 0. Item diagnostics in the same screen will flag rejections that quietly keep an old value alive.
  4. Stop the parent inheriting. In Catalogue, Product sets, edit the set your ad set uses and add Availability is in stock as a filter. Sets built on a collection name alone will keep the parent card in rotation with the dead size on the model.
  5. Leave the ad alone. Ads Manager, Automated Rules cannot act on an item. Rules see campaign, ad set and ad only, so a rule written for this job will pause 40 living sizes to kill one.
LayerScreenWhat it stopsHow to time it
Inventory pushShopify sales channel or scheduled feedNothing on its ownRead your own upload schedule, then measure it
Item availabilityCommerce Manager, ItemsThat size in dynamic adsMinutes after ingest, in practice
Set filterCatalogue, Product setsParent card in that setNext set refresh
Ad objectAds ManagerEverything, bluntlyImmediate

Run the check on a Wednesday, not a Friday. Sell one unit down to zero on a quiet SKU, start a stopwatch, and record the minutes between the Shopify change and the Items screen updating. That number is your exposure window, and it is the input for the paid buffer rather than a reason to write more rules.

Where a desk helps is the bit this procedure cannot do by hand every night: Ralph puts variant stock next to Meta and Google spend so the lag and the money are on the same screen, and stages the set change or per-campaign exclude for you to approve rather than writing it silently. Writers of that kind default off until you turn them on.

What agencies actually do (and what to ask)

Search also asks: which agencies run catalog campaigns that stop when a product goes out of stock? Honest version: plenty will say yes. The useful interview question is grain.

A retainer that cannot answer "what happens Friday night when UK 10 dies and XL is fat" is selling hours, not a stock-aware catalog. Cost bands and what you are actually buying sit in Shopify retainer cost and Ralph vs agency. Software vs people is a bottleneck question, not a morality play: agency vs software vs buyer.

Google Shopping, same policy, different pipe

Merchant Center will keep a parent looking shoppable if any variant is in stock. That is the same lie. Supplemental feeds can overlay availability and custom labels without overwriting the primary feed. Details: GMC supplemental feeds and Shopping when the shelf is empty. Encode core_cover once. Use it on both paid shelves.

A Friday night worked example

Sand hoodie. Core S/M/L. 18:40, last M sells on site. L has 1 unit (below your paid buffer of 2). S has 7. XL has 22. Catalogue should mark M unavailable within your measured lag. L should already be withheld from paid if the buffer is real.

If your set is "all hoodies with parent inventory > 0", Sand stays in, dynamic ads lean into S and XL, and the UGC still shows the model in M. If your set requires core_cover=healthy, Sand drops from prospecting. Remarketing can still use remaining sizes if you want. Static featuring M gets staged for pause.

Time the lag with the catalogue lag test. If M is still available an hour later, fix the bridge before you write more rules.

What this is not

Ralph's honest seat: variant stock next to Meta and Google demand, then a package you approve. Docs: stock, product sets. Wider frame: stock-aware advertising. It is also not a fix for a store with a genuine conversion problem, which is better diagnosed with the funnel arithmetic in why your Shopify store isn't getting sales. At the point of a single order you are nowhere near needing this kind of rule, and the earlier stage is covered in first Shopify sale next steps.

Do this week

If that sentence already dies in Slack every busy week, you do not need another dashboard tile. You need one desk that treats the size run as a media input. Why that desk exists: Ralph for fashion, why Ralph for catalog ads. Cover math: days of cover. When stock is already thin: ads when stock is thin. Sets rot: product set rot. Static still lying: dead-size creative.

Encode the rule yourself

0 of 6 done. Ticks stay on this device. When they are all ticked you know exactly what a desk would be doing for you.

Encode a core-size policy for Meta catalog ads

  1. Name the core from orders. Pull 90 days of paid and organic units by size option. Mark the sizes that make 70-85% of units as core for that category.
  2. Map variants to catalogue IDs. Confirm Shopify variant ID or SKU equals Meta retailer_id. Parent IDs cannot carry a core-size rule.
  3. Keep availability honest. Dead tails go unavailable. Core sizes get a paid buffer so ads stop before the last unit.
  4. Tag styles when the core is broken. Use a metafield or custom label such as core_cover=healthy|broken. Rebuild in-stock product sets off that label, not parent quantity.
  5. Stage the human exceptions. When a hero's core dies, pause static that features those sizes and review prospecting. Do not wait for parent stock to hit zero.

Questions people actually ask

What is core-size automation in Meta catalog ads?

It is a merchandising rule: keep promoting a style while the sizes that actually convert are in stock, and suppress or throttle it when those core sizes die, even if leftover tails remain. It is not a Meta product name and it is not the same as pausing the parent when the last unit of any size hits zero.

How does core-size automation differ from pausing ads when a product goes out of stock?

Parent OOS is too late. You already spent into missing 8-12s while XS and XXL sat. Any-variant OOS is too aggressive: one dead UK 16 should not kill the hoodie. Core-size policy sits in the middle. Availability still hides the dead SKU. The parent stays eligible only while the selling run is alive.

Is core-size automation a Ralph feature?

No. It is an industry merchandising term. Ralph can put variant stock next to spend and stage a set change or exclude for approval. It does not silently rewrite Meta when a tail size sells out.

Do agencies automatically stop catalog ads when a product goes out of stock?

Some claim they do. Ask whether they mean parent quantity, any variant, or the converting size run. Most retainers watch heroes by hand and miss Friday night size deaths. Catalogue availability is the automatic layer. Agency labour is the exception layer.

What sizes count as core?

Whatever your last 90 days of paid and organic orders say, not a fashion-school default. For many UK womenswear lines that is 8-14 or S-L. Confirm per category. Kids, petite, and plus lines have different cores.

Should I still mark sold-out tail sizes unavailable?

Yes. Core-size policy is about the parent staying eligible. Dead tails should still be unavailable in the catalogue so dynamic ads do not shop them.

What is the difference between stop-loss automation and core-size automation?

Stop-loss reads performance and cuts spend when ROAS or cost per purchase falls for long enough. Core-size reads inventory and cuts a style when the sizes that convert sell out, even if tail sizes remain. One is a performance rule with days of lag, the other a stock rule with hours of lag, and the stock rule has to run first or the performance rule will pause products that simply ran out. Full comparison: stop-loss vs core-size automation.

what is core-size automation in the context of meta catalog ads and how does it differ from simply pausing ads when a product goes out of stock?

Core-size automation keeps a style in Meta catalog ads while the sizes that actually convert are in stock, and pulls it when that core run breaks, even if tail sizes remain. Pausing when the product goes out of stock waits for every size to hit zero, which for a fashion style is days after the money stopped working. The difference is the trigger: core-run health at variant level versus the parent's availability.

what is core-size automation for catalog ads and why doesn't meta do this on its own?

Meta's catalogue engine reads availability per item and stops shopping a sold-out item. It has no concept of which sizes carry a style's sales, so a style with only the unpopular sizes left still looks available. Core-size logic needs sales share by size and inventory by size from the store, which lives in Shopify, not in the ad platform.

How do I automatically pause Meta ads for out-of-stock size variants?

You suppress the item, not the ad. Publish one catalogue item per variant, let Shopify or your feed flip availability to out of stock, and add an availability filter to the product set your ad set uses. Delivery on that size stops within a refresh cycle while the other sizes keep serving from the same ad.

Can Meta automated rules pause a single size variant?

No. Automated Rules in Ads Manager act on campaigns, ad sets and ads, and have no visibility of catalogue items. Any rule you write to kill one dead size will take the whole ad down with it. Variant-level suppression happens in the catalogue through availability and product set filters instead.

Does marking a variant out of stock remove it from retargeting as well?

Expected behaviour is that out-of-stock items stop being eligible across dynamic placements, retargeting included, but confirm it in your own set before relying on it. If you want remarketing to keep working on surviving sizes, build that set on the parent style with an availability filter rather than pinning it to the specific variant a shopper viewed.

If a sold-out size is the problem: Ralph reads every size against every campaign overnight, finds the ones still paying for an empty shelf, and stages the exclusion with a revert for restock day. You say yes. See Ralph · How Ralph handles out-of-stock sizes · Docs