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.
Questions that bring people here
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.
| Rule | Trigger | What happens | Typical failure |
|---|---|---|---|
| Parent OOS | Every variant is zero, or parent quantity rolls up to zero | Pause the product or drop it from "in stock" sets | You already spent two weeks selling UK 10 that was gone |
| Any-variant OOS | The first size or colour hits zero | Kill or hide the whole style | One dead UK 16 takes a bestseller offline |
| Core-size policy | The converting size run is broken (often 70-85% of units) | Hide dead SKUs always; keep or kill the parent based on the core | You 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?
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.
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:
- Core: sizes that make roughly 70-85% of units in that category.
- Secondary: sizes you still want on site, but you will not prospect them alone.
- Tail: sizes you keep for completeness and wholesale, not for cold traffic.
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.
- 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.
- 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.
- A label the set can see. Metafield or tag such as
core_cover=healthyvsbroken. Product sets that say "in stock" at parent level will keep serving broken styles. Sets that require the label will not. - 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.
- 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.
- 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.
- 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.
- 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.
- 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.
| Layer | Screen | What it stops | How to time it |
|---|---|---|---|
| Inventory push | Shopify sales channel or scheduled feed | Nothing on its own | Read your own upload schedule, then measure it |
| Item availability | Commerce Manager, Items | That size in dynamic ads | Minutes after ingest, in practice |
| Set filter | Catalogue, Product sets | Parent card in that set | Next set refresh |
| Ad object | Ads Manager | Everything, bluntly | Immediate |
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.
- "When the product hits zero" usually means parent quantity in a Monday deck.
- "We watch bestsellers" usually means three heroes, not 400 variants.
- "The feed handles it" is correct for SKU suppression and silent on core-size.
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
- Not a bid strategy.
- Not auto-pausing an ad set when one size sells out. The ad object can keep running on siblings.
- Not a reason to delete tail sizes from Shopify. Customers and wholesale still need them.
- Not WMS truth. If Shopify locations are a fiction, every rule above is show.
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
- Export 90 days of units by size for your top 20 paid styles. Circle the core.
- Check those cores in Meta Commerce Manager against Shopify locations. Count mismatches.
- Write the rule in one sentence: "Style stays in prospecting sets only if [these sizes] are above [buffer]."
- Pick one broken hero and apply it by hand. Then decide if a label/set is worth the plumbing.
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
- 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.
- Map variants to catalogue IDs. Confirm Shopify variant ID or SKU equals Meta retailer_id. Parent IDs cannot carry a core-size rule.
- Keep availability honest. Dead tails go unavailable. Core sizes get a paid buffer so ads stop before the last unit.
- 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.
- 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