Docs
App

Operator manual

Ralph Docs: the operator manual

Ralph is growth operator software for Shopify. It reads your store, your ads, your stock and your context signals, drafts the next commercial moves, and waits for you to approve before anything material ships. This manual explains how each part works, what Ralph writes and what it never writes, and how to do each job yourself if you would rather. Buyer education lives in the guides; this page is the reference.

Status on 9 September 2026. Ralph is in private beta. Self-serve signup and billing are not open. You join the waitlist on the home page, and Ralph emails you when a seat is yours. Every plan includes a real person for onboarding when the seat opens. Existing operators sign in at app.mustberalph.com.

Contents

  1. Getting started: connect Shopify, Meta, Google and Klaviyo, what each adds, and the first 24 hours.
  2. The morning brief: verdict, brief, per-signal and group brief in plain words.
  3. Approval model: the review queue, writers off by default, revert, and what is never automated.
  4. Stock and ads: variant identity, days of cover, core-size health, buffers, exclusions, product sets and the catalogue lag test.
  5. Dayparting: Meta lifetime schedules, the daily stepped throttle, Google recommend-only, floors and rails.
  6. Google Shopping and feeds: supplemental feeds only, attribute scan, gated bulk fix with a cost ceiling, diagnostics.
  7. Reporting and P&L: profit next to ads, and why missing COGS stays missing.
  8. Customers: from real orders, plus audience health.
  9. Weather: a demand signal that never spends.
  10. Creative: drafts in review, launches after approval, video.
  11. Plans and quotas: Free, Growth, Pro and Scale with the exact numbers.
  12. Data, security and tenancy: isolation, encrypted tokens, ownership, deletion.
  13. Localisation: works anywhere, GBP billing, account time zone.
  14. Free tools: seven browser-only tools, no login.
  15. Glossary: the terms this manual uses.
  16. FAQ.

Each section has a short Do it yourself note first, because most of what Ralph does can be done by hand with time and discipline. What Ralph adds is the join between stock and spend, the memory, the morning list, and a write path that only moves after your yes.

Getting started

Ralph is built on one required connection, Shopify, and three optional ones: Meta Ads, Google, and Klaviyo. Partial setups work. A store with only Shopify connected still gets stock, catalogue and the morning verdict. Add paid channels when you are ready for Ralph to read them.

Do it yourself. Before any tool, make sure the platforms are talking to each other natively. Add the Facebook and Instagram sales channel in Shopify so Meta has a catalogue with one item per variant. Add the Google and YouTube channel so Merchant Center has a primary feed. Connect Klaviyo through its Shopify integration. Then run the twenty-minute stockout test in sync Shopify inventory to your Meta catalogue. Ralph reads what these channels produce; it does not replace them.

Connect Shopify

Shopify is the spine. Sign in at app.mustberalph.com and connect the store. Ralph syncs products, variants, inventory by location, orders, refunds and customers into a private store context. Every read and every write is scoped to that store.

  • Use a staff account with access to products, orders and the online store.
  • The first sync on a large catalogue takes minutes, not seconds. Home fills in as data lands.
  • If a token expires, Ralph shows connection health on Home and in Settings. Reconnect from there. A store with a dead token is shown as disconnected, not as connected with stale numbers.
  • Which inventory location feeds cover maths is your choice. A wholesale or returns location counted as sellable is a silent media tax, so set it deliberately.

What Shopify adds: variant-level stock, days of cover, core-size health, order history for customers and P&L, catalogue attributes for Shopping readiness, and the product truth that every other section depends on.

Connect Meta Ads

Connect the Meta business and pick the ad account. Ralph reads campaign structure, spend and results at hourly grain, creative assets at full resolution, catalogue and product sets, and custom audiences. Reads go through a cached facade so the desk stays fast and rate limits are respected across many merchants.

What Meta adds: the hourly heatmap for dayparting, spend next to each variant for the conflict list, product set health, Creative DNA, and the write paths for schedules, throttles, exclusions and sets. Writes exist only on Growth and above, only after approval, and only once you enable the relevant writer.

Connect Google

One Google connection can cover four surfaces. Connect the ones you use.

SurfaceWhat Ralph readsWhat Ralph can write
Google AdsCampaign structure, hour-of-week performance, product-level spend on Shopping and Performance MaxCampaign-level product exclusions after approval, writer off by default. Ad schedules are recommend-only.
Merchant CenterPrimary feed items, offer IDs, availability, disapprovalsSupplemental feed only (labels, availability), after approval, writer off by default. Never the primary feed.
Search ConsoleQuery and page demand for product and content decisionsNothing
GA4Sessions and conversion context for product analyticsNothing

What Google adds: Shopping readiness diagnostics, the second half of the conflict list, hour-of-week evidence for Search and Shopping, and demand context from search queries. See the Google Ads for Shopify pillar for the buyer view.

Connect Klaviyo

Klaviyo is optional and read-only. Ralph uses it as email context in the campaign package and the customer view, so a plan can include the email piece and the brief can put email next to paid. Ralph does not send email. The stack reasoning is in the Klaviyo, Meta and Shopify stack.

What happens in the first 24 hours

  1. Minutes 0 to 15. Shopify connects. Products, variants and inventory land first, then orders and customers. Home shows store health building.
  2. Hour 1. Variant identity is checked. Each Shopify variant is matched to its Meta retailer ID and Google offer ID where those channels are connected. Missing matches are listed rather than guessed.
  3. Hours 1 to 6. Days of cover and core-size health are computed per variant. Hourly ad history starts to fill; the heatmap appears only once there is enough of it to show a weekly pattern.
  4. Overnight. The scheduled jobs run: rollups, cover, opportunity detectors, weather enrichment, P&L cache. Heavy work runs in the background, not when you open a page.
  5. Next morning. The first morning verdict (Free) or brief (Growth and above) is waiting. Treat it as a ranked list, not a notification feed.
If the overnight you already know is dead does not show up in the hourly view, or a sold-out size still reads available, that is a sync or time zone problem to fix before trusting any proposal. Ralph would rather show a gap than invent a pattern.

Guides: Start here · Sync Shopify inventory to your Meta catalogue · Verify a tool's variant-level stock sync

The morning brief

The brief is the product. Everything else in Ralph exists to make the list you read at eight in the morning short, ranked and true. It replaces the routine of opening six tabs and trying to hold stock, spend and demand in your head at once.

