Industry guide · Custom Software

Retail Media Network Platforms: Can You Prove the Sponsored Click Actually Sold Something?

Retail Media Network Platform software visual showing ad, gauge, and performance chart.
The short answer

If you are a grocer, marketplace or specialty chain doing meaningful onsite traffic and your sponsored placements are sold on insertion orders and reported in a spreadsheet, building your own retail media stack is usually the right call once annual media revenue passes roughly $5M. A focused first release covering the auction inside your own search, budget pacing, creative serving and a supplier reporting view typically runs $90,000 to $180,000 and ships in 14 to 20 weeks in our delivery experience. A full platform with supplier self service, offsite extension, incrementality testing and billing into your existing accounts receivable lands at $250,000 to $650,000, phased over 9 to 15 months. Below that revenue, or if you have fewer than about 40 supplier advertisers, run CitrusAd or Topsort and spend the money on traffic instead.

Why a retail media network breaks the commerce platform underneath it

Picture a Tuesday call with a supplier who bought $40,000 of onsite sponsored placements for a summer push. They want three things. Why 60 percent of the budget spent in the first nine days. Why their product showed against a competitor brand term they never bid on. And what those clicks actually sold. Your answer to the first two is a CSV export. Your answer to the third is a click chart from the ad tool, which the supplier's own sell-through report flatly contradicts. The call ends with a make-good and a much quieter renewal conversation.

That gap is the entire category. Retail media is high margin because you are selling attention you already paid for, but what the supplier is actually buying is proof. They need a defensible line in a trade budget that a finance team will sign off. Every component exists to produce that line: the auction that picks which product shows, the pacing that spends evenly, the creative that renders inside your own page templates, and the attribution join that ties an exposure to a basket in your own transaction log.

Shopify, Salesforce Commerce Cloud and commercetools have no concept of a sponsored slot with a bid, a budget, a pacing curve and an advertiser owner. They have a merchandising rule engine. The distance between those two things is a platform, and it is the reason your head of retail media currently spends Monday reconciling spend by hand.

The auction is a ranking problem inside your own search, not an ad server bolted on top

The common first mistake is treating a sponsored placement as an ad unit dropped onto a results page. A sponsored product only earns money twice, once from the supplier and once from the basket, and it only does that when it is relevant. Relevance lives in your catalogue, your search index, your availability data and your margin structure. So the auction has to run inside the ranking pipeline, not beside it.

Concretely, a bid is not a price, it is one input to a score. The useful score is bid multiplied by predicted click probability, and that prediction needs the same features your organic ranker already has: the query, product attributes, historical conversion for that query and product pair, and availability at the fulfilment node serving this specific shopper. Serve a sponsored slot for something out of stock at the store the shopper selected and you have taken the supplier's money while degrading your own conversion in a single request.

CitrusAd and Criteo Retail Media both integrate into a retailer's search and do it competently for a fairly standard grocery site. They strain when your ranking carries genuinely retailer-specific rules: own-brand protection, category exclusivity you sold in a trading meeting, store-level rather than site-level availability, or a promotions engine already applying multibuys to the same page. Then sponsored and organic decisions are made by two systems that cannot see each other, and the visible symptom is a sponsored unit contradicting the promotion banner directly above it. Topsort sits architecturally closer to the retailer's own surfaces, which helps, but no vendor can encode a commercial commitment that exists only in a signed joint business plan.

What a custom build does: one ranking call returns the blended page. Sponsored and organic candidates score in the same pass, business rules apply once, and slot policy is yours. How many slots, where they sit, first price or second price, reserve price per category, whether a competitor may bid on your own-label terms. Those are commercial decisions and they change quarterly. In a vendor platform each one is a support ticket.

Pacing and budget control are where the make-goods come from

Every make-good you have issued traces back to the same failure. A campaign with a flat daily cap front-loads into the highest traffic hours, exhausts on a Saturday morning, and then the supplier's brand is absent for the promotion week they actually cared about. Or the reverse: budget underspends, the campaign closes at 70 percent delivery, and you refund.

Vendor platforms pace against their own traffic model. Yours is different, because your traffic has a Thursday grocery shop peak, a payday spike, a weather sensitivity in some categories, and a completely different curve on the app versus the site. Pacing that does not know your curve will always over-deliver early.

