Every ad platform ships a rule builder, Shopify ships Flow, and every feed tool ships conditions. It is easy to end up with rules in four places that do not know about each other. This is the map: what each layer can see, what it can do, and the blind spot they all share.
Direct answer: There are four native rule layers for a Shopify store's ads. Meta automated rules and Google Ads rules and scripts act on ad metrics. Shopify Flow acts on store events, including inventory, but cannot touch ads directly. Feed rules translate store data into labels and availability the ads can use. None of the ad-side rules can see stock, so the only way inventory reaches your ads is through the feed. Build performance rules on the ad side, stock rules on the feed side, and put a human or a desk in the middle to join the two each morning.
The four layers
| Layer | Sees | Can do | Cannot do |
|---|---|---|---|
| Meta automated rules | Spend, results, cost per result, frequency, at ad, ad set or campaign level | Pause, unpause, change budget, change bid, notify, on a schedule | See inventory. Run at an exact minute. Reason about a size run |
| Google Ads rules and scripts | Everything in the Google Ads account, plus anything a script fetches | Bids, budgets, status, ad schedules, labels, reports; scripts can call external data | See Shopify without a script someone maintains. Override Smart Bidding |
| Shopify Flow | Orders, inventory, products, customers | Tag, untag, notify, hold, trigger apps | Touch an ad account. Know what an ad is spending |
| Feed rules | Product data and tags on the way to the catalogue | Custom labels, availability overrides, buffers, title and image transforms | Know performance. Decide anything; they only translate |
The shared blind spot
Ad-side rules judge products by what the ad account can see. When a jacket's core sizes sell out, its ROAS falls, and a stop-loss rule reads "bad ad" and pauses it. The jacket was fine. The shelf was empty. This happens every week in fashion accounts running performance rules without a stock signal, and the fix is structural, not a better threshold: stock rules first, on the feed side, then performance rules that only judge items that passed the stock check. The full argument is in stop-loss vs core-size automation.
How inventory actually reaches the ads
Shopify Flow to tag. Tag to custom label in the feed. Label to product-set rule on Meta and listing-group rule on Google. That chain is the only native path from a warehouse event to an ad decision, and every link in it can be maintained by a person who does not have ad account access, which is a feature. The set-up is in pause ads when out of stock: five methods.
Rules worth having on the ad side
- Notify, not act, on the big moves. Spend up 50 percent day on day, cost per purchase over a ceiling for three days, frequency past a limit. A notification with a threshold is worth more than an action with one.
- Reduce before pause. A rule that cuts budget by 20 percent is recoverable. A rule that pauses resets learning when you undo it.
- Windows of days, not hours, for anything purchase-based. Seven days is a trend. One day is a Tuesday.
- Caps per run. A rule should not be able to pause twenty ad sets before someone looks.
- Never delete. Deleted objects take their history with them.
Rules that cause incidents
- Budget slams on a schedule to fake dayparting on a daily budget: midnight to £1, 8am to £200. Delivery goes strange and learning resets. The right shape is a stepped throttle: how throttling actually works.
- Pause on ROAS with a 24-hour window. Fires on noise, and on stockouts.
- Rules in two tools fighting each other: one raises the budget on strong results, the other lowers it on high spend, every hour, forever.
- Any rule with no owner. Rules outlive the person who wrote them and the promotion they were written for.
Performance rules belong on the ad side. Stock rules belong on the feed side. The morning join between them is the job nobody has automated honestly, because it needs a yes.
Where a desk fits, and where it does not
Ralph is not a fifth rule builder. It reads the same ad metrics and the same Shopify inventory the four layers see separately, joins them per variant, and stages the exceptions for approval: exclude this SKU here, rebuild that set, throttle these hours, withhold the last units of that size. Nothing writes without a yes and the writers are off by default. If your rules are working and your catalogue is small, keep the rules. If the rules keep pausing things that were simply out of stock, the join is what you are missing. How the approval model works: does Ralph spend without approval.
Questions people actually ask
What automation rules can I use for Shopify ads?
Four native layers: Meta automated rules (pause, budget, notify on ad metrics), Google Ads automated rules and scripts (bids, budgets, status, schedules), Shopify Flow (tag, notify and trigger on store events including inventory), and feed rules in your catalogue tool (labels, availability, exclusions). None of the ad-side rules can see inventory. That gap is the whole story.
Can Meta automated rules see my Shopify stock?
No. They see ad metrics only. A rule that pauses on falling ROAS will pause a product whose converting sizes sold out, because from the ad side that looks like a bad ad. Stock has to reach the ads through the feed, as availability or labels, not through automated rules.
Can Shopify Flow control my ads?
Not directly. Flow acts on store events and can tag products, send messages and trigger some apps. Tag a product on an inventory condition, map the tag to a custom label in your feeds, and let product sets and listing groups exclude on the label. That is how Flow reaches your ads.
What should an ads automation rule never do?
Delete anything, act on a window shorter than a few days for purchase-based metrics, pause more than a handful of objects in one run, or run without a limit on how much it can change before a human looks. And it should never decide a product is bad without checking whether it was in stock.
Do I need software beyond native rules?
For a small catalogue with steady stock, native rules plus a weekly check are enough. You need more when the catalogue is big, variants sell out unevenly, and nobody has time to join spend to stock every morning. That join is what operator software does; it is not a better rule builder.
If the hours are the problem: Ralph reads sixty days of your hourly results, proposes the switch-off with floors, and applies it on Meta after you approve. On Google he recommends the schedule. See Ralph · How Ralph dayparts · Docs