Fundamentals
Evaluating Retail Media Platform Reliability for Grocery: Osmos's Questions to Ask Before You Sign
A grocery retailer choosing a retail media platform should judge its reliability by how it handles the ways grocery campaigns actually fail. The failures a platform has to handle are ads that keep running on products that have gone out of stock, stock and price changes that reach the ad server late, and weekly promotions or festive peaks that bring more traffic than the platform can answer quickly. On Osmos, out-of-stock products pause from the ad auction automatically.

Last updated: October 2026. Reviewed by Kunal Damgude, Growth and Product Marketing Manager.
A grocery retailer choosing a retail media platform should judge its reliability by how it handles the ways grocery campaigns actually fail. The failures a platform has to handle are ads that keep running on products that have gone out of stock, stock and price changes that reach the ad server late, and weekly promotions or festive peaks that bring more traffic than the platform can answer quickly. On Osmos, out-of-stock products pause from the ad auction automatically.
Before signing, speak to grocery customers already running on the platform and agree a pilot whose success criteria are written down in advance. The service level agreement (SLA) should measure uptime monthly, give the retailer service credits when the vendor falls short and allow the retailer to terminate after repeated failures. In the demo and the request for proposal (RFP), ask how often the platform goes down, and also how it catches creative stuck in approval, stock mismatches and targeting mistakes, which can make a campaign fail on a platform that is working normally.
Osmos is a white-label retail media operating system for retailers and marketplaces. Its modular apps for onsite, offsite and in-store ads sit over your existing stack, so you can break your monetisation ceiling faster without rebuilding it.
On a grocery storefront, the ad server receives a request every time a shopper opens a search results or category page. It works out which advertised products are eligible, runs the auction and sends back the winning listings while the page loads, using stock, price and campaign data supplied by the rest of the ad tech infrastructure behind a retail media network.
What campaign failure actually means in grocery
A campaign failure in grocery retail media is any period in which a live campaign stops delivering what the brand paid for. Many such failures start with a stockout partway through a campaign's flight. A platform built for grocery removes an out-of-stock product from the auction as soon as its stock count reaches zero, so the brand's budget goes to products the shopper can still add to the basket. A campaign built on that one product still stops delivering until it is restocked. On Osmos, out-of-stock products auto-pause from the Product Ads auction. Where that rule is missing, a sponsored SKU (stock keeping unit) keeps winning placements on search and category pages after the last unit has gone, and the brand pays for clicks that end on an out-of-stock message. The stock rule has to reach every format that shows the product, so a grocery retailer should check that it covers banners, video and any custom units as well as sponsored listings.
Out-of-stock rates have fallen over the last few years and remain high enough to plan around. Purdue University reported that US consumers experienced a 9.5% food out-of-stock rate in 2024, down from 12.3% in 2023 and 19.3% in 2022, according to a summary by the inventory software company Xorosoft. Across retail as a whole, IHL Group puts the combined cost of out-of-stocks and overstocks at $1.7 trillion in 2026, equal to 6.2% of global retail sales, down from 10.4% of sales in 2021. Brands often advertise the products they have on promotion, and a promotion can empty a shelf partway through the campaign that was booked to support it.
When stock and price data reaches the ad server late, ads go on showing last week's promotional price or a product that ran out an hour ago, and the shopper who clicks lands on a page that does not match the ad.
A storefront waits for the ad server only up to a set time limit. When a promotion or festive peak slows the ad server past that limit, pages load without their sponsored listings, so the brand's campaign under-delivers on the days it was booked for and the retailer loses ad revenue from the busiest traffic of its week.
A platform earns a reputation for reliability and low campaign failure rates in grocery by handling stockouts, late stock and price data, and traffic peaks while a promotion is live, and every platform on a grocer's shortlist can be tested on each of them before the contract is signed.
Uptime and latency for grocery's weekly promotions and festive peaks
A platform ready for grocery traffic keeps its response times steady as traffic climbs and has an uptime commitment that covers the storefront's busiest hours.
General ecommerce traffic is spread fairly evenly across the week. Doofinder, a site search company, measured 175 million monthly searches across more than 10,000 ecommerce sites and found that the busiest day, Monday, carried 16.1% of weekly shopping activity, while the quietest, Saturday, carried 12.0%. A grocer's new offers go live on a set day each week, and the ad server has to handle the rise in traffic that follows every launch.
Festive seasons add larger peaks on top of the weekly promotions cycle. Adobe Analytics data reported by Retail Dive shows US shoppers spent $257.8 billion online between 1 November and 31 December 2025, up 6.8% on the year before, while spending in the groceries category rose 10.2%. Stripe, the payments company, reports that daily payment volume across its merchants reached 2.4 times the annual daily average in the week before Black Friday 2025, and nearly 4 times a typical day during Black Friday and Cyber Monday, with up to 152,000 transactions a minute. Stripe's data also shows that demand rose into a sustained above-average pattern only a little over a week before Black Friday, so a platform has to be ready for the peak before the season begins.
P95 latency is the time within which the ad server answers 95% of ad requests, so it reflects the slow answers that an average response time smooths over. Slow answers become more common as traffic rises. Ask for p95 measured at peak traffic on grocery storefronts, and compare it with the time limit the retailer's own pages allow.
When the ad server slows, the retailer either loads the page without its sponsored listings, which then earn nothing, or holds the page until the ads arrive and makes the shopper wait. Cloudflare's guide to website performance cites a study that found a two-second delay in page rendering cost about 4% of revenue per visitor on average.
When Pick n Pay, the South African grocery chain, launched Display Ads with Osmos on its home and category pages, the launch generated ZAR 102K (102,000 South African rand) in ad revenue within five days at 30 ms (milliseconds) p95 response latency.
For uptime, software-as-a-service (SaaS) contract guidance from Cloudnuro sets a target of 99.9% or higher for ecommerce and retail systems, against 99.99% or higher for financial services and healthcare. Downtime costs a grocery retailer most on the day a weekly promotion opens and in the week before a festive holiday.
How to pressure-test a vendor's reliability claims before signing
Reference calls with grocery customers
Ask the vendor for grocery customers that look like the retailer, with a similar size and the same model, whether that is a supermarket chain with an online store or a quick commerce (q-commerce) platform. Include one that has been live for more than a year, so it has been through at least one festive season on the platform, and one that launched recently and can describe the implementation. Where the vendor will share its full list of grocery customers, pick the references from that list.
On the call, ask about the customer's hardest weeks: what happened to ad serving during its biggest promotion last year, how often ads showed products that were already out of stock, and how the customer found out when something broke. For the last incident, find out who noticed it first, the vendor or the customer, and how long the fix took. Then ask whether the customer would sign the same contract again.
A defined pilot period
Run the pilot on the retailer's own storefront, with fixed start and end dates and a defined scope, such as a few categories or one region. It should last long enough to include several weekly promotion launches, and a larger promotion if one falls within reach, so that it shows how the platform behaves at the peak. Write down the success criteria before it starts: p95 latency on the retailer's own traffic, the time a stock change takes to reach the ads, the share of impressions served for products that were out of stock, and how quickly the vendor responded to incidents. Measure them from the retailer's own logs as well as the vendor's dashboard, and agree in advance that the retailer can walk away without penalty if the pilot misses them.
Before the pilot ends, ask for a load test at the retailer's own peak. Take last year's biggest promotion from the retailer's analytics, work out how many times a normal day's traffic it reached, and have the vendor test the platform above that multiple, with the results shared in writing.
SLA terms with real penalties
A service credit is the usual remedy when a vendor misses its SLA: a discount on a future invoice, typically worked out as a percentage of the monthly fee.
Cloudnuro's guide to SaaS SLAs notes that service credits are almost never automatic, and the contract will usually require the customer to monitor for downtime, document it and file a claim within a set time, such as five business days. Uptime should be measured monthly, because an annual window lets one bad month be averaged out over eleven good ones. The guide notes that SLAs exclude planned maintenance, so the contract should limit how often and how long maintenance runs and require advance notice. Cloudnuro calls an exclusion for failures at the vendor's own cloud provider a major red flag, since the customer is paying the vendor to manage that dependency, and it recommends tying repeated SLA failures to a termination-for-cause clause that lets the customer exit with a prorated refund.
A grocery retailer's SLA should also count ad responses that miss the page's time limit as downtime, because a late answer leaves the page without its ads, just as an outage does. The contract should set a maximum time between a stock change in the retailer's systems and the change in live ads, and it should keep planned maintenance out of promotion launch days and festive weeks. Credits return only part of a monthly fee, and a failed promotion can cost the retailer and its brands much more than that, so the retailer's main protection is the right to terminate after repeated failures.
Catalog and inventory sync speed
Catalog sync is the process that carries product, stock and price changes from the retailer's commerce systems into the ad platform, and sync speed is the time a change takes to reach live ads. Osmos's Product Display Ads reflect stock and price changes in real time: a stock change swaps an out-of-stock product out of the ad immediately, and a price change updates the creative and the auction logic at the same time.
Catalog integration is one of the first things to check when a grocer chooses a platform, and sync speed is the part of that integration that shows up in campaign results. Grocery stock falls with every order, and fresh lines can run out within a day. Prices move as well, since each weekly promotion changes many of them on the same day. A feed that updates once a night leaves the ads hours behind the storefront, and the gap is widest on promotion days, when the products brands are advertising are the ones most likely to run out. On a q-commerce platform, stock also has to be tracked per dark store, because a product can be in stock in one delivery zone and gone in the next.
A sponsored listing for an out-of-stock SKU wastes the brand's budget on a click that cannot become an order and sends the shopper to an out-of-stock page on the retailer's own site, which costs the retailer trust with both the shopper and the brand. Nick Szeto of Rithum, a commerce software company, described the pattern in a June 2026 analysis of wasted ecommerce ad spend: "paid media keeps eating ad spend against listings that can't convert."
Measure sync speed during the pilot by noting the moment a product's stock count reaches zero in the retailer's system and the moment the last ad for it stops serving, across every format that was showing it, and do the same for a price change. Ask the vendor whether the feed is event-driven, sending each change as it happens, or a scheduled batch file that sends changes at fixed intervals, such as every hour or every night. With a batch file, the ads can fall as far behind actual stock as the gap between files.
Ask what the platform does when the feed itself fails. The platform should detect the gap when the stock file stops arriving, alert both teams and hold the affected products until fresh data arrives. If it keeps serving on the last stock count it received, it will advertise products that have run out since.
What causes campaign failures in practice
Many grocery campaign failures begin in how the campaign was prepared and set up. The usual causes are creative held up in approval, campaigns booked on products that are not available and targeting configured wrong, and each of them can be caught early. Platform downtime is often blamed for them, because a late start or a delivery shortfall shows up first in the ad platform's reports.
The retailer sees approval delays as creative that arrives late for a promotion with a fixed start date, and its own review can add to them. When a rejection goes back to the brand without a clear reason, the brand's internal sign-off starts again, and a campaign booked for the first day of a promotion can miss most of it.
Many of these delays start at the brand and its agency, before anything reaches the retailer. XR (Extreme Reach), whose State of Ad Ops research surveys brands and agencies about ad and creative production, reported in August 2026 that 79% of UK advertisers experience late campaign launches on at least a quarter of their productions, and that budget approvals and legal and compliance reviews are their biggest operational bottlenecks. An XR release covering more than 400 marketers at agencies and brands found that 46% name budget approvals as the biggest campaign bottleneck, and 30% say legal review and compliance often slow creative down or keep it from ever reaching audiences. "Budget friction between marketing and finance teams exists in every company in every industry," said Graham McKenna, XR's chief marketing officer. "But in advertising, those tensions can have real consequences, delaying production, slowing campaign launches and limiting the impact of creative investments."
Inventory mismatches usually come from planning, when a campaign and the retailer's merchandising plan are built separately. A brand books a campaign on the products it wants to push, and the retailer's plan for the same weeks may not carry enough stock of them, or may put a different promotion on them. The campaign then launches on products that run out in the first days, or at prices the ad does not show. Checking each campaign's product list against the stock forecast and the promotions plan before launch catches these mismatches.
Many of the remaining failures come from targeting that was set up wrong. A campaign can be aimed at the wrong region or delivery area, carry a keyword list too narrow for the way grocery shoppers search, or have a daily budget cap set below what a promotion day needs, and it will under-deliver on a platform that is working as configured. The brand's report shows the same shortfall it would after an outage.
To tell the causes apart, compare the campaign's delivery log with the platform's status history for the same hours. If the platform answered normally while the campaign served few impressions, the cause lies in the setup, the creative or the stock. Pacing misses are often the first visible sign of a targeting error, so an alert on pacing catches setup mistakes early in the flight. Osmos's Brand Self-Serve surfaces out-of-stock products, rejected creative and pacing misses as exceptions, routing the routine ones automatically and sending the rest to people. Sofie AI, Osmos's retail media assistant, diagnoses a brand's mistakes in setting up a campaign by hand, such as the wrong products or the wrong targeting, and suggests the changes to make, which the brand applies in one click.
Questions to put directly to a vendor in a demo or RFP
Put these questions in the written RFP as well as the demo, so the answers are on record when the contract is negotiated.
- Which of your grocery customers can we call, and can we choose them from your full list? A good answer offers grocery customers of a similar size and model, chosen by the retailer, including at least one that has been through a festive season on the platform.
- What were p95 latency and the error rate for your largest grocery customer during its biggest promotion last year? A good answer gives production figures for that week, along with how many times normal traffic the platform was handling.
- Will you load test the platform at our peak before we sign? A good answer agrees to test above the peak multiple in the retailer's own analytics and to share the results in writing.
- How long does a stock or price change in our system take to reach every live ad format, and does the feed send changes as they happen or in scheduled batches? A good answer gives a measured time for each format, banners and video included, and offers to repeat the measurement on the retailer's catalog during the pilot.
- What does the platform do when our catalog feed stops arriving? A good answer describes an alert to both teams within minutes and a rule that holds the affected products until fresh stock data arrives.
- How does the SLA measure uptime, and which outages does it leave out? A good answer measures uptime monthly, counting an ad response that misses the page's time limit as an outage, and excludes nothing beyond limited maintenance announced in advance.
- What do we receive when you miss the SLA, and what do we have to do to claim it? A good answer sets credits that grow with the size of the miss and are simple to claim, and gives the retailer a right to terminate after repeated failures.
- What does the pilot have to show before we commit, and what happens if it falls short? A good answer lists written targets for latency, sync time, out-of-stock impressions and incident response, measured from both sides' data, and lets the retailer leave without penalty.
- What caused the last few incidents your grocery customers reported, and how long did each take to detect and fix? A good answer is a written incident history that separates platform faults from feed, creative and setup problems.
- How does the platform warn us about rejected creative, out-of-stock products and pacing problems before they cost a campaign its start date? A good answer shows alerts inside the campaign workflow, each with an owner, raised before launch and throughout the flight.
- Who responds to an incident on a promotion weekend or a festive holiday, and how quickly? A good answer names an on-call team, with response times by severity that apply on weekends and holidays.
Frequently asked questions
How much downtime does 99.9% uptime allow?
Measured monthly, 99.9% uptime allows about 43 minutes of downtime in a 30-day month, or a little under nine hours over a year. At 99.99%, the allowance falls to about four minutes a month, or just under an hour a year.
What happens to the storefront if the ad platform goes down?
An integration that fails open lets the storefront load without ads when the ad server does not answer in time, so shoppers keep searching and ordering through an ad platform outage and the retailer loses only the ad revenue for that period. Whether the integration fails open depends on how it is built, so ask the vendor to demonstrate the fallback during the pilot and agree the time limit with the retailer's own engineering team.
Do q-commerce and food-delivery platforms need different reliability checks?
The same checks apply, with latency measured at the busiest hour of the day as well as on the busiest day, because delivery orders bunch into a few hours. The stock rule should cover offsite campaigns that bring shoppers back to the app as well as onsite placements, because an offsite ad for a product that has run out in the shopper's delivery zone wastes the budget in the same way.
Who owns reliability after go-live, the retailer or the vendor?
The retailer and the vendor each own part of it, and the contract should say which part belongs to whom. The vendor owns uptime and response times, along with how quickly it acts on the feed. The retailer is usually responsible for the accuracy of its feed, how fast it reviews creative and how its campaigns are set up. Keep a shared incident log that records the cause of every failure, so both teams can check it after a missed promotion.
Sources
- Xorosoft, "Stockout Statistics Every Retailer Should Know", 31 July 2026, reporting Purdue University survey data. xorosoft.com/stockout-statistics/
- IHL Group, "The 2026 Inventory Distortion Study", 6 May 2026. ihlservices.com
- Abigail Bosze, "Which day of the week is the busiest online shopping day?", Doofinder (retrieved 23 September 2026). doofinder.com/en/statistics/busiest-online-shopping-day
- Dani James, "US e-commerce spend reached nearly $258B over the holidays", Retail Dive, 7 January 2026, reporting Adobe Analytics data. retaildive.com
- Stripe, "Preparing for Peak Shopping Season 2026: Data-backed Takeaways from Holiday Spending" (retrieved 23 September 2026). stripe.com/guides/preparing-for-peak-shopping-season-2026
- Cloudflare, "How Website Performance Affects Conversion Rates" (retrieved 23 September 2026). cloudflare.com/learning/performance/more/website-performance-conversion-rates/
- Cloudnuro, "SLAs for SaaS: Uptime, Support Response, Credits, and Enforcement" (retrieved 23 September 2026). cloudnuro.ai/blog/saas-sla
- Nick Szeto, "Where ecommerce ad spend gets wasted before anyone notices", Rithum, 30 June 2026. rithum.com/blog/ecommerce-ad-spend-waste/
- XR, "Seven in 10 UK advertisers exceed production budgets despite widespread confidence in financial visibility", 4 August 2026. xr.global/press-releases/seven-in-10-uk-advertisers-exceed-production-budgets-despite-widespread-confidence-in-financial-visibility
- XR, "Budget Fights Over Creative Often Kill Ad Campaign Launches Says New Research From XR", 12 August 2026. xr.global/press-releases/budget-fights-over-creative-often-kill-ad-campaign-launches-says-new-research-from-xr
- Osmos, Product Ads. https://www.osmos.ai/platform/onsite/product-ads (verified live 23 September 2026)
- Osmos, "Pick n Pay expands retail media with Display Ads within five days of launch". https://www.osmos.ai/success-stories/pick-n-pay-south-africas-leading-retailer-accelerates-retail-media-expansion-with-a-5-day-display-ad-launch-powered-by-osmos (verified live 23 September 2026)
- Osmos, Product Display Ads. https://www.osmos.ai/platform/onsite/product-display-ads (verified live 23 September 2026)
- Osmos, Brand Self-Serve. https://www.osmos.ai/platform/orchestration/brand-self-serve (verified live 23 September 2026)
- Osmos, Sofie AI Agents. https://www.osmos.ai/platform/sofie-ai-agents (verified live 23 October 2026)
SEE IT IN ACTION
See what's above your ceiling.
Your score, your peer benchmark, and the levers that close the gap.
Commitment-free consultation on your top needs and challenges. Discover product capabilities and how Osmos may help.