Do it yourself. Open Shopify inventory filtered to low stock, the Meta hourly breakdown for the last sixty days, the Google Shopping product report, and yesterday's orders. Write down the three things that would cost money if nobody acted today. That takes a competent operator forty minutes a day, and it is exactly the routine in the morning ops routine. Ralph does the same join overnight and hands you the list.

Verdict, brief, per-signal, group brief

Each plan gets a different depth of morning. The words on the pricing page mean the following.

PlanMorningWhat you actually receive
FreeVerdictOne daily run with a fast model. A short judgement on the store: what is fine, what is at risk, the single biggest thing to look at. You see the same evidence paid plans see and act on it yourself.
GrowthBriefA full ranked list from the standard model: stock conflicts with pounds at risk, dayparting proposals, dead sizes, feed issues, drafts waiting. Each item links to its review card so you can approve or reject from the brief.
ProPer signalEverything in the brief, plus a separate read on each signal (stock, Meta, Google, email, weather, customers), with the strongest model brought in when a question warrants it. Three isolated stores each get their own morning.
ScaleGroup briefPer-signal mornings for up to ten isolated stores, plus one group-level brief that ranks across the portfolio so a multi-store operator reads one page first. Strongest model ceiling, not the strongest model on every sentence.

Where the items come from

Brief items are produced by detectors that run overnight, not by a chat prompt. There are around sixteen of them: variant stock conflicts, cover collapse, dead stock, dayparting blocks, creative fatigue, audience gaps, search demand gaps, weather windows, margin outliers, product set rot, feed disapprovals and so on. Each item carries its evidence and, where money is involved, a pound figure: this size is sold out and two campaigns spent £180 against it yesterday. Thin or unproven signals stay out of the brief. An empty brief on a quiet day is correct behaviour.

Chat and voice

You can ask Ralph questions in merchant language, by typing or speaking: how did we do yesterday, what is low on stock, show Meta this week. Answers come from store truth with a time window, not invented statistics. Chat is an interface to the desk, not the product, and it does not bypass approval: anything that would change the store or an ad account still lands in the review queue. Prefer concrete windows such as last seven days over recently.

Reports

Reports are deeper analyses you ask for beyond the morning, for example a sixty-day read on one campaign or a size-run audit for one collection. They count against a monthly quota (20 on Free, 80 on Growth, 250 on Pro, 1,000 on Scale). Pro and Scale include a small number of reports run on the strongest model (4 and 20 a month).

Guides: Briefs beat dashboards · Morning ops routine · What is a growth operator?

Approval model

Ralph drafts. You decide. Every change that could move money or alter a live asset lands in a review queue with its evidence attached, and nothing is written to Shopify, Meta or Google until you approve it. This is not a safety disclaimer added late; the queue is the unit of work the whole desk is built around.

Do it yourself. Run a written change log. One line per change: what, where, why, when, and the condition that would reverse it. Never let an automated rule run without a matching rule that restores the original state. Review the rule list monthly, because forgotten rules are how ad accounts get haunted. Ralph's queue is that discipline made mandatory.

The review queue

Proposals arrive as cards. Each card states the situation, the evidence (the rows, the hours, the spend), the exact write Ralph would make, and the plan quota it draws from. You can approve, reject, or edit the cut before approving. Rejected cards simply close. Campaign packages, product sets, exclusions, dayparting proposals, supplemental feed changes, attribute fixes and creative launches all use the same queue.

On the Free plan the queue is see-only: every card is visible and you carry out the change yourself in Shopify, Ads Manager or Merchant Center. On Growth and above, approving a card lets Ralph apply it.

Writers are off by default

Approval is one gate. The writer switch is a second, separate gate. Every path that moves money or edits a live asset (ad schedules, budget throttles, exclusions, product sets, supplemental feeds, bulk attribute fixes) ships switched off for every store on every plan. Until you turn a writer on, an approved card records your intent and stops there. When a writer is off and something asks it to write, it refuses with a clear reason rather than pretending. Preview, evidence and the brief are always available regardless of writer state.

Turning a writer on is your decision, and a writer that is on still acts only on cards you approved. There is no mode in which Ralph writes to an ad account unprompted.

Revert

Every applied write records what it changed and why, and carries a first-class revert. Exclusions revert when stock recovers. Dayparting throttles restore the stored baseline budget. Merchandising decisions have a 24-hour revert window. Product sets created by Ralph stay paused until you say otherwise, so there is nothing to undo unless you switched them on. Restocking a size should be one click, not an archaeology exercise through change history.

Bulk edits and the audit trail

Bulk Meta operations (pause, budget, status, tagging across many ad sets or ads) run as chunked writes through the same single-edit path, so every row inherits idempotency and the change log. One failed row never fails the batch; you get a summary of which rows succeeded and which did not. Console tags are Ralph-side labels for your own organisation and are not written to Meta.

What is never automated

  • Ad set pausing on stockout. Catalogue availability already stops a sold-out item being shopped; Ralph stages exclusions and set changes, it does not flip ad sets.
  • Writes to the primary Merchant Center feed. Supplemental only.
  • Google Ads ad schedules. Recommend-only today.
  • Weather-driven budget or hour changes. Weather is a signal in the brief, never a writer.
  • Fixing a static or UGC ad that features a sold-out size or colour. Ralph flags it; a person decides.
  • Inventing numbers. Missing COGS, thin hourly data or an empty customer table stay empty rather than being estimated.
If something looks wrong: pause in the relevant surface first (campaign review, ads console), then inspect. Stop, inspect, resume is the right order.

Guides: Does Ralph spend without approval? · Campaign review before launch · Ads automation rules for Shopify · Trust

Stock and ads

This is the design centre of Ralph. Stock and paid media are normally owned by different people and different tools, and the money leaks in the gap between them: a size sells out at two o'clock, the catalogue finds out at half past three, and the campaign spends against an empty shelf for the ninety minutes in between. Ralph reads inventory at variant grain, puts it next to spend, and stages the fix.

Do it yourself. Build a sheet with one row per variant: units on hand, units sold in the last 14 days, and days of cover (units divided by daily sell rate). Add yesterday's spend per product from Meta and Google. Sort by spend where cover is under seven days or the core sizes are gone. That sheet, refreshed daily, is the job. The free days of cover calculator does the arithmetic for one line.

Variant identity

Everything depends on one mapping: Shopify variant to Meta retailer ID to Google offer ID. If the catalogue was built at product level, or a feed app rewrote the IDs, no downstream rule can be right. Ralph reads each Shopify variant, matches it to the catalogue items on both channels, and lists the misses. It does not patch catalogue availability and it does not replace the Shopify channel or your feed app; it uses the identity they provide.