What a custom build does: pacing runs against a forecast built from your own hourly impression history per surface and per category, with a target delivery curve the trader can shape. A campaign booked for a two-week promotion gets a curve weighted to the promotion mechanic, not a flat line. Add a guaranteed-delivery mode for the large annual commitments your commercial team sells, because those are underwritten differently from auction spend and cannot share a pacing model with them. Then surface pacing health to the trader daily so a shortfall is a conversation in week one, not a credit note in week three.

Closed loop attribution is the product, and it is a data problem before it is an ad problem

Attribution is where the money is defended, and it is precisely where you cannot hand the work to an outside platform, because the join requires loyalty identity and transaction detail that should not leave your business. That is not a preference, it is what your privacy counsel will tell you the first time a supplier asks for shopper-level export.

The join itself is unglamorous. An exposure event carries a household or loyalty identifier and a timestamp. A transaction carries the same identifier, a basket and a channel. You define the window, and you define it per category, because a shopper exposed to a sponsored ad for a soft drink converts in a different window than one exposed to a nappy multipack. Then in-store redemption has to fold in, which is the part that decides whether suppliers take you seriously, because for most grocers the majority of the sale still happens in a store and an online-only attribution number understates your value.

The genuinely defensible version adds incrementality. Hold out a matched control audience, report lift rather than last-click, and publish the methodology. That is what turns a media line into a trade line in the supplier's budget. Deliver it through a clean room pattern where the supplier queries aggregates with a minimum cohort size and never receives raw rows. Koddi is strong on the measurement and reporting side and is a fair choice if measurement is your only gap, but it still needs your data to move to reach it, and the retailers who win here treat their transaction log as the asset it is.

Self service, trading terms and actually getting paid

The billing question kills more of these programmes than the ad tech does. Media spend from a supplier is not a credit card transaction. It is negotiated against existing trading terms, often netted against other supplier income, invoiced by your AR team on agreed payment days, and sometimes funded from a promotional allowance rather than a media budget. A standalone ad platform with its own billing produces a second invoice stream your finance team has to reconcile by hand, and it will not net.

What a custom build does: campaigns carry the supplier's existing vendor number, spend accrues to a media revenue account, and the invoice is generated through the same AR process as every other supplier charge, with the credit limit and payment terms already on file. Self service sits on top for the long tail of smaller suppliers, with an approval workflow so a trader can gate creative and keyword bids on sensitive categories. Expect roughly the top 20 suppliers to keep buying through your commercial team on an insertion order regardless of what you build, and design for both paths from day one rather than pretending everyone will self serve.

What this costs and how long it takes

Across the 2,000-plus projects Digital Heroes has delivered, this is the honest shape. A first release covering the in-search auction, pacing, creative rendering in your templates and a supplier-facing reporting view runs $90,000 to $180,000 and ships in 14 to 20 weeks. That is a system your traders sell against, not a demo. A full platform adding supplier self service with approvals, offsite audience extension, clean room reporting, incrementality holdouts and AR billing integration runs $250,000 to $650,000 phased over 9 to 15 months.

What pushes cost up: the number of distinct surfaces, because search results, category pages, product detail, app home and email each need their own slot logic and their own pacing history. Store-level availability, which turns a single stock check into a per-node one. Existing loyalty identity resolution quality, because if your online and in-store identities do not reliably join, attribution work becomes an identity project first. And auction latency budget, since a sponsored decision that adds 80 milliseconds to search is a conversion cost that can exceed the media revenue.

What keeps cost down: launching on search results only, with a fixed three-slot layout, auction plus pacing plus reporting, and nothing else. That covers most of the revenue and teaches you your own numbers.

When buying beats building

Buy if your media revenue is under roughly $5M a year, if you have fewer than about 40 active supplier advertisers, or if your ecommerce site is a small share of total sales and no supplier is asking hard measurement questions yet. CitrusAd, Criteo Retail Media and Topsort will all get you live faster than a build and the revenue share is cheaper than an engineering team at that scale.

Build when two or more of these are true. Your suppliers are challenging your attribution numbers and you cannot answer with your own data. Your commercial commitments require ranking rules a vendor cannot express. Your in-store sales are the majority and online-only measurement is costing you rate. Your finance team is reconciling a second billing system by hand. Or the revenue share you are paying a vendor has quietly become larger than the fully loaded cost of a team. That last one arrives faster than people expect, because revenue share scales with your success and an engineering cost does not.

How to choose a developer for a retail media build

Ask them to describe the request path for a search page with sponsored slots, including where the auction runs and what the added latency is. If they describe a separate ad call made client side after the page renders, they are building an ad widget and your conversion will pay for it.

