Retail Media Network Platform: Build vs Buy
Buy first. Under roughly five million dollars of annual media revenue, or with fewer than about forty active supplier advertisers, CitrusAd or Topsort costs less than the team a build needs.
On this page
Buy first. Under roughly five million dollars of annual media revenue, or with fewer than about forty active supplier advertisers, CitrusAd or Topsort costs less than the team a build needs. Cross that line and the revenue share alone usually exceeds a full platform, and you still do not own the attribution methodology that sets your rate card.
What CitrusAd, Criteo and Topsort actually do well
Most retailers reading this should buy, and the reason is arithmetic rather than capability. Under roughly five million dollars of annual media revenue, or with fewer than about forty active supplier advertisers, a revenue share costs less than the team you would otherwise hire, and it keeps costing less every month you are still small.
The products are also better than the build-it-yourself crowd admits. CitrusAd integrates sponsored placements into a retailer's own search and does it competently for a fairly standard grocery or general merchandise site. Criteo Retail Media brings demand you do not have to sell yourself, which matters enormously in year one when your commercial team has no rate card and no case studies. Topsort sits architecturally closer to the retailer's own surfaces and is a sensible pick if page control and latency are your worry. Koddi is strong on measurement and reporting specifically, and if measurement is your only gap it is a fair answer on its own.
They carry things a build never gives you free. Somebody else keeps creative rendering working when your page templates change. Somebody else answers at nine on a Saturday when the auction stops returning. Somebody else already has the advertiser relationships your commercial team is still building.
Buy, and keep buying while it works. The rest of this page is about what a ceiling looks like once you reach one.
Where they stop: the sale that happened in a store
Picture the Tuesday call. A supplier bought forty thousand dollars of onsite sponsored placements for a summer push and wants three things: why sixty 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 comma separated export. Your answer to the third is a click chart that the supplier's own sell-through report flatly contradicts.
That third question is what the category is built on, and no vendor can answer it for you, because the join needs loyalty identity and basket detail that should not leave your business. Your privacy counsel will say so 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 set the window, and you set it per category, because a shopper exposed to a soft drink placement converts on a different clock than one exposed to a nappy multipack. Then in-store redemption folds in, and for most grocers that is where the majority of the sale still happens. An online-only number understates your value to the supplier, which means it understates your rate.
The second thing that stops is pacing. Vendor platforms pace against a generic traffic model. Yours has a Thursday grocery peak, a payday spike, weather sensitivity in some categories and a different curve on the app than on the site. Pacing that does not know your curve front-loads into your busiest hours, exhausts on a Saturday morning, and the brand is absent for the promotion week the supplier actually bought. Every make-good you have issued traces back to that.
What a custom retail media build actually costs
Bands, from delivery experience rather than a price list. A first release covering the auction inside your own ranking pipeline, pacing against your own hourly impression history, creative rendering in your existing templates and a supplier facing reporting view runs $90,000 to $180,000 and ships in 14 to 20 weeks. A full platform adding supplier self service with trader approvals, offsite audience extension, clean room reporting, incrementality holdouts and billing through your accounts receivable ledger runs $250,000 to $650,000 phased over 9 to 15 months.
Data migration adds 10 to 25 percent, and here it is mostly identity rather than campaigns. Joining online and in-store shopper identity, measuring your match rate honestly and deciding how unmatched traffic gets reported is the work, and it is why attribution projects slip.
Year two runs 15 to 20 percent of build cost annually. Surfaces change, the app ships a new home screen, a new category needs its own slot policy, and the pacing forecast needs refitting after every trading calendar shift.
What pushes it up: the number of distinct surfaces, since 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 one stock check into a per node one. And a hard latency budget, because a sponsored decision adding eighty milliseconds to search can cost more in conversion than the media earns.
What keeps it down: search results only, a fixed three slot layout, auction plus pacing plus reporting, nothing else in release one.
The four situations where building wins
- Regulatory fit. A sponsored placement has to be identifiable as paid, and the standard is not a pale grey label. In the United States the Federal Trade Commission's native advertising guidance governs how a paid placement must be disclosed, and in the European Union the Digital Services Act requires each advertisement to be clearly marked with the advertiser identified. On the data side, the attribution join sits on loyalty records carrying deletion rights under the General Data Protection Regulation and the California Consumer Privacy Act, while your media invoices carry retention duties. A build lets you separate identity from the measurement ledger so both obligations are met. In a vendor platform that is somebody else's schema decision.
- Scale economics. Revenue share grows with your success. Model the fee at three times current media revenue and set it beside a fixed engineering cost, because that is the comparison your finance director will make anyway.
- A workflow that is your competitive advantage. Own brand protection, category exclusivity sold in a trading meeting, store level availability gating a slot, and a promotions engine already applying multibuys to the same page. Those commitments live in signed joint business plans, and in a vendor platform each becomes a support ticket.
- Integration sprawl across three or more systems. The ad platform, the search index, the loyalty database, the order management system and the accounts receivable ledger. Media spend is negotiated on trading terms, often netted against other supplier income and sometimes funded from a promotional allowance, so a standalone billing stream gets reconciled by hand forever.
Two of those true is a build. One of them is a better contract at renewal.
How to decide in a week, with three campaigns
Pick the three largest campaigns you ran last quarter. Everything below uses data you already hold.
Monday and Tuesday: rebuild daily spend against each supplier's promotion window and mark the day the campaign passed sixty percent of budget. If that day lands before the promotion started, pacing is costing you renewals, and you can name the amount in make-goods already issued.
Wednesday: take one supplier and attempt the closed loop join yourself, in your own warehouse, with your own loyalty identity. Exposure events to baskets, online and in store, window set per category. Do not aim for a polished number. Aim to learn your match rate and how much traffic is unmatched, because that figure alone decides whether this is a measurement project or an identity project.
Thursday: ask finance how long the monthly media reconciliation takes and whether the media invoice nets against supplier trading income today. Write the hours down.
Friday: set the three year revenue share beside the build bands, then add the rate difference your top suppliers said verified incremental lift is worth. Under roughly $300,000 of share across three years, stay put and renegotiate the reporting clause. Above it, build the auction and measurement layer and keep the vendor as demand for as long as it earns its share.
If it points to build, begin with a paid discovery rather than a proposal. Two to three weeks at a fixed fee, ending in a signed product requirements document that names the slot policy, the auction scoring inputs, the identity resolution approach, the clean room rules and the acceptance criteria. You keep that document whichever firm builds from it, and it is what makes three quotes comparable.
We are wrong for you if your media revenue is under five million dollars a year, if you are choosing on hourly rate, or if your loyalty identity is still spread across three systems, and we would rather say so than bid it. Where Digital Heroes fits: more than fifty specialists, over 2,000 projects, our own products including ShopScore, HeroCheckout and Section Vault, and India LLP, US LLC and UK LTD entities so intellectual property assigns under your own law. Your transaction log is the durable asset in this build, so ownership and extraction terms are settled in writing before kickoff. Our record is checkable on Clutch, Trustpilot, Fiverr Vetted Pro and our D-U-N-S listing.
Book a 30-minute call with Digital Heroes and get a written plan and a fixed quote within 48 hours.
The evidence behind this guide
Independent findings on why this investment pays off. Every link goes to the primary source.
- Deloitte's research found that digitally advanced small businesses experienced revenue growth nearly 4x as high as the prior year, were about 3x as likely to have exported, were nearly 3x as likely to have created new jobs, and were more than 3x as likely to have seen more sales inquiries in the last year. Source: Deloitte (research summarized by Google) (2017) →
- An independent Forrester Total Economic Impact study of OutSystems found a 363% three-year ROI with payback in under 6 months, illustrating that faster, lower-labor build approaches can materially shift the payback math. Source: Forrester Consulting (commissioned by OutSystems) (2024) →
- An analysis of enrollment and completion data for 221 MOOCs (Katy Jordan, published in the International Review of Research in Open and Distributed Learning, IRRODL, 16(3), 2015 - not the Journal of Distance Education) found completion rates ranging from 0.7% to 52.1%, with a median completion rate of 12.6%, and completion negatively correlated with course length (longer courses had lower completion rates) - underscoring how unsupported self-paced online courses struggle to finish learners. Source: Journal of Distance Education (via ERIC / Katharina Jordan) (2015) →
- Digital Champions expect to achieve about 16% in cost savings and around 15% in revenue gains from digital operations over five years; the study surveyed 1,155 manufacturing executives across 26 countries. Source: PwC / Strategy& (2018) →
Frequently asked questions
How long does it take to launch a first version in house?
Fourteen to twenty weeks for a 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 programme move noticeably faster.
Who owns the attribution methodology if a vendor runs our measurement?
The vendor does, in practice, and that is the quiet cost. Your rate card is set by the numbers you can defend to a supplier's analytics team, so the method behind those numbers is commercial property. Insist on a written description of the window logic, the identity match rules and how unmatched traffic is treated, and confirm you can reproduce the figures from your own data.
What happens if our largest supplier audits our numbers?
They will send an analyst who compares your reported conversions against their own sell-through and asks how the window was set. The answer that survives is a published methodology, a stated match rate, unmatched traffic reported separately rather than dropped, and a matched holdout showing incremental lift. If your only evidence is a dashboard you cannot open, expect a rate cut at renewal.
Can we keep CitrusAd as the front door and build only the measurement layer?
Yes, and for most retailers that is the sensible first phase. Exposure events flow from the vendor into your own warehouse, the join to baskets runs where the loyalty and transaction data already sits, and suppliers query aggregates through a clean room with a minimum cohort size. It is a smaller footprint, it answers the question that sets your rate, and it leaves the auction where it works.
Should a retailer with no loyalty programme build a retail media network?
Not yet, and we would say so before quoting. Without a durable shopper identifier the closed loop join has nothing to join on, and every attribution figure becomes a modelled estimate a supplier can argue with. Fix identity first, even at a basic level such as a linked account at checkout and a scannable identifier in store, then revisit the media build.
What is the difference between last click attribution and incrementality?
Last click credits the exposure that preceded the purchase, which counts sales that would have happened anyway. Incrementality holds out a matched control audience and reports the difference, which is the lift the media actually caused. Suppliers move media spend from a marketing budget into a trade budget on incrementality numbers, and that reclassification is usually worth more to you than the click volume.
How much does adding another ad surface cost after launch?
Each surface is its own slot logic, its own creative format and its own pacing history, so treat it as a small project rather than a configuration change. Category pages and product detail are usually modest additions once search works. App home and email are larger, because the delivery path and the measurement path both differ. Sequence them by the revenue each surface can realistically carry.
What happens to campaigns in flight if we switch platforms?
Run both for a full billing cycle rather than cutting over. Campaigns carry committed budgets, promotion windows and delivery guarantees, and a mid-flight move creates exactly the under-delivery that produces make-goods. Migrate new bookings to the new system first, let existing commitments run out on the old one, and reconcile both against the same accounts receivable ledger during the overlap.
Do we need first price or second price auctions for sponsored products?
Either works, and the point is that it should be your decision to change without raising a vendor ticket. Second price suits advertisers who do not manage bids closely. First price is simpler to explain and to audit. What matters more is the reserve price per category and how many slots you allow, since those set the yield ceiling and the shopper experience floor.
Can suppliers pay on trading terms rather than by card?
They should, and this kills more programmes than the ad technology does. Campaigns need to carry the supplier's existing vendor number so spend accrues to a media revenue account and invoices go out through the same receivables process as any other charge, with terms already on file. Media spend is often netted against other supplier income, and a standalone billing system will not net.
Does the tech stack matter, and which one should I ask for?
It matters less than agencies imply, provided it is boring. A mainstream stack, something like React or Next.js on the front end, Node.js or Python behind it, and PostgreSQL for data, means thousands of developers can maintain your system if you ever change vendors. Apply one test: ask how hard it would be to hire a replacement developer for the proposed stack, and walk away from anything built on an agency's in-house framework.
What should I have ready before I contact a development agency?
Three things, none of them technical: a one-page description of the problem in your own words, a list of the tools and spreadsheets the new system must replace or connect to, and a must-have versus nice-to-have split of features. Add a budget range, even a wide one, because it changes the conversation from fantasy to engineering. You do not need a formal specification; producing that is what a discovery phase is for.
How long does it take from first call to software my team can actually use?
Plan for four to six months: two to three weeks of discovery, two to four weeks of design, then a 10 to 16 week build with testing. In Digital Heroes delivery experience the schedule killer is not engineering speed but decision lag; a client who takes two weeks to approve wireframes adds two weeks to launch. Book a weekly 30-minute decision slot before kickoff and most of that risk disappears.
Couldn't I just build my app in Bubble or another no-code tool instead of hiring an agency?
For validating an idea with real users, yes, and we tell clients that honestly. The walls come later: Bubble apps cannot be exported as code to run anywhere else, performance drops on complex data operations, and usage-based pricing climbs as you grow. A meaningful share of Digital Heroes custom builds are rebuilds of no-code MVPs that proved the business worked, which is the system operating as intended: validate cheap, then build the version that scales.
Can custom software connect to the tools we already use, like QuickBooks, Stripe, and Google Workspace?
Yes, and connecting your existing tools is one of the main reasons to build custom: mainstream platforms like QuickBooks, Stripe, Shopify, and Google Workspace all publish documented APIs. Budget 1 to 3 weeks of work per integration depending on API quality and how much data flows in both directions. Ask any vendor whether they have integrated with your specific tools before, because quirks like QuickBooks' OAuth token handling and API rate limits get learned on someone's project, and it should not be yours.
Our developer disappeared mid-project. Can another team pick up the code?
Yes, this is a routine engagement, provided the code exists somewhere you can access, so your first move is securing the repository, hosting, and domain credentials today. A takeover starts with a one to two week paid code audit that ends in one of three verdicts: continue the build, keep the design but rebuild the weak parts, or start over. Digital Heroes has inherited enough projects to say plainly that sometimes the rebuild is cheaper than the rescue, and an honest agency will tell you which one you have before taking your money.
How do I make sure custom software is secure and compliant with rules like HIPAA?
Start with the baseline every business system should have: encryption in transit and at rest, role-based access control, and audit logs. If HIPAA applies, the hosting provider must sign a Business Associate Agreement, which AWS, Azure, and Google Cloud all offer, and access controls have to be designed in from day one, not bolted on. SOC 2 certifies a company's operating practices, not a codebase, so ask vendors what they have shipped in your regulated domain rather than which logos are on their website.
Will custom software work with the tools we already use, like QuickBooks and Stripe?
Yes, and this is one of custom software's genuine advantages: QuickBooks, Stripe, Shopify, and most mainstream business tools publish documented APIs built for exactly this. Expect each standard integration to add one to two weeks of build time, and be suspicious of any quote that lists five integrations without asking what data flows in which direction. The hard cases are legacy systems with no API, which is a question to raise in discovery, not in week nine.
We run everything on spreadsheets and Airtable. How do we know it's time for custom software?
The reliable signals are re-typing the same data into multiple tools, one employee acting as human middleware between systems, and errors appearing in handoffs between teams. Hard limits force the issue too: Airtable's Team plan caps at 50,000 records per base, and Business costs $45 per seat per month, so a 20-person team pays about $10,800 a year for a tool it has already outgrown. When workarounds consume more hours than the tools save, the spreadsheet era is over.
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.
Related guides
Published · Last updated .