Days of cover

Cover is computed per variant from the recent sell rate and units on hand at the location you chose as sellable. It is expressed in days, so "low" means something in time rather than in units: twelve units of a size that sells four a day is three days of cover, twelve units of a size that sells one a week is nearly three months. Cover bands (very low, low, healthy, heavy) feed the brief, the conflict list, product set proposals and supplemental feed labels.

Core-size health

Parent-level stock lies in fashion and footwear. A jacket with the 6, 8 and 16 in stock and the 10, 12 and 14 gone reads 50 percent in stock and is commercially unsellable at scale. Ralph works out which sizes carry the conversions for each style from your own order history, then judges core-run health per style: are the sizes that sell still available? A style whose core run is broken is treated as broken even when tail sizes remain. Core-size handling is a merchandising policy you approve, not a product switch, and the reasoning is in core-size automation.

Buffers

A buffer withholds the last few units of a variant from paid traffic so that organic and returning customers can still buy, and so the catalogue does not advertise something that will be gone before the click lands. When cover on a core size falls to the last units, Ralph proposes a buffer as an exclusion or set change, with the units named. You approve the threshold. The commercial case is in paid buffer stock.

The conflict list

Ralph looks across connected campaigns, ad sets, ad groups and product sets for items that are broken on stock and still being paid for, and ranks them by spend at risk. That list is what appears in the morning brief. A stock alert says what is low; a spend report says what is expensive; the conflict list is the join, per variant, with a pound sign.

Per-campaign exclusions

When one SKU burns spend in one campaign, you should not have to pause the whole campaign. An exclusion removes that product or variant from one campaign only.

  • Meta: the exclusion is applied through product sets, because that is where catalogue ads serve from. Ralph fans out across every live ad set in the campaign, builds the exclusion using the set's real filter so it never broadens to "all products minus one", and rolls back if a partial write fails. Shared product sets are left alone: a set used by five campaigns is not edited to fix one of them.
  • Google: campaign-level product exclusions across each ad group or asset group, with distinct targets so one write cannot collapse into another.
  • Lifecycle: pending, active or recorded, reverting, reverted. Duplicate live exclusions are blocked. Intent is recorded even when the writer is off, so there is an audit trail either way.
  • Revert: first-class. Restock, click revert, done.

Excluding because a SKU is out of stock and excluding because it wastes spend while in stock are related but different decisions. Both surface in the brief with the reason stated, so you do not confuse a mis-served variant with a bad product. Writers: Meta exclusion writer and Google Ads writer, both off by default.

Product sets

Catalogue ads need product sets that match sellable reality, and sets rot as stock moves. Ralph proposes sets from confirmed variant IDs, ranked by computed set revenue and health rather than a raw product count, and it picks the catalogue that actually resolves to your live variants rather than the one with the biggest number. Created sets and any catalogue carousel built on them stay paused until you switch them on. A Shopify collection and a Meta set can be paired so merchandising and paid stay in step. Writer: Meta product set writer, off by default; when off, the create route refuses rather than shadow-creating.

Collection merchandising

Collection order should follow stock and conversion, not last-touched habit. Ralph scores products for ranking with explicit weights (conversion, revenue, stock health, margin, seasonal velocity, search demand, freshness), previews the order, and lets you pin, bury and approve. Approved decisions carry an impact readback and a 24-hour revert window. Preview is always safe; the collection write is flag-gated like every other writer.

The catalogue lag test

Every stock-aware rule sits on top of one assumption: that Shopify inventory reaches the catalogue per variant and reasonably quickly. Test it. Pick a slow variant, note the time, set its inventory to zero in Shopify, open the item in Commerce Manager (and Merchant Center if connected) and refresh until availability flips. Write the minutes down. Put the stock back. That number is your exposure window every time a size sells out, and it is the single most useful fact about your catalogue. Ralph shows catalogue availability next to Shopify stock so a mismatch is visible, but the controlled stockout is something you should do once yourself and again after any app or theme change.

What this is not

  • Not an ad set pauser. Catalogue campaigns keep running on siblings that can ship, which is correct.
  • Not a bulk availability patcher. Ralph never writes availability into the Meta catalogue.
  • Not a creative fixer. An ad that shows a dead size needs a person; Ralph flags it.
  • Not a replacement for the Shopify channel or your feed app. They own availability. Ralph reads it.

Guides: How Ralph handles out-of-stock variants · Days of cover · Exclude a product from one campaign · Product sets and catalogue ads · Product set rot · Catalogue lag is a media tax · Variant-level ad spend · Collection merchandising · Stock-aware advertising

Dayparting

Dayparting is choosing which hours of the week your ads run, or how hard they run. Most Shopify accounts run Meta on daily budgets, and Meta only offers a native ad schedule on lifetime budgets, so the account has hours that clearly lose money and no switch to turn them off. Google Search and standard Shopping have a proper ad schedule, but the evidence lives in a breakdown report nobody opens. Ralph's job is to remember the clock when you are not in Ads Manager, and to refuse to invent a pattern when there is not one.

Do it yourself. In Ads Manager, break down the last sixty days by hour of day and day of week. Name one dead block in writing, in the ad account's time zone. Check those hours still spend, and check the SKUs they sell still have a size run. On a lifetime-budget ad set, set Ad scheduling. On a daily-budget ad set, build two Automated Rules: one that lowers the budget toward a floor in the dead hours in modest steps, and one that restores it. On Google, set the ad schedule with bid adjustments in the campaign settings. The steps are in how to daypart Meta ads and Google Ads dayparting.

Step one: hourly evidence

Ralph pulls hour-of-week performance for the connected ad account in the account's time zone and keeps enough history to see a weekly pattern rather than a week. It draws a seven-day by 24-hour heatmap of spend, results and cost per result, then groups the 168 cells into retail blocks that match how shopping happens: overnight (0 to 6), breakfast (6 to 9), daytime (9 to 14), afternoon (14 to 17), evening (17 to 22) and late (22 to 24). Blocks are compared to the account's own average, not to a theory about when people shop.

Step two: a proposal with floors and rails

A block is proposed as OFF or throttled only when it is confidently below the account average, not merely a little under it. Then the rails apply:

  • Never OFF more than half the week.
  • Never a whole day OFF.
  • No proposal at all on empty or thin data. Three weeks of ads and a dozen conversions is not a heatmap.