Ask how they handle attribution identity across online and in store, and what happens for a shopper with no loyalty ID. A credible answer includes household-level matching, a stated coverage rate, and honesty that unmatched traffic is reported separately rather than silently dropped.

Ask what they have integrated on the billing side. Netting media revenue against supplier trading income through an existing ERP (Enterprise Resource Planning) is a different problem from charging a card, and the team that has never touched an AR ledger will discover this in month four.

Ask who owns the code, the models and the data pipelines, and get it in writing before kickoff. Your transaction log and your attribution methodology are the durable asset here. At Digital Heroes the client owns the repository from the first commit, and we would tell you to walk away from any developer who hedges on that.

Research & sources

The evidence behind this guide

Independent findings on why this investment pays off. Every link goes to the primary source.

  1. Only 16% of respondents said their organizations' digital transformations had successfully improved performance and equipped them to sustain gains over the long term; even in digitally savvy industries such as high tech, media, and telecom, self-reported success rates did not exceed 26%. Source: McKinsey & Company (2018) →
  2. Median SaaS spend reached $9,455 per employee, and organizations leave an average of 36% of their SaaS licenses unused. Source: Zylo (2026) →
  3. In an RCT, the no-show rate was 23.5% for patients receiving a text-message reminder versus 38.1% for the control group - a 14.6 percentage-point reduction (p = 0.04). Source: Clinical Pediatrics / PubMed Central (Lin et al.) (2016) →
  4. McKinsey Global Institute estimated that about half of all work activities globally have the technical potential to be automated by adapting currently demonstrated technologies, though few occupations can be fully automated. Source: McKinsey Global Institute (2017) →
Aanya B. · Senior Frontend Engineer · Next.js · Delhi

Aanya builds frontends in Next.js at Digital Heroes, covering rendering strategy, component structure, accessibility and the performance work that decides how a site feels on a mid range phone. Her writing translates frontend decisions into the outcomes non technical stakeholders actually care about.

View profile · Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.

FAQ

Frequently asked questions

