Overview
Discover what makes Revive Adserver powerful
Revive Adserver is a mature, open‑source ad‑serving engine written in PHP that powers publishers, ad networks and advertisers worldwide. From a developer’s perspective it is essentially a *stateless HTTP service* that receives ad‑request payloads, performs targeting and bidding logic against a relational database, then returns the selected banner or blank response. The core flow is: **tag → request → targeting rules → database lookup → banner delivery**. This architecture keeps the runtime lightweight, allowing it to run on any LAMP stack while still supporting complex targeting such as frequency capping, geo‑location (via MaxMind GeoLite2), URL and device rules.
Targeting & Rules Engine
API & Webhooks
Extensibility
Reporting
Overview
Revive Adserver is a mature, open‑source ad‑serving engine written in PHP that powers publishers, ad networks and advertisers worldwide. From a developer’s perspective it is essentially a stateless HTTP service that receives ad‑request payloads, performs targeting and bidding logic against a relational database, then returns the selected banner or blank response. The core flow is: tag → request → targeting rules → database lookup → banner delivery. This architecture keeps the runtime lightweight, allowing it to run on any LAMP stack while still supporting complex targeting such as frequency capping, geo‑location (via MaxMind GeoLite2), URL and device rules.
Key Features
- Targeting & Rules Engine – Campaigns, ads and zones can be constrained by a rich set of rules (frequency caps, day‑parting, geo, user agent, referrer). Rules are stored as serialized PHP objects in the database and evaluated on each request.
- API & Webhooks – A REST‑style API exposes CRUD operations for advertisers, campaigns, zones and statistics. Webhooks can be configured to notify external systems on events like impressions or clicks.
- Extensibility – The plugin architecture allows developers to hook into request handling, reporting and UI rendering. Custom plugins can add new targeting criteria, integrate with third‑party analytics or replace the default UI components.
- Reporting – The built‑in reporting engine aggregates data in real time and can export CSV, PDF or JSON. Developers can query the
statstables directly for custom dashboards.
Technical Stack
| Layer | Technology |
|---|---|
| Runtime | PHP 7.4+ (object‑oriented, MVC pattern) |
| Web Server | Apache/Nginx with PHP-FPM |
| Database | MySQL/MariaDB (optional PostgreSQL via community patch) |
| Cache | Optional Redis or Memcached for session and targeting cache |
| Geo‑Targeting | MaxMind GeoLite2 database (free) |
| Front‑end | Vanilla JS + Bootstrap 4 for admin UI |
The codebase follows PSR‑4 autoloading and uses Composer for dependency management, making it straightforward to add third‑party libraries or replace the default templating engine.
Deployment & Infrastructure
Revive Adserver is designed for self‑hosting. A single PHP worker can serve thousands of requests per second when paired with a read‑replica database and a CDN that caches static assets. For high availability, the application can be deployed behind a load balancer with sticky sessions (or session‑replication via Redis). Containerization is well supported; official Docker images are available, and the project’s docker-compose.yml demonstrates a ready‑to‑run stack with MySQL, PHP-FPM and Nginx. Kubernetes deployments are also common in enterprise environments.
Integration & Extensibility
- SDKs – PHP SDK for generating tags and managing inventory programmatically.
- Event Hooks – Trigger custom scripts on impression, click or conversion events.
- Custom Targeting Plugins – Implement new targeting logic (e.g., machine‑learning scoring) by extending the
Targetinginterface. - API Clients – REST endpoints expose all CRUD operations; OAuth2 support is available in newer releases.
These hooks allow developers to embed Revive into existing ad‑tech pipelines, feed data back to DSPs, or automate campaign creation from external systems.
Developer Experience
The project is documented in Markdown and a dedicated developer guide on the website. Configuration is driven by config.php and .env files, making it easy to switch environments. The community is active on GitHub issues and a mailing list; most bugs are addressed within days, and pull requests for new plugins or features are accepted. Licensing under GPLv2+ ensures no cost barrier and guarantees that enhancements remain open source.
Use Cases
- Self‑hosted Ad Network – Run a full‑featured network that accepts campaigns from multiple advertisers, applies sophisticated targeting, and reports metrics internally.
- Enterprise Publisher – Replace a commercial ad server with an open‑source alternative while retaining full control over data and custom targeting rules.
- Hybrid Mobile/Web Advertising – Serve ads to web, native apps and video players via a single tag endpoint, with per‑platform targeting.
- Data‑Driven Campaign Automation – Use the API to feed campaign data from a BI system, auto‑generate tags and schedule campaigns programmatically.
Advantages
- Cost & Flexibility – Completely free, no vendor lock‑in; developers can modify core logic or UI to match brand guidelines.
- Performance – Lightweight PHP code, minimal dependencies; with caching and CDN it scales to millions of requests.
- Extensibility – Plugin system and REST API make it easy to integrate with external DSPs, analytics platforms or custom targeting engines.
- Community & Support – Active GitHub repo, comprehensive documentation, and a mailing list provide rapid assistance.
For developers who need full control over ad delivery logic, data ownership, and the ability to extend or customize every layer of the stack, Revive Adserver offers a compelling, open‑source alternative to proprietary ad servers.
Open SourceReady to get started?
Join the community and start self-hosting Revive Adserver today
Related Apps in other
Immich
Self‑hosted photo and video manager
Syncthing
Peer‑to‑peer file sync, no central server
Strapi
Open-source headless CMS for modern developers
reveal.js
Create stunning web‑based presentations with HTML, CSS and JavaScript
Stirling-PDF
Local web PDF editor with split, merge, convert and more
MinIO
Fast, S3-compatible object storage for AI and analytics
Weekly Views
Repository Health
Information
Tags
Explore More Apps
Limbas
Low‑code database framework for rapid business apps
ExpenseOwl
Simple self-hosted expense tracker with monthly pie charts
HeyForm
Build conversational forms without code
ezBookkeeping
Personal finance made simple and self‑hosted
Routr
Cloud‑native SIP proxy, registrar and location server
ioBroker
IoT integration platform for smart homes and automation