Open Source Ad Server
An ad server is the quiet control point most publishers ignore until they have handed it to someone else. It decides which ad renders, to whom, and - just as important - who gets to learn from the outcome. Give that job to a third-party platform and you hand over your audience data along with the impression, because every served ad teaches whoever runs the server something about your readers. Running your own ad server keeps delivery, targeting, and reporting on your side of the exchange, so the behavioral signal your inventory generates stays yours. For a publisher who cares about reader privacy, or who wants an auditable trail behind every billed impression, that ownership is the entire point of self-hosting.

Revive Adserver
Open source ad serving system for running campaigns, targeting ads, and tracking results

Ethical Ad Server
Advertising server without tracking, built for image, text, and targeted developer ads
OpenAdServer
Open source ad serving platform with machine learning powered CTR prediction and self-hosted deployment
Our picks
Three servers for three different jobs, from a proven direct-sold generalist to a privacy-first niche and an experimental network engine.
Best for direct-sold publishers: Revive Adserver Revive Adserver is the mature choice for serving ads on your own sites and managing campaigns booked from advertisers and ad networks. It handles campaign management, click-through-rate reporting, and delivery rules that control when and to whom ads show, with GeoLite2 geotargeting. It is GPL-licensed and self-hosted from release packages, and a hosted edition exists if you would rather not run and maintain the delivery stack yourself.
Privacy-first, tracking-free ads: Ethical Ad Server Ethical Ad Server, built by Read the Docs to power the EthicalAds network, serves image, image-plus-text, and text-only ads with no behavioral tracking. It honors DoNotTrack, is designed to be GDPR ready, includes ad-fraud prevention, and reports by campaign, flight, or individual ad. Targeting stays coarse - country, state or province, and device type - which fits publishers whose audiences expect their reading not to be profiled.
Experimental ML-driven network engine: OpenAdServer OpenAdServer is a young, self-hosted platform for developers building their own ad network without Google-scale infrastructure. It exposes an HTTP ad-serving API with eCPM ranking across CPM, CPC, and CPA, frequency capping, impression-click-conversion tracking, and DeepFM click-through prediction, monitored through Prometheus and Grafana. Treat it as early-stage: an admin dashboard and OpenRTB support are still on the roadmap, so it rewards teams comfortable operating a FastAPI and PyTorch stack.
Matching the server to what you actually sell
Inventory type should decide the shortlist, because these three tools aim at genuinely different jobs. Revive Adserver is the mature generalist for publishers running direct-sold campaigns from advertisers and ad networks, with campaign management, delivery rules, and click-through reporting built over more than a decade. Ethical Ad Server takes a narrower, opinionated line: image and text ads served without user tracking, DoNotTrack honored, and GDPR readiness built in, which suits a publisher whose audience expects privacy. OpenAdServer is the newest and most experimental, an HTTP API with machine-learning click-through prediction, aimed at developers building a small ad network rather than trafficking sponsorships through a polished interface.
Weigh serving latency and how impressions are counted, since both shape billing and trust. A direct-sold display publisher can live with a simpler decision engine than a network juggling geo, device, and frequency across many advertisers. Ethical Ad Server and Revive both handle geotargeting through MaxMind or DB-IP GeoLite2 data, and OpenAdServer targets by geo, device, and demographics as well, but they diverge sharply on maturity: OpenAdServer still lists an admin dashboard and OpenRTB support as roadmap items, so if you need programmatic demand or a finished trafficking UI today, it is not there yet. The other two ship working reporting by campaign, flight, or individual ad.
This is a small, curated set rather than a full survey of ad tech, so weigh reporting and exit access early. Reporting becomes the basis for billing and dispute resolution, so confirm you can reach campaign, line-item, and event data rather than only a dashboard. All three self-host and store data in ordinary databases you can back up, and Revive additionally offers a hosted edition if you would rather not download, configure, and maintain delivery infrastructure yourself.
Related categories
Frequently asked questions
Which of these fits direct-sold campaigns versus a programmatic network?+
Revive Adserver is the direct-sold workhorse, with campaign management, delivery targeting rules, and click-through reporting for booking ads from advertisers and networks. OpenAdServer aims at running your own small network, with eCPM ranking across CPM, CPC, and CPA and machine-learning click prediction, though real-time bidding is still on its roadmap. Ethical Ad Server is narrower again: privacy-first image and text ads rather than a general campaign manager.
Can I run an ad server without tracking my readers?+
Yes, and Ethical Ad Server is built specifically for that. Created by Read the Docs to run its own developer-focused ads, it serves image, image-plus-text, and text-only creatives with no behavioral tracking, honors DoNotTrack, and is designed to be GDPR ready. Targeting works from coarse signals like country, state, and device type rather than a personal profile, which is the whole reason a privacy-minded publisher would choose it.
Do any of these support programmatic or OpenRTB demand?+
Not really, yet. These projects are built mainly for direct trafficking rather than real-time bidding. OpenAdServer names OpenRTB support as a roadmap item, meaning it is planned rather than shipped, and neither Revive nor Ethical Ad Server is a programmatic exchange out of the box. If auction-based demand is central to your revenue, treat that as a gap to test carefully before you commit to any of them.
How do these handle geotargeting?+
Revive Adserver and Ethical Ad Server both rely on MaxMind GeoLite2 data, with Ethical Ad Server also supporting DB-IP as a source, to target by country and region. OpenAdServer targets by geo along with device and demographics. Remember that GeoLite2 databases need periodic updates to stay accurate, so factor that maintenance into whichever you run if location targeting drives your pricing.
What machine learning does OpenAdServer use, and do I need it?+
OpenAdServer predicts click-through rate with DeepFM and logistic-regression models and ranks ads by eCPM, using PyTorch under a FastAPI service with Prometheus and Grafana for monitoring. That is powerful for optimizing fill across a real network, but it is overkill for a site running a handful of direct sponsorships, and it adds real operational weight. Match the complexity to whether you are truly running a network.
How is delivery reported, and can I reconcile it for billing?+
Reporting is where accuracy matters most, since it drives invoices and disputes. Ethical Ad Server reports by campaign, flight, or individual ad and includes ad-fraud prevention, and Revive tracks click-through rates across campaigns. Confirm when impressions are counted and whether you can export event-level data, not just aggregate dashboards, because billing reconciliation and warehouse analysis both need the raw numbers behind the charts.
What happens if one of these projects slows down or is abandoned?+
Keep an exit plan before you need it: regular config exports, database backups, and standard delivery tags so inventory can move elsewhere. All three self-host on ordinary databases, which keeps your data reachable. The risk is uneven, though - Revive Adserver has a long history and a hosted edition to fall back on, while a young project like OpenAdServer carries more uncertainty. Aim for a setup where ads keep serving while you evaluate a replacement.