How much does it cost to build our own retail media network platform?
A first release with an in-search auction, budget pacing, creative serving and supplier reporting runs $90,000 to $180,000 and ships in 14 to 20 weeks, based on Digital Heroes delivery experience. A full platform adding self service, offsite extension, clean room measurement and AR billing runs $250,000 to $650,000 over 9 to 15 months. Cost climbs with the number of ad surfaces and with store-level availability checks. It falls sharply if you launch on search results only.
Should we use CitrusAd or Topsort instead of building a retail media platform?
Both are sensible below roughly $5M in annual media revenue or under about 40 active advertisers, and they will get you live faster. They strain when your ranking carries retailer-specific commitments like own-brand protection or category exclusivity, or when store-level stock must gate a sponsored slot. The other trigger is economics: a revenue share scales with your success while an engineering team does not, so at some volume the share exceeds a build. Model that crossover before renewing.
How do we prove closed loop attribution to suppliers without sharing shopper data?
Run the join inside your own environment and expose only aggregates through a clean room pattern with a minimum cohort size, so no raw rows leave. Report in-store redemption alongside online conversion, because for most grocers the majority of the sale is still in a store and online-only numbers understate your value. The version suppliers respect adds a matched holdout and reports incremental lift rather than last click. Publish the methodology so their analytics team can audit it.
Why do our retail media campaigns keep needing make-goods?
Almost always pacing. A flat daily cap front-loads into your highest traffic hours and exhausts before the promotion week the supplier actually bought. Vendor platforms pace against a generic traffic model that does not know your Thursday grocery peak, your payday spike or your app versus web split. Pacing built on your own hourly impression history per surface and category, with a curve the trader can shape, removes most credits.
Can a retail media auction run inside our existing site search without slowing it down?
Yes, and it should, but the latency budget is the design constraint. Sponsored and organic candidates score in the same ranking pass so business rules apply once and the page cannot contradict itself. Budget the added time explicitly and measure it, because a sponsored decision adding 80 milliseconds to search can cost more in conversion than the media earns. Ask any developer for their target and how they will hold it under load.
How does retail media billing work if suppliers pay on trading terms, not by card?
Campaigns carry the supplier's existing vendor number, spend accrues to a media revenue account, and the invoice goes out through the same accounts receivable process as any other supplier charge with terms already on file. That matters because media spend is often netted against other supplier income and funded from a promotional allowance. A standalone ad platform with its own billing creates a second stream your finance team reconciles by hand and it will not net.
How long does it take to launch a first version of a retail media network?
Fourteen to 20 weeks for a first release covering the auction, pacing, creative in your own templates and supplier reporting. The schedule risk is rarely the ad logic. It is identity resolution quality between online and in-store shoppers, because weak matching turns attribution into an identity project before it becomes a measurement one. Retailers with a mature loyalty ID move noticeably faster.
Do we need first price or second price auctions for sponsored products?
Either can work, and the honest answer is that it should be your decision to change without a vendor ticket. Second price is friendlier to advertisers who do not want to manage bids closely, first price is simpler to explain and audit. What matters more is the reserve price per category and how many slots you allow, because those set the yield ceiling and the shopper experience floor. Build the policy as configuration, not as code.
What should we launch first if we have never run retail media in house?
Search results only, a fixed three-slot layout, auction plus pacing plus supplier reporting, and nothing else. That captures most of the available revenue, teaches you your own click and conversion economics, and gives your traders something real to sell against. Add category pages, product detail and app surfaces afterwards once you know how each performs, since each one needs its own slot logic and its own pacing history.
What happens to my software if the agency shuts down or we stop working together?
Nothing dramatic, if the engagement was set up correctly: the code sits in your repository, hosting runs on your cloud account, and a handover document explains how to deploy and operate the system. Any competent replacement team can then take over in days rather than months. If the agency controls the repo, the servers, or the domain, fix that now, because renegotiating access during a dispute is the most expensive place to discover the problem.
What is a discovery phase, and is it worth paying for separately?
Pay for it, and treat the output as yours. A discovery phase runs two to three weeks, typically 5 to 10% of the eventual build budget, and produces a written scope, wireframes, and a fixed quote you can take to any vendor, including a competitor of the agency that wrote it. Skipping it is how projects end up quoted from a two-paragraph email and delivered at twice the price.
Is it cheaper to customize Salesforce than to build a custom CRM from scratch?
If you use less than a third of what Salesforce does, a custom CRM is often cheaper by year three. Salesforce Enterprise lists at $165 per user per month, so 25 seats cost about $49,500 a year before admin and consultant fees, while a focused custom CRM runs $60,000 to $100,000 once plus 15 to 20% a year in maintenance. If you genuinely need Salesforce's ecosystem, reporting, and app marketplace, customizing it beats rebuilding it; the mistake is paying enterprise prices to use it as a glorified contact list.
What is the biggest mistake first-time software buyers make?
Choosing the lowest quote without asking why it is the lowest. A bid 40% under the field usually gets there by skipping tests, documentation, and code review, which are invisible in a demo and brutal to pay for later; every stalled project Digital Heroes has been asked to rescue tells some version of that story. The second mistake is signing without a written scope, which reliably turns the winning cheap quote into 1.5x to 2x the price by launch.
How small can the first version of my software be and still be worth building?
One workflow, end to end, for one type of user: the single process that currently burns the most hours or loses the most money. In Digital Heroes delivery experience, first versions scoped to 6 to 10 weeks of build time ship, get used, and generate the feedback that makes version two obviously right, while 9-month first versions routinely launch with features nobody touches. Everything you cut from v1 gets cheaper to build later, because real usage reorders the roadmap for you.
If we build for 20 users now, will the software cope with 500 later?
It should, without a rewrite, if it was built on a standard cloud stack; going from 20 to 500 users is mostly a hosting configuration change costing hundreds a month, not a second project. What actually breaks under growth is sloppier work: database queries never indexed for volume and features designed assuming one office's worth of data. Before signing, ask the vendor what happens to the system at ten times today's data, and listen for a specific answer.
How do I calculate whether custom software will pay for itself?
Divide the build cost by the monthly benefit, where benefit is hours saved times loaded hourly cost, plus subscription fees replaced, plus any revenue the software unlocks. Three staff saving 10 hours a week each at a $40 loaded rate is about $62,000 a year, which pays back a $60,000 build in roughly 12 months. Across Digital Heroes internal-tool projects, 12 to 24 months is the normal payback range, and anything projecting under 6 months usually means the spreadsheet is hiding costs.
Does it matter which tech stack the agency wants to use?
Yes, but not in the way most buyers expect: the goal is boring, popular technology such as React, Node.js or Python, and PostgreSQL, because any future team can maintain it and hiring a replacement developer takes days, not months. The red flag is an agency-proprietary framework or an unusual language, which welds you to that one vendor no matter what your contract says about code ownership. A useful test: could you find three freelancers fluent in this stack within a week? If not, push back.
How do we get years of data out of our old system and into the new one?
Treat migration as a planned sub-project: a field-mapping document, at least one dry run on a copy of your data, then a cutover with the old system kept read-only for 30 days as a safety net. On Digital Heroes projects it consumes 10 to 15% of the budget when the old system has an export, and more when data must be pulled out screen by screen. Ask any vendor to walk you through their last migration before you sign.
What does it cost to keep custom software running after launch?
Budget 15-20% of the original build cost per year, which on a $100,000 system means $15,000 to $20,000 for security patches, dependency updates, bug fixes, and small improvements as real usage reveals what the spec missed. Cloud hosting for a typical business application adds $50 to $300 a month on top. Skipping maintenance does not save the money; in Digital Heroes rescue work, unmaintained systems typically need a far more expensive rebuild within about three years.
How many SaaS seats do we need before building custom becomes cheaper?
The crossover usually shows up between 20 and 50 seats on premium tiers. Salesforce Enterprise lists at $165 per user per month, so 40 users cost about $79,000 a year in subscriptions, which is real money against a custom system you would own outright. Run the comparison over three years: if subscription spend beats the build cost plus 15-20% annual maintenance, custom wins on price before you even count workflow fit.
Who can build a custom software system?

