A new ad network can rent, license or build its ad server, the software that picks and counts ads. Compare all three at the traffic you expect in month 24.
An ad network's software starts with an ad server, the program that picks which ad to show in each ad space and counts every ad shown and clicked. You can rent one, run licensed or open-source ad server software yourself, or hire an engineering firm that builds ad tech to develop one your company owns. The rented ad servers named in this article bill by ad requests (calls from a page or app with an ad space to fill) or by impressions (ads that were shown). Price each route at the traffic you expect in month 24, and ask firms that offer to build one to show a live ad server they built.
The short answer: rent an ad server or run an open-source one while traffic is small. Build your own when renting at the traffic you expect in month 24 would cost more than building and running one. A plan limit that blocks sales, or a feature the vendor will not build, is another reason to build. Whatever you rent, the contract should let you leave with your campaigns, ad files, publisher and advertiser records and the record of every impression and click.
Read next
The article on DSPs, ad exchanges and ad networks covers the two sides a network starts with: publishers who give it ad space and advertisers who pay for it. On the software side, five jobs have to work from the first campaign.
Programmatic selling means that buyers' software purchases ad space automatically, often in an auction that runs while the page loads. It can wait until your direct sales to advertisers leave space unsold. The connection then goes through an SSP, a platform that offers publishers' space to many buyers at once. On a rented ad server, that connection can be a paid add-on.
Vendors measure volume differently. AdButler's pricing page, read on 15 October 2026, sizes plans in ad requests, from “$179/month for 1M ad requests”. Epom's ad server pricing page, read the same day, counts impressions, from “$250 / mo” for “8.5M/mo display + mobile web impressions”.
Revive Adserver's hosted pricing page says “Each call to the ad server is a request” and that “these 'blanks' do count for the calculation of monthly costs”, so a call that returns no ad is still billed. Its “Super” plan is $100 a month for 10 million ad requests against $682 on AdButler's Standard plan, with different features in each.
Revive Adserver is also an open-source ad server you can install yourself. Its home page, read on 15 October 2026, says “Free to download, free to use.” and lists delivery rules “including frequency capping, URL targeting, geo-targeting”. The code on GitHub is published under the GNU General Public License, “either version 2 of the License, or (at your option) any later version.” You pay for the servers and the people who run them.
A rented ad server's bill grows with traffic. Write down the monthly ad requests you expect in month 12 and month 24 after launch. Price both at each vendor's published plan with the add-ons you need, and multiply each monthly bill by 12.
Against those yearly figures, set the cost of building your own. Spread the first version's price over the years you will use it, then add hosting, delivery of the ad files and the people who run and change the ad server. Ask each engineering firm to price those for the same two points, in writing. A licensed or open-source ad server is priced the same way, from its licence fee, if any, its servers and the people who run it.
On AdButler, the Standard plan starts at “$682/month for 10M ad requests” and the Advanced plan at “$2988/month for 50M ad requests”. API access, the interface other software uses to pull your data out, costs $550 a month on Standard and is “free of charge for advanced and enterprise plans”. Log-level data, which AdButler describes as “granular data about every single ad request”, costs $1,100 a month plus $0.015 per thousand on plans below a billion impressions, according to the add-on's price table. The page does not say whether that thousand counts ad requests or impressions, so the example below shows an ad for every request.
Say an invented network expects 8 million ad requests a month at month 12 and 40 million at month 24, with an ad shown for every request. Its first campaigns need country targeting, which on AdButler sits in the Complete Targeting add-on at $1,100 a month plus $0.005 per thousand, because the $275 Basic Targeting add-on leaves geographic targeting out. At month 12 it pays $682 for Standard, $550 for the API, $1,220 for log-level data and $1,140 for targeting, or $3,592 a month.
By month 24 it runs three ad spaces on each of 40 sites. AdButler calls each such space a zone, and 120 zones are more than the 100 that Standard allows. On Advanced the bill becomes $2,988 with the API included, $1,700 for log-level data and $1,300 for targeting, or $5,988 a month and about $72,000 a year. Bandwidth for ad files served from AdButler's delivery network is billed by use on top of these figures.
If the network also sells through an SSP, AdButler's programmatic add-on costs $110 a month plus $0.001 per thousand bids on Standard and on Essentials, the plan below it.
A plan limit can force a bigger plan before your traffic does. AdButler's Standard plan allows 50 advertisers and 100 zones, and Advanced allows 100 advertisers and 1,000 zones; Enterprise is priced “Contact Us”. Each plan price is marked “Starts at” for a volume of ad requests, so a plan can be bought for more traffic, but its zone limit stays the same.
Other signs are data you can get out only through paid add-ons, or a feature the vendor will not build, such as a payout rule your publishers ask for. Count the cost of leaving as well: every publisher has to replace the ad server's code on its pages, the snippets called ad tags.
If you rent now and may build later, ask for these terms in the first contract.
Switch on the record of every impression and click at launch, because it may not cover the months before you do. Kevel's documentation on data shipping, read on 15 October 2026, says the feature “delivers click, conversion, and impression data directly to an Amazon AWS S3 bucket”, a storage space on Amazon's cloud. It adds “We do not offer backfill of prior data.”
On AdButler's plan table, “Export to CSV” appears on every plan, and its note says it will “Convert the reports into CSV format”, so it covers reports rather than the record of every impression. Automatic export through the API costs extra on Standard and on Essentials.
Start the build with choosing the ad and counting, the first two jobs above, because every payout and invoice rests on those counts. Publisher and advertiser screens can follow on the same records. Keep buying what specialised vendors sell, such as traffic quality checks, the delivery network for ad files and payment services. Programmatic sales can stay with an existing SSP.
Move in stages. Shift part of the ad spaces to the new ad server, and every day compare its impressions, clicks and money with an independent count, such as the advertiser's own figures. Keep going until the two agree within a gap you set in advance. The article on ad reports that do not match bidder logs explains how to compare two sets of counts before you bill from the new one.
Reselling programmatically brings in two public files defined by IAB Tech Lab, a nonprofit standards body for digital advertising. The first, ads.txt, is a text file each publisher posts at the root of its website. According to the IAB Tech Lab page on ads.txt, read on 15 October 2026, publishers use it “to publicly declare the companies they authorize to sell their digital inventory.” Inventory here means their ad space.
When your network resells a publisher's space through an SSP, it holds an account at that SSP. The publisher's ads.txt then needs a line with the SSP's domain (field #1), your account ID (field #2) and the word RESELLER. Version 1.1 of the ads.txt specification, released in August 2022, says RESELLER means the publisher “has authorized another entity to control the account indicated in field #2 and resell their ad space via the system in field #1.” Plan a check in your software that every publisher's file carries the lines it should.
The second file, sellers.json, is published by the selling platform: the IAB Tech Lab page on sellers.json says “SSPs and exchanges would post their sellers.json files for buyers to review”. Under the sellers.json specification, your network's entry in the SSP's file should be INTERMEDIARY, the type for an account whose inventory “is not owned by the named entity or the advertising system does not pay them directly”. The type is BOTH if the same account also sells space on sites you own.
If buyers later connect to an ad exchange of your own, a platform that runs the auctions where ad space is sold, each publisher needs to list it in its ads.txt file. The sellers.json specification, dated July 2019 and still at version 1.0, says every advertising system listed in an ads.txt file “should publish a Sellers.json file”.
The article on DSPs, ad exchanges and ad networks lists general checks for any ad tech supplier. For an ad network, add these four.
amBrain builds ad servers: targeting, frequency capping and reporting. Two other lines on its list of services read: “amBrain builds supply-side platforms (SSP) for publishers.” and “amBrain builds event analytics pipelines for ad tech: collection, processing and reporting of impression and click events.”
amBrain has been building software since 2019. In AdTech, it works on DSP development, real-time bidding platforms, and ad exchange engineering, and RTBBidder is a demand-side platform amBrain built for a client. A demand-side platform (DSP) is software that buys ad space for advertisers.
amBrain works in three formats: full delivery, a dedicated team, or engineers embedded in your team. Its line on ownership is “The client keeps full ownership of the product and the code, except our reusable components.” Ask which components those are, by name, before you sign.
This article is not a case study: it describes no client's ad network and makes no claim that amBrain has built one. RTBBidder is named only as a DSP amBrain built, and the article does not say how amBrain answers the four checks above, so ask amBrain the same questions as any other firm. AdButler, Epom, Kevel and Revive Adserver are named as examples, and amBrain does not claim to have used, integrated, migrated from or partnered with any of them. The article gives no amBrain prices or timelines, and the traffic, site and frequency figures in the examples are invented.
Bring your current architecture and the failure mode that worries you, and we will go through it together in half an hour.