The failure mode of every dayparting tool is over-fitting: it finds four dead cells and darkens Tuesday. The floors make the proposal boring, and boring is what you want from something that touches budget.

Step three: is it the clock, or the shelf?

For a fashion or footwear brand the evening often looks weak because the sizes that convert sold out during the day. That is not an hour-of-day effect; it is an empty shelf, and switching the evening off would hide the real problem. Because Ralph sits next to variant stock, the proposal can say: the evening is weak, and here is the size run that broke at three o'clock. Fix the shelf or exclude the item before you touch the hours.

Step four: you approve, then the write depends on the budget type

Ad setWhat Ralph writes after approvalWhat you see in the platform
Meta, lifetime budgetA native ad schedule with the approved hoursThe ad set's Ad scheduling setting, exactly as if you had set it yourself
Meta, daily budgetA stepped budget throttle (below)Budget changes in the change history, each with the reason. No schedule, because Meta has none on daily budgets
Google Search or ShoppingNothing. A recommendation with the hours and suggested bid adjustmentsYou set the ad schedule in Google Ads yourself
Advantage+ shoppingNothing, and the proposal says to leave it wideUnchanged

On the Free plan the process stops at the proposal: you see the heatmap and the recommended cut and apply it yourself. Growth and above can approve and let Ralph apply, once the dayparting writer is enabled.

The daily-budget stepped throttle

Native scheduling turns hours OFF. A throttle is a dimmer: the ad set stays eligible and its daily budget steps down in the weak hours and back up afterwards. The rails are in the worker, not on a slide.

  • Baseline. The daily budget at the moment you approve is stored. Every restore returns to it.
  • Floor. About 20 percent of the baseline, with a minimum of £1. Never zero. Overnight becomes cheaper, not dark.
  • Step. About 20 percent of the current budget per hourly tick, on the way down and on the way up. From £100 the walk is £100, £80, £64, £51, £41, £33, £26, £21, £20. You arrive later in the trough, which is the point: a jump from £100 to £20 at one minute past one is how learning gets reset.
  • Learning hold. If the ad set is in Meta's learning phase, the tick does not write. Budget stays where it is until learning ends.
  • Restore. In good hours the same steps walk back to the baseline. A throttle that forgets the restore is a budget cut you will notice on Thursday.
  • Time zone. The store's time zone that the rest of the desk uses, not a third clock hiding in a rule.

Projected overnight saving is labelled projected until there is a week of real ticks behind it. Ads built in Ad Studio ship on daily budgets, so creation-time dayparting suggestions are marked as throttle evidence, not a native calendar the new ad set does not have.

Google: recommend-only

On Google Ads, Ralph shows hour-of-week evidence for Search and Shopping and recommends an ad schedule with bid adjustments. Applying it is done by you in Google Ads. Ralph does not write Google ad schedules today. Note that Smart Bidding treats manual bid adjustments as a hint rather than an instruction, so on Smart Bidding campaigns the honest lever is the schedule itself. If the Google write ever ships, this page will change first.

What it refuses to do

  • Auto-daypart. There is no mode that writes schedules or budgets without a human. The writers are off by default and stay off until you enable them.
  • Let weather move the hours. Rain at three o'clock should not pause your ads at three o'clock. Weather is a demand signal in the brief, on a different timescale.
  • Propose on thin data, darken more than half the week, or darken a whole day.
  • Throttle an ad set that is in learning, or pretend a daily-budget ad set has a native schedule.
  • Claim a Google write it does not have.

Guides: How Ralph dayparts Meta and Google · Daily-budget throttling explained · Why Meta dayparting does not work · Pacing type incompatible with day parting · Dayparting for fashion brands · Best time to run Meta ads in the UK

Google Shopping and feeds

Shopping performance is mostly a data problem before it is a bidding problem. Missing colour, size, material, gender and age group attributes get products disapproved or filtered out; a feed that lags the warehouse sends paid clicks to empty shelves. Ralph treats the feed and the attributes as catalogue jobs with a queue, and it does all of its feed writing on a supplemental feed so your primary feed is never touched.

Do it yourself. In Merchant Center, add a supplemental data source (a Google Sheet is fine to start) with id as the first column matching your primary feed's IDs exactly, and only the columns you want to override, for example custom_label_0 or availability. Link it to the primary feed, or it does nothing. Wait for a fetch, open an affected product and confirm the attribute shows the supplemental source. Check diagnostics a day later for new mismatches. The full eight steps are in GMC supplemental feeds.

Supplemental feeds only

A supplemental feed is a patch on top of the primary feed. It can change or add attributes on items that already exist; it cannot create items, and anything it does not mention stays as the primary feed left it. A bad supplemental feed is reversible; a bad primary feed is an incident. Ralph writes only to a supplemental feed of its own, keyed by filter set:

  • Custom labels 0 to 4 carrying stock reality: cover band, velocity band, margin tier, season flag. One meaning per label, written down.
  • Availability derived from variant snapshots (in stock, out of stock, preorder, backorder) where it improves on the primary feed's lag.

Writing the feed is half the job. Labels only help if a campaign structure reads them, so Ralph's feed proposals say which Shopping product groups or Performance Max listing groups should subdivide on the new label. Writer: GMC supplemental writer, off by default, approval required.

Attributes: scan

Ralph scans product images and text against Google's taxonomy and scores category-specific attribute suggestions per product. The scan runs in tiers: a deterministic, zero-cost tier derives size axes and free wins first; model calls are used only where they add something, with a nightly ceiling so a large catalogue amortises rather than running up a bill in one night. Draft and archived products are not scanned or billed. Enterprise-size catalogues are scanned in priority order (never-scanned first) with a queue and an estimate.

Attribute quotas by plan: 50 a month on Free, 2,000 on Growth, 5,000 on Pro, 15,000 on Scale. The Free allowance is a basic optimisation of titles and attributes for 50 products a month, not unlimited fill for every draft SKU.

Attributes: gated bulk fix with a cost ceiling

A bulk fix takes the scan's suggestions and writes them to Shopify metafields in batches, verifying each push. It is merchant-initiated and gated three ways:

  • Hard pound ceilings per run and per store per day. The ceiling is checked between products, so a run can overshoot by at most one product and never loses work already paid for.
  • One active run per store. Runs are durable; a stopped run resumes without re-billing.
  • Writer flag off by default. When off, the interface does not pretend the spend path is live.

Product titles

Title and meta description proposals are conversion-aware, keep the meta description within 155 characters, and avoid the stock phrases that mark text as generated. Titles count against a monthly quota (50 on Free, 100 on Growth, 200 on Pro, 1,000 on Scale) and publish to Shopify only after approval. Where structured data exists, the publish step can also push product schema metafields. The free Shopify SEO title checker scores a title and description in the browser with no login.

Diagnostics

  • Disapproval taxonomy: Merchant Center disapprovals grouped by structured reason so "fix Shopping" becomes a queue rather than a feeling.
  • Readiness diff: missing attributes and stale labels per product, so you can see what the next scan or feed run would change before it runs.
  • Stock truth: Shopify variant availability next to what the feed currently says, which is where empty-shelf clicks show up.
  • Search Console demand: query and page demand joined to products so feed and title work starts from what people search for.

A wider set of Merchant Center tooling (local inventory, regional feeds, promotions, price-match reports) exists behind a feature flag and is not part of the standard desk. If a flag is off, those surfaces are not live for your store.

Guides: GMC supplemental feeds · Shopify attributes for Google Shopping · Google Shopping empty shelves · Google Shopping when a size sells out · Search Console for product decisions · Shopify optimisation

Reporting and P&L

Ralph shows profit next to ads using your real orders, refunds, costs and product COGS, following the same line logic as Shopify's total sales breakdown so finance and growth argue from one set of numbers. It is not an attribution platform and does not claim to be one.

Do it yourself. Export Shopify's total sales breakdown for the month: gross sales, discounts, returns, net sales, shipping, tax. Subtract COGS from your cost-per-item fields, then subtract ad spend from Meta and Google for the same window. The number left over is closer to the truth than any ROAS. If the cost-per-item field is empty on half your catalogue, the profit line is unknown for half your catalogue, and you should write "unknown" rather than an average. The method is in Shopify P&L and true profit.

The P&L waterfall

One formula computes the P&L for the interface and for the overnight refresh, so there is no second money formula to drift. Closed historical windows are cached for longer; windows that include today refresh often. A COGS or cost-setting edit is reflected everywhere, so you never see a stale profit figure on one page and a fresh one on another.

Missing COGS stays missing

Product cost comes from Shopify's cost-per-item field and from your cost settings in Ralph. Where COGS is missing, Ralph reports coverage (for example, cost known for 62 percent of units sold) and leaves the margin line incomplete for the rest. It does not fill the gap with a category average, a guessed percentage or last month's figure. An incomplete profit number labelled incomplete is useful; a complete-looking number built on guesses is worse than none.

Margin-adjusted ROAS

Where COGS coverage allows, Meta and Google campaign views show margin-adjusted return alongside platform-reported return, and state the attribution gap when platform-reported revenue diverges from warehouse-matched revenue. When the true figure equals the reported figure, the usual reason is that the adjustment inputs are empty, and the panel says so.

Product analytics

Each product in Items opens a drawer with ads attribution, stock cover and an analytics tab built only from your data: visit-to-cart-to-buy rates when GA4 is connected, frequently-bought-together from co-purchase rollups when volume supports it, time-of-day patterns from order timestamps, and weather sensitivity when there are enough weather-linked orders. When a signal cannot be proven from your data the card is hidden rather than filled with a benchmark.

Pace and date ranges

Home shows today's revenue against the pace needed for the month, live from orders. Every reporting surface takes a date range, with presets and custom ranges; changing the range changes every number on the page, not only the headline.

Guides: Shopify P&L and true profit · ROAS looks fine, store hurts · Triple Whale vs Northbeam, and what neither sees

Customers

Customer intelligence is built from your real order history and nothing else. Lifetime value, purchase frequency, time since last order, return rate and cohort membership are computed per customer from Shopify orders. A store with three weeks of history gets three weeks of insight and an honest note that the cohorts are thin. An empty table stays empty.

Do it yourself. In Shopify, build three customer segments: bought more than once, bought once and not in 90 days, and top 10 percent by amount spent. Export them monthly and compare sizes. If the second segment grows faster than the first, retention is the job, not acquisition. Sync the same segments to Meta as custom audiences and to Klaviyo as lists by hand.

Cohorts and LTV

Ralph groups customers by first-purchase month and shows repeat rate and revenue per cohort over time, new versus returning revenue per window, and lifetime value at 30, 90 and 365 days where enough history exists.

Custom audiences

Meta custom audiences are treated as a portfolio. Ralph reads your existing audiences and reports health (seed size, estimate, staleness) and overlap between them, so you can see two retargeting sets that are 80 percent the same person. It can propose audience templates (recent add-to-cart, recent purchasers, exclusions) with a visible prefix so you know which ones Ralph manages, and stock-aware or behaviour-based audiences with the evidence attached. Estimated sizes that cannot be proven are removed rather than shown. Audience layers are flag-gated; when the layer is off, the surface says so.

Demand you are not stocking

If you run the optional storefront concierge, the products shoppers ask for that the catalogue cannot satisfy are logged as unmet demand and surfaced in the customer view. That is a buying signal, not an ad signal, and it is presented as one.

Guides: Meta custom audiences for Shopify · The Klaviyo, Meta and Shopify stack

Weather

Weather is a demand signal. It changes what people search for and buy in outdoor, seasonal and apparel categories by a measurable amount, and it is worth having in the brief. It is not a budget switch, and Ralph never spends or changes hours because of it.

Do it yourself. Put the seven-day forecast for your main market in your planning calendar. Before a warm or wet spell, check cover on the categories it will lift; sell-through during a heatwave with three days of cover is a stockout, not a win. Decide budget and creative for the spell in advance, by hand, with stock in front of you. The reasoning is in weather and UK demand.

What Ralph does with weather

  • Order weather enrichment. Historic weather at city level is joined to order locations (temperature bands and rain), so Ralph can see which products actually move in warm, mild, cold or wet conditions in your own history. City level only; no finer location data is created.
  • Weather window in the brief. When the forecast for your market matches a pattern your products have responded to before, the brief says so, alongside the cover on the affected categories.
  • Product analytics. A weather sensitivity card on the product drawer when there are enough weather-linked orders; otherwise the card is hidden.
  • Forecast context. The revenue forecast can carry a weather factor with honest uncertainty bands, where that layer is enabled.
  • Audience evidence. Where the sample holds (enough distinct wet or warm days), Ralph can propose a weather-behaviour audience with the correlation and sample size shown.