Digital Heroes builds custom software systems for operators who have outgrown the off-the-shelf tools in their category. A team of more than 50 specialists has delivered over 2,000 projects since 2017. Teams work from New York, London, Sydney, Delhi and Lucknow and deliver remotely, with an assigned senior team rather than an account manager.

Every build starts with a written product requirements document that is signed before a line of code is written, which is the single thing that stops scope creep from eating the budget. Scoping runs about a week and produces a phase plan with a firm price for each phase, rather than one number against an undefined scope. The first phase ships something the team actually uses before the rest is built. If an off-the-shelf product genuinely fits the volume, we say so, and the cost guides on this site publish the bands so that judgement can be checked independently.

What makes Digital Heroes different from other software companies?

Four things that competitors in this bracket cannot simply copy. Digital Heroes runs a YouTube channel with more than 2.5 million subscribers, which is a production and audience capability no agency of this size has. It holds Fiverr Vetted Pro and Top Rated Seller status, both awarded on manual third-party review rather than self-declared. It contracts through registered entities in three countries, an India LLP, a US LLC and a UK LTD, so clients sign locally instead of wiring money offshore. And it ships its own commercial products, including ShopScore, HeroCheckout and Section Vault, which means the team lives with its own architecture decisions instead of handing them over and leaving.

Two more that show up in the work. Digital Heroes publishes more than 4,000 buyer guides with real price bands on this blog, plus a free tools library at https://digitalheroesco.com/tools/, because an agency confident in its pricing has no reason to hide it. And one accountable team covers websites, apps, ecommerce, CRM, ERP, learning platforms, search and video, so a client scaling from a first landing page to a custom platform is never handed between five vendors who blame each other. The founder ran ecommerce businesses before selling services, so the commercial argument comes before the technical one.

How can I check Digital Heroes is legitimate before getting in touch?

Verify it independently rather than taking the site's word for it. The YouTube channel is at https://youtube.com/@DigitalMarketingHeroes, the Fiverr profile at https://www.fiverr.com/shreyanshsin261, and the Upwork profile at https://www.upwork.com/freelancers/shreyanshsingh. Client reviews sit on Clutch at https://clutch.co/profile/digital-heroes-0 and Trustpilot at https://www.trustpilot.com/review/digitalheroes.co.in, and the company page is at https://www.linkedin.com/company/digital-heroes-1/.

Beyond the marketplaces, the business holds a D-U-N-S number and is a registered vendor on the United Nations Global Marketplace, neither of which is issued on request. Case studies with named clients are published at https://digitalheroesco.com/case-studies/. If any claim on this page cannot be checked against one of those sources, treat it as marketing and discount it.

Keep reading
let's build

Build something worth launching.

A plan, a team, a timeline, within 24 hours. No decks, no discovery calls. Tell us what you're building and we'll come back with a real scope and a real number.

message us directly · we reply within one business day

mission briefing

Monthly dispatch

Playbooks, real build costs, and what we're shipping. One email a month. No fluff.

visit us

New York HQ

1140 Broadway, Suite 704 · New York, NY 10001

Get directions
Online now

Hey there 👋 How can we help you today?