Direct answer
You run Meta ads for a Shopify store without the tab chaos by putting three things on one screen: what each ad set spent by hour, how many units of each size are left, and a queue where every change to the account waits for your yes. Ads Manager gives you the first and is blind to the second, which is why a winning campaign can run all weekend against a size that sold out on Friday afternoon. Ralph reads your Shopify inventory per variant next to your Meta spend overnight, stages the exclusion, the schedule or the throttle, and waits. Nothing spends or publishes until you approve it.
Who this page is for
This is for the Shopify merchant who runs Meta ads without a media team: the founder who is also the media buyer, the ops lead who screenshots Ads Manager into Slack, the two-person brand with more SKUs than hours. It assumes you already know what an ad set is and you would like to stop paying for the two leaks described below. If you want a creative generator with no interest in your warehouse, this is not the page and Ralph is not the tool.
The problem is not Ads Manager, it is what Ads Manager cannot see
Most Meta tools improve one slice of the account: creative testing, bid rules, or a prettier report. None of that addresses the way Shopify brands actually lose money on Meta, which is that the ad account and the warehouse are never in the same room. Meta is very good at finding buyers and completely indifferent to whether you can ship to them. A tool that only watches Ads Manager will spend straight into that indifference and report a healthy ROAS while it does it.
Two mechanisms do most of the damage. The first is that catalogue availability is not the same as pausing an ad. When a size sells out and your catalogue is current, Meta stops serving that specific retailer ID in catalogue placements, which is automatic and free. The parent product, however, stays eligible as long as any size can ship, so a jacket with the 6, 8 and 16 left reads as in stock while the 10, 12 and 14 that carry the conversions are gone. Every click after that lands on a product page with the wrong sizes, and no ad platform notices. The static ad that features the sold-out colourway carries on regardless, because no catalogue rule can see a JPEG. The mechanism is laid out in variant-level DPA when a size sells out and core-size automation.
The second is the clock. Meta only offers ad scheduling on lifetime budgets, and most Shopify accounts run on daily budgets. So the account has hours that clearly lose money, usually overnight, and no native switch to turn them off. People either move to lifetime budgets and eat the learning reset, write automated rules that slam budgets up and down, or give up and run 24 hours a day. The full argument is in how to daypart Meta ads, and the shorter version is that the button you are looking for does not exist on a daily budget.
What good Meta operations look like on a Shopify store
The brands that do this well are not running cleverer bidding. They have a morning routine that puts spend next to stock and asks a small number of questions every day: which sizes sold out yesterday and which campaigns are still paying for them, which hours lost money on every day of the last two months, which creatives are wearing out, and which winners are about to run out of cover. The answers turn into a short list of changes, each with a number attached, and someone says yes or no to each one before it happens.
That routine has a rhythm that thin teams can actually keep. On Monday you look at which creatives earned spend and which SKUs they sold. Mid-week you check cover on the top-spending SKUs and move budget before the shelf empties. On Friday you review the next week's packages while they are still held for approval, so nothing is launched on a Friday evening by accident. The point of software here is to make that routine cheaper, not to replace the person saying yes. Ads should ship as packages rather than lonely ads, with an audience, a creative set, budget bounds, a SKU list and a kill condition, which is the argument in packages, not lonely ads.
Operator workflow
Do it yourself first
You can find both leaks this week with the tools you already have, and you should, because it tells you what the problem is worth before you pay anyone to fix it.
- Find the dead hours. In Ads Manager, set the date range to the last 60 days, open Breakdown, choose By Time and then Hour of day. Look at spend and cost per result for the overnight block from midnight to six on each day of the week. Write down the hours that are below the account average on all seven days, and how much they spent in total. That figure is the size of the clock leak.
- Check the budget type before you touch anything. Open each ad set and note whether it runs on a daily or a lifetime budget. Only lifetime-budget ad sets have the Ad scheduling setting. For those, switch off the hours you wrote down and nothing else. For daily-budget ad sets there is no schedule, so your only honest options are to leave them running or to dim the budget in the weak hours by hand and restore it in the morning, which very few people keep up for more than a week.
- Find the sold-out sizes. In Shopify go to Products, then Inventory, filter to variants with zero available, and write down each variant along with its SKU. Then open Commerce Manager, go to your catalogue, then Items, and search for those SKUs. Check that each one is a separate item with its own retailer ID and that its availability reads out of stock. If the parent product is the item, your feed is not at variant grain and nothing downstream can be right.
- Find the campaigns still paying for them. In Ads Manager, for each sold-out variant, look at which ad sets use a product set that still contains it, and check yesterday's spend on those ad sets. Write the number next to the variant. That is the size of the shelf leak. To fix it by hand, create a product set in Commerce Manager that excludes the item, or remove it from the set that the campaign uses, and make a note to put it back when the restock lands.
- Check the creative. Open the top five ads by spend and look at the image or video. If any of them features a size or colour you cannot ship, that ad needs a person, because no feed or rule will ever fix it.
If those two numbers are small, you do not need software for this. If they are the size of a month of Growth, keep reading. Either way you now know what you are buying. When stock is thin rather than gone, the throttle-or-kill decision is in should you keep Meta on when stock is thin.
Where Ralph fits
Ralph does the steps above every night, for every size and every ad set, and puts the results in one list at seven in the morning. He reads Shopify inventory at variant level, maps each variant to its Meta retailer ID, works out days of cover and whether the sizes that carry the conversions are still in stock, and then looks across your campaigns and product sets for items that are broken on stock and still being paid for. Each one appears in the brief with yesterday's spend against it and a staged fix: a per-campaign exclusion with a revert attached, or a product-set rebuild from confirmed variant stock, which goes live paused. Shared product sets are left alone, so a fix in one campaign never silently changes five others. The whole chain is in how Ralph handles out-of-stock sizes, and the hand-operated version in remove a sold-out size from Meta ads.
For the clock, he pulls sixty days of hourly results for the account, draws the seven-day heatmap, groups the hours into the blocks shoppers actually live in, and proposes a cut with floors: never more than half the week, never a whole day, and nothing at all on thin data. Before he blames the clock, he checks the shelf, because a weak evening on a fashion account is very often the converting sizes selling out at three in the afternoon. Then the write depends on the budget type. Lifetime-budget ad sets get a native Meta ad schedule with the approved hours. Daily-budget ad sets get a stepped throttle instead: the budget dims towards a floor in the weak hours, holds while the ad set is in learning, and restores afterwards. Both happen only after you approve. It is written up in how Ralph dayparts Meta and Google.
On top of that he drafts the routine work: ad copy, creatives built from what has actually converted, and product sets from real stock, all held in the review queue. The Free plan sees every one of these findings and fixes 50 product titles and 50 Shopping attributes a month, with the writers switched off. Growth, at £99 a month, is the first plan where he can apply what you approve on one store. Pro is three stores and every signal read, Scale is ten. Founding members on the waitlist lock 25 percent off for life, and billing is not open yet. The plans are explained plainly in Ralph pricing. If you want to see how he compares with the rule engines, Madgicx vs Bïrch vs Ralph is the honest version, and Ralph vs the alternatives covers the wider field.
What Ralph will not do
Ralph is not a set-and-forget Meta bot and there is no mode where he writes to the account without a human. He does not micro-bid in the auction, he does not patch catalogue availability, and he does not flip ad sets to paused at 14:03 because a size sold out, since catalogue campaigns should keep running on the siblings that can ship. He will not fix a static ad that features a dead size; he flags it and a person deals with it. Deep Ads Manager work still happens in Ads Manager. If what you want is black-box spend with no review queue, this is the wrong product and we would rather say so here than after you have connected the account.
How to judge any Meta ads tool for Shopify
Apply this to Ralph as well. If three answers come back as a fail, you are buying a meeting.
| What to check | What a pass looks like | What a fail looks like |
|---|---|---|
| Does it see inventory at variant level? | A sold-out size 10 is a specific catalogue item with its own days of cover, shown next to the spend against it. | The tool reports ROAS by campaign and has never heard of your warehouse. |
| Does it ask before it writes? | Every change waits in a review queue with the evidence attached, and the writers are off until you switch them on. | Changes go live overnight and you read about them in the change history. |
| Does it handle daily budgets honestly? | It says plainly that Meta has no schedule on daily budgets and offers a throttle with a floor, or nothing. | It shows you a calendar and quietly slams budgets to zero and back. |
| Can one person run it? | The morning takes ten minutes and the decisions fit on a phone screen. | It assumes a growth team, a weekly deck and someone to babysit the rules. |
| Who owns the account? | You do, on your own Business Manager, and access can be revoked in a minute. | The ad account lives inside the vendor's or agency's Business Manager. |
Signals that should change what you do on Meta
| What you see | What most people do | What an operator does |
|---|---|---|
| The click-through rate is brilliant and the SKU has five days of cover. | They scale it as hard as they can. | They protect fulfilment, move the budget to a healthy SKU and chase the inbound order. |
| Frequency is rising and ROAS is flat. | They ignore it because the number is still green. | They stage a creative refresh before the audience is worn out. |
| ROAS is strong and refunds are rising. | They celebrate in Slack. | They inspect the delivery promise and the stock quality, because the refunds will land after the ROAS did. |
| A new product is launching with no stock buffer. | They launch the full funnel on day one. | They soft launch with a spend cap and a kill condition written down. |
If you are running Meta with an agency in the mix, keep the sharp humans for strategy and creative direction and let software do the overnight join, which is the argument in Ralph vs a growth agency. If you are doing the whole job yourself, founder as media buyer is about making that job smaller rather than adding another tool that wants a weekly meeting. The product detail lives in the Meta stack docs.
Related pillars and guides
FAQ
What is the best Meta ads software for Shopify brands?
The best tool is the one that can see your warehouse. Prefer software that reads Shopify inventory per size and colour, shows it next to what each campaign spent, and puts every change through a review queue before it touches the account. Ralph is built as that operator layer rather than a bid optimiser, and the rule engines are compared honestly in Madgicx vs Bïrch vs Ralph.
Does Ralph replace Meta Ads Manager?
No, and he is not trying to. You still open Ads Manager for auction depth, creative uploads and anything structural. Ralph is the desk that tells you each morning what is worth opening Ads Manager for, with the stock and spend evidence already attached, and that applies the routine changes you approve.
Can Ralph create Meta campaigns?
He drafts them. Ad copy, creatives built from what has converted, and product sets built from real variant stock land in a review queue, and on Growth and above they can be sent to Meta after you approve. New catalogue sets and lab creatives go live paused. Nothing is launched because a model felt confident about it.
How does inventory affect Meta ads?
Days of cover should decide whether a winner is scaled, held or throttled, and a size run should decide whether a product is advertised at all. Promoting a SKU with two days of cover turns acquisition spend into refunds and bad reviews, and a parent product with its core sizes gone is unsellable even though it reads as in stock. The method is in stock-aware advertising and the decision in ads when stock is thin.
Is Ralph only for big brands?
No. Solo founders and thin teams are the first customers he was built for, and the Free plan exists so a shop that has not made its first sale can see the leaks before spending a pound on ads. The product assumes you do not have a ten-person growth team, and the morning list is designed to be approved from a phone.
Do I still need a CAPI tool if I use Ralph?
Yes. Event quality and the Conversions API still matter and Ralph does not claim to be another CAPI plugin. Keep your event plumbing in good order with whatever you use today. Ralph works one layer up, on the commercial decisions: the brief, the packages, the stock-to-spend join and the approval queue.
Also: days of cover · Google for Shopify · all guides.