What Ralph never does with weather

  • Change budgets because it is sunny.
  • Write or alter an hour schedule or a throttle because of a forecast. Weather and the clock run on different timescales.
  • Propose a weather push on a category with thin cover. Weather without stock is how you create stockouts faster.

Guides: Weather-based dayparting vs weather-triggered ads · Weather-triggered ads for Shopify · Weather and UK demand

Creative

Creative in Ralph runs on the same rule as everything else: drafts sit in review, and nothing launches until you approve. An ad draft is copy waiting for you. An ad write is what happens after your yes.

Do it yourself. Before you build an ad, write one line each for the product, the buyer, the angle and the proof, and check the product's core sizes have more than a fortnight of cover. Build in Ads Manager with the ad set paused. Read it the next morning before switching it on. The review checklist is in campaign review before launch.

Ad drafts

Ralph drafts ad copy and campaign packages from a brief: the product signals (stock, demand, margin), your brand voice, and the angles that have worked in your account. Drafts land in the review queue, counted against the monthly quota (0 on Free, 100 on Growth, 400 on Pro, 1,500 on Scale). You edit, reject or approve. A campaign package can include pricing angle, copy, creative, the email piece and the SEO piece together so you review one plan rather than five fragments.

Launches

Ad Studio is the path from an approved draft to a built ad. Planners assemble structure; writers run only when the plan allows and the launch is approved. Meta ads are created paused. Google Search ads are built with geo and language resolved explicitly (the build fails closed rather than guessing), with audiences in observation mode only, and with Performance Max or Shopping never defaulted in silently. Catalogue carousels render from your product set, so no generated product imagery is used where Meta will show the real catalogue item. Launch quotas: 8 a month on Growth, 30 on Pro, 100 on Scale, out of creative allowances of 30, 120 and 400 respectively. Builds are scored afterwards so the desk learns what shipped well.

Creative DNA

Creative DNA is a performance profile built from your real Meta ads: format mix, which angles work (question, scarcity, social proof, transformation), how quickly creatives fatigue, with recent windows weighted more heavily. From a winner you can ask Ralph to clone it with new copy or imagery in your brand's visual system; the clone is pushed live paused. Where an ad features a size or colour you cannot ship, the brief flags it for a person.

Video

Ralph can direct short product videos from your imagery and brand visual system, through a concept-and-review pipeline: concepts first, your pick, then the render. Video counts against a monthly quota (5 on Growth, 20 on Pro, 60 on Scale; none on Free) and, like every other asset, goes to review before it is attached to an ad.

Guides: Meta Creative DNA testing · When creative features a size you cannot ship · Soft launch campaign packages · Bulk Meta ads operations

Plans and quotas

Four plans, priced in GBP with VAT extra. Billing is not open yet; the waitlist is, at £0. Founding members on the waitlist lock 25 percent off paid list prices for life. Annual billing is two months free at list. The same words are used on every plan: ad drafts are copy in review, counted per month; ad writes are the actions Ralph applies after you approve (send drafts, daypart, exclusions, product sets, supplemental feeds). Free has 0 drafts and see-only writes, which is the free tier, not a missing row.

Do it yourself. The Free plan is the do-it-yourself plan on purpose. It sees everything the desk sees (Meta and Google, dayparting evidence, dead sizes, product sets, feed issues) and shows you what it would do. You go and do it in Ads Manager, Merchant Center and Shopify. Move to Growth when you want Ralph to apply what you approve.
FreeGrowthProScale
Monthly, list£0£99£249£599
Founding, 25 percent off for life£0£74£187£449
Annual, two months free£0£990£2,490£5,990
Stores113, isolated10, isolated
Model and morningFast model, morning verdictStandard model, full morning briefStrongest model when needed, morning per signalStrongest model ceiling, group brief
Reports a month2080250, plus 4 on the strongest model1,000, plus 20 on the strongest model
Ad drafts a month01004001,500
Ad writesSee onlyAfter approveAfter approveAfter approve
Product titles a month501002001,000
Shopping attributes a month502,0005,00015,000
Creative / launches a month030 / 8120 / 30400 / 100
Video a month052060
Plans a month0430, on the strongest model100
Human onboardingYesYesYesYes

The words, explained

  • Writes after approve. On paid plans, once you approve a card, Ralph applies it: a native dayparting schedule on lifetime Meta budgets or a stepped throttle on daily ones, per-campaign exclusions, product sets (which stay paused until you say otherwise), supplemental Merchant Center feeds. The writers are still off by default until you enable them.
  • Reports. Deeper analyses you ask for beyond the morning. Strongest-model reports use the heavier model for the hard questions.
  • Isolated stores. On Pro and Scale each store is its own tenant. Data, tokens and context never mix.
  • Model and morning. Free gets a fast model and a verdict. Growth gets the standard model and a full brief. Pro gets the strongest model when the question warrants it and a morning per signal. Scale gets the strongest-model ceiling and the group brief. No plan runs the strongest model on every sentence.
  • Plans. Multi-step commercial plans (a launch, a clearance, a season) drafted for review, as distinct from single ad drafts.
  • Overnight jobs (sync, rollups, detectors) are separate from the quotas and run on every plan. Free runs its verdict on a daily schedule.

What each step up buys

Free to Growth is the first write desk: the same view, plus a brief, plus the ability to approve and let Ralph apply. Growth to Pro is three isolated shops, four times the drafts, a morning per signal and the strongest model when needed; Pro is the recommended desk for a live brand. Pro to Scale is ten shops, the group brief and group volume for a portfolio.

Enterprise and what is not for sale

  • Enterprise is for more than ten stores and is set by hand. It is not a public SKU and there is no fifth list price. Contact rocketman@mustbeagency.com.
  • Chats per hour. Ralph is an operator, not a metered chatbot. Internal rate limits exist and are not the product.
  • Unsupervised spend. There is no plan where money moves without approval.
  • Guarantees. No plan promises a return, and no page on this site will.

Home may show the annual price as a monthly equivalent (£83, £208, £499). There is no published founding annual figure. Scale is not Enterprise.

Guides: Ralph AI pricing explained · How much does an ecommerce agency cost in the UK? · Ralph vs a growth agency

Data, security and tenancy

Ralph is multi-tenant software that holds ad and store credentials for many merchants. The design rules that follow from that are simple and are not negotiable: every read and write is scoped to one store, tokens are encrypted, you own the accounts, and you can leave with your data removed.

Do it yourself. Once a quarter, open Shopify's Apps and sales channels, Meta Business Settings and the Google account's third-party access list, and remove anything you no longer use. Confirm every connected app holds the minimum access it needs. Ralph appears in each of those lists and can be removed from them at any time.

Isolation

Each store is its own tenant. Every table that matters is keyed by a store identifier, every query filters on it, and there are no cross-tenant joins. On Pro and Scale, your three or ten stores are isolated from each other in exactly the same way as they are isolated from other merchants: data, tokens and model context never mix, and the group brief on Scale reads across them without merging them. Agency operators see multiple stores without mixing data.

Encrypted tokens

Shopify, Meta, Google and Klaviyo credentials are encrypted at rest. If a platform revokes access, the connection shows as disconnected and the store's writers fall back to see-only until you reconnect. Ralph gets access; it never owns the asset.

Ownership

You keep ownership of your Shopify store, Meta business, ad accounts, catalogue and Merchant Center. Ralph is a connected app in each. Anything Ralph creates (a product set, an ad, a supplemental feed) is created in your account and stays yours if you leave. Ralph does not sell, rent or share merchant data, and does not use one merchant's data to train models for another.

What Ralph stores

  • Products, variants, inventory by location, orders, refunds and customers from Shopify.
  • Campaign structure, hourly performance, creatives, catalogue items, product sets and audiences from Meta.
  • Campaign structure, performance, feed items, disapprovals and search demand from Google.
  • Email context from Klaviyo where connected.
  • City-level weather joined to order locations. No finer location data is created.
  • Ralph's own records: proposals, approvals, rejections, writes, reverts and the change log.

Hourly ad rows are kept long enough to see a weekly pattern; daily rows long enough for year-on-year comparison. Old snapshot grains are pruned on a schedule so the store does not become a landfill.

How the system runs

Ingest, then facts, then intelligence, then a proposal, then your approval, then a write, then measurement. Heavy work (rollups, cover, detectors, weather, P&L) runs in background jobs with bounded concurrency and idempotent retries, so a retry never double-writes and one large merchant cannot slow the others. Pages read cached intelligence with honest timestamps rather than blocking on live platform calls. Writes go through a single writer path per platform with a change log, and the model never holds a write path directly: it proposes, the queue holds, a human approves, the writer writes.

Deletion

Disconnecting a store stops all sync and all writes for that store. To erase, any one of three routes is enough: email rocketman@mustbeagency.com with the subject Data Deletion Request, uninstall Ralph from Shopify (Shopify sends the redaction webhook 48 hours later and the purge starts on its own), or revoke Ralph in Meta Business Settings or your Google account permissions. Ralph acknowledges within one business day, hard-deletes the store's data from the live database (usually within hours, always within 30 days of verifying the request) and confirms in writing. The full ledger of what is purged and the little that must be retained is on the data deletion page. Legal terms are in the privacy policy and terms; the plain-language version is on Trust.

The storefront concierge is a separate surface

Ralph can optionally run a shopper-facing assistant on your storefront that answers questions from catalogue truth, routes to collections, suggests nearest alternatives when a filter misses, and logs unmet demand. It is tenant-isolated, redacts personal data from replies, and has per-session cost caps so one conversation cannot run up a bill. It is deliberately not the same thing as the operator desk: it never touches ads, budgets or approvals. The distinction is in storefront concierge vs operator AI.

Guides: Trust · Multi-store Shopify ops · Ralph for Shopify Plus · Status page

Localisation

Ralph is built in the UK and priced in GBP. Shopify stores anywhere can join the waitlist and use the desk. Copy is British English.

Do it yourself. Check that your Shopify store time zone, your Meta ad account time zone and your Google Ads account time zone agree, and write the answer down. Most dayparting mistakes are a rule written in one clock and evidence read in another.
  • Works anywhere. Stock, ads, feeds and P&L work for any Shopify store regardless of country. Revenue and spend are shown in your store and ad account currencies as the platforms report them.
  • Billing in GBP. Plans are priced in pounds with VAT extra. When billing opens it will be in GBP; there are no local-currency price lists.
  • Account time zone. Hourly evidence is read in the ad account's time zone. Throttles and schedules apply in the store's time zone, which is the clock the rest of the desk uses. Ralph does not invent a third clock.
  • Retail calendar. Seasonal moments in the brief use a real retail calendar with movable dates (Mother's Day, Father's Day, Black Friday) computed for the current year rather than hardcoded.
  • Weather market. Weather context is joined to your order locations at city level, so it follows where your customers are rather than where Ralph is built.

Guides: Best time to run Meta ads in the UK · Weather and UK demand

Free tools

Seven browser-only tools with no login and no data sent anywhere. They do the arithmetic and the checklists that sit under the desk, and they are useful whether or not you ever use Ralph. The hub is at /tools/.

ToolWhat it does
Tools hubIndex of every free tool with a one-line description of each.
Days of cover calculatorOperator-grade cover maths: sell-rate windows, promotion noise, inbound purchase orders, category bands and scenarios, ending in a media stance for the line.
Pause ads decisionA multi-factor triage for a product's ads: stock, restock timing, budget share, margin, substitutes, creative and season, producing a pressure score and a playbook.
Agency vs software costA scenario model for agency fees, founder time, management overhead, multi-store load, hybrid paths and software break-even.
Shopify SEO title checkerScores titles and meta descriptions by length, pixel width, keyword placement and a search preview, with a bulk mode.
Shopify optimisation checklistA tickable checklist across catalogue, paid feeds, measurement and ops, with a live score and a copyable task list of what is left.
Shopify AI operator promptsA prompt pack for stock-aware ads, morning desks, catalogue stockouts, retainers and return-on-spend traps. Fill in your numbers, copy, paste. No email wall.

Glossary

The terms this manual uses, defined the way Ralph uses them.

TermMeaning
Days of coverUnits on hand divided by the recent daily sell rate, per variant, at the location you count as sellable. Expressed in days so "low" means time, not units.
Core sizeThe sizes (or colours) of a style that carry most of its conversions, learned from your order history. A style whose core sizes are gone is treated as broken even if tail sizes remain.
Core-run healthWhether a style's core sizes are still in stock. A merchandising policy you approve, not a product switch.
Catalogue lagThe minutes or hours between a variant selling out in Shopify and the Meta or Google catalogue marking it unavailable. Paid clicks in that window land on an empty shelf. Measure it with a controlled stockout.
BufferThe last few units of a variant withheld from paid traffic so organic and returning customers can still buy and ads do not advertise what will be gone before the click lands.
Conflict listVariants that are broken on stock and still being paid for, ranked by spend at risk. The core of the morning brief.
Stepped throttleDayparting for daily-budget Meta ad sets: the budget steps down about 20 percent a tick toward a floor of about 20 percent of baseline in weak hours, holds while the ad set is in learning, and steps back to baseline afterwards. The ad set stays on. Not a schedule and not hours OFF.
Native scheduleMeta's Ad scheduling setting, available only on lifetime budgets. Hours OFF mean no delivery. Ralph writes it only on lifetime-budget ad sets, after approval.
Retail blockGrouping of the 168 hour-of-week cells into overnight, breakfast, daytime, afternoon, evening and late, compared with the account's own average.
Ad draftAd copy or a campaign package sitting in review. Counted per month. Not live.
Ad writeAn action Ralph applies after you approve: sending a draft, a daypart schedule or throttle, an exclusion, a product set, a supplemental feed change. See-only on Free; after approve on paid plans; and always behind a writer that is off by default.
WriterA code path that changes a live asset on Shopify, Meta or Google. Every writer ships switched off and refuses clearly when off.
Review queueWhere every proposal waits as a card with its evidence and the exact write. Approve, reject or edit. Nothing is written before approval.
Supplemental feedA Merchant Center data source that patches attributes (custom labels, availability) onto items that already exist in the primary feed. Cannot create items; leaves everything it does not mention alone. The only feed Ralph writes to.
Primary feedThe Merchant Center feed that defines your products, usually from the Shopify Google channel or a feed app. Ralph reads it and never writes to it.
Product setA filtered subset of a Meta catalogue that catalogue ads serve from. Exclusions on Meta are applied through sets. Sets Ralph creates stay paused until you switch them on.
Retailer ID / offer IDThe identifier of a catalogue item on Meta (retailer ID) and Google (offer ID). For stock rules to work it must be the Shopify variant ID, not the product ID.
Verdict, brief, per signal, group briefThe four depths of morning by plan: a short judgement (Free), a ranked list (Growth), a read per signal (Pro), and a portfolio-level page across up to ten stores (Scale).
Standard model / strongest modelThe two tiers of reasoning model behind the desk. Free uses a fast model; Growth the standard model; Pro and Scale bring in the strongest model when a question warrants it, never on every sentence.
ReportA deeper analysis you ask for beyond the morning brief, counted against a monthly quota.
Isolated storeA store that is its own tenant: data, tokens and model context never mix with another store, including another store on the same Pro or Scale account.

FAQ

Short answers that match the rest of this manual and the trust page. Where the honest answer is not yet or no, it says so.

Is Ralph open for signup today?

No. Ralph is in private beta with a waitlist. You join the list on the home page and Ralph emails you when a seat is yours. Billing is not open. Every plan includes a real person for onboarding when the seat opens.

Does Ralph spend money or change my ads without approval?

No. Every material change lands in a review queue and nothing is written until you approve it. The writers that move money (schedules, throttles, exclusions, product sets, supplemental feeds) are off by default on every plan, and when enabled they act only on what you approved.

Does Ralph pause my ads when a size sells out?

It does not flip ad sets to paused. Catalogue availability already stops a sold-out variant being shopped. Ralph maps each variant to its retailer ID and offer ID, shows days of cover and core-size health next to spend, and stages a per-campaign exclusion, product set rebuild or supplemental feed change for your approval, each with a revert.

How does Ralph daypart Meta ads?

It reads hourly history in the account's time zone, draws a heatmap grouped into retail blocks, and proposes a cut only when a block is confidently below average, never more than half the week and never a whole day. After approval it writes a native ad schedule on lifetime-budget ad sets or a stepped throttle on daily-budget ad sets: about 20 percent a tick toward a floor of about 20 percent of baseline, held in learning, restored afterwards.

Does Ralph write ad schedules to Google Ads?

Not today. On Google, Ralph shows hour-of-week evidence for Search and Shopping and recommends an ad schedule with bid adjustments. You apply it in Google Ads yourself. Google dayparting is recommend-only.

Does Ralph overwrite my Merchant Center primary feed?

No. Ralph writes only to a supplemental feed of its own, carrying custom labels and availability, after approval and only when the supplemental writer is enabled. The primary feed is read, never written.

Will the bulk attribute fix spend without a limit?

No. Bulk fix is merchant-initiated, has hard pound ceilings per run and per store per day checked between products, allows one active run per store, and sits behind a writer flag that is off by default.

What happens when COGS is missing?

The margin line stays incomplete and Ralph shows the coverage, for example cost known for 62 percent of units sold. It does not fill the gap with an average or a guess. The same rule applies to thin hourly data, empty customer tables and unproven analytics cards.

Can weather change my budgets or hours?

No. Weather is a demand signal in the morning brief, joined to your own order history at city level. It never writes a budget, a schedule or a throttle, and Ralph will not propose a weather push on a category with thin cover.

What do ad drafts and ad writes mean on the pricing page?

Ad drafts are copy in review, counted per month: 0 on Free, 100 on Growth, 400 on Pro, 1,500 on Scale. Ad writes are the actions Ralph applies after you approve. Writes are see-only on Free and after approve on paid plans, always behind writers that are off by default.

How much does Ralph cost?

Free is £0. Growth is £99 a month, Pro is £249 a month and Scale is £599 a month, in GBP with VAT extra. Annual is two months free: £990, £2,490 and £5,990. Founding members on the waitlist lock 25 percent off paid list prices for life: £74, £187 and £449 a month. Enterprise for more than ten stores is set by hand and is not a list price.

Is my data isolated from other merchants?

Yes. Each store is its own tenant, every query is scoped to it and there are no cross-tenant joins. Stores on the same Pro or Scale account are isolated from each other in the same way. Tokens are encrypted at rest, you keep ownership of every account, and Ralph does not sell merchant data or use one merchant's data to train models for another.

Does Ralph work outside the UK?

Yes. Any Shopify store can join the waitlist and use the desk. Billing is in GBP with VAT extra. Hourly evidence is read in the ad account's time zone and writes apply in the store's time zone.

Is the storefront concierge the same as Ralph?

No. The concierge is an optional shopper-facing assistant on your storefront with catalogue filters and cost caps. The operator desk is internal and approval-gated. They never share a surface, and the concierge never touches ads or budgets.