AdTech
Ad Server for Publishers and Marketplaces: Use Google Ad Manager, License One, or Build Your Own
Use Google Ad Manager if you sell banner or video space on your own sites and apps. Choose a hosted ad server if you need an API or a simpler tool, and build only when ads are part of your product and hosted APIs cannot apply your rules.
By amBrain12 min read
In this article
An ad server is the software that decides which ad fills a space on your site or app, then counts the result. You can use Google Ad Manager, pay for a hosted ad server such as AdButler or Kevel, run an open-source one such as Revive Adserver, or build your own. The choice depends mostly on whose rules pick the ad and who holds the raw records of what was shown. Google is also changing how Ad Manager counts banner ads from 17 February 2027, so publishers on it should check their impression-based contracts before then.
The short answer: use Google Ad Manager if you sell banner or video space on your own sites and apps and want Google's ad demand competing with your direct deals. A hosted ad server fits when you need an API or a simpler product, and self-hosted open-source software only if someone on your side will patch it and run it. Build when ads are part of your product, such as sponsored listings inside marketplace search, and the hosted APIs you tested cannot apply your rules. On every route, agree in writing whose count decides the invoice before the first campaign.
What does an ad server do?
Each time a page or app has an ad space to fill, it asks the ad server what to show. The ad server drops the ads that fail their targeting or have reached their frequency cap and picks one of the rest by priority and price. It then records the impression, which is one ad counted as delivered once. That record becomes the report a publisher sends to advertisers, and often the basis of the invoice.
Google Ad Manager gives each type of line item (one booking inside the ad server) a priority number, and its help page says “The lower the number, the higher the priority.” A Sponsorship line item, sold as a share of traffic, sits at 4. Standard ones, sold as a set number of impressions, get 6, 8 or 10, and House ones, which carry your own promotions, get 16. All sources in this article were opened on 9 November 2026.
How is an ad server different from an SSP or a DSP?
A demand-side platform (DSP) buys ad space for advertisers, and a supply-side platform (SSP) offers a publisher's ad space to many buyers at once. The ad server sits closest to the publisher and, in most setups, has the last word on a given space, including deals your own salespeople signed with advertisers.
In header bidding, the page asks several SSPs for bids and then calls the ad server. Prebid.org, which publishes free header bidding software, says it is “most often used as a header bidding library”, and describes that setup this way: “Prebid collects bids before the ad server is called, and the ad server makes the final decision.” It adds that Prebid can also act as the decision layer on the page and choose the winning ad itself. Ad Manager lets buyers from Google's own auctions compete with your other bookings on CPM, the price for a thousand impressions. Its help page says Ad Exchange or AdSense “will only deliver if they can offer a higher CPM than your other Ad Manager line items”.
Advertisers often run a second ad server of their own to track where their ads ran, so one campaign usually produces two sets of numbers. One example is Google's Campaign Manager 360, which its help page calls “a web-based ad management system for advertisers and agencies.”
What do targeting, frequency caps and pacing do?
- Targeting decides who can see an ad. Rules usually use country, device and section of the site, plus audience lists you hold. A marketplace may target by search term or product category.
- Frequency caps limit how often one person sees an ad. Ad Manager's help page says: “If a time-based cap is set without an available identifier, the line item is not eligible to serve.” It also “applies frequency caps based on code served by default”, which is when the ad code goes out, whether or not the ad appeared.
- In the EU, caps also depend on consent. Kevel's documentation says “Under GDPR, frequency capping is not enabled for European Union ad viewers unless tracking consent is passed in the request.”
- Pacing spreads a booking across its dates. Ad Manager “determines delivery pacing for the line item to ensure it meets its goal”. Its Evenly setting applies a 5% parameter, so a goal of 1,000 impressions a day aims for 1,050 on the first day.
- When a cap or a pacing goal behaves oddly, you need the raw events to see why, so ask what is logged for each impression and for how long.
What are the four ways to get an ad server?
- Google Ad Manager. Google runs the software, and you set up ad spaces and bookings in its interface.
- A hosted ad server. A vendor such as AdButler, Kevel, Broadstreet or Equativ runs the software and charges a monthly fee, by ad requests or under a contract.
- An open-source ad server. You install software such as Revive Adserver on your own servers and keep it running.
- Your own ad server. Your developers, or a firm you hire, write the system that makes the decision and counts the result.
Is Google Ad Manager free, and what do we give up by using it?
Ad Manager's free version costs nothing up to a monthly limit set by where the publisher is located, and it puts direct deals and Google's own ad demand in one decision. Google's billing page gives 90 million non-video impressions for publishers located in the United States, Canada, Australia and New Zealand. The figure is 200 million in a long list of countries that includes the United Kingdom, Germany and India, and 150 million elsewhere. Video ad units have “a limit of 800,000 impressions per month regardless of location.” Outside app and video inventory, when you use Google Publisher Tag, “Ad Manager bills both filled and unfilled impressions”, and Google says letting Ad Exchange or AdSense compete can “ensure that impressions monetized by Ad Exchange or AdSense are not billed.”
Above those numbers, Google requires publishers “to enter into a paid contract”. A publisher that keeps exceeding the limits without adding a payment method can be moved to read-only mode, the billing page says. It can later be suspended, “at which point your ad serving may cease.” Google says the Billing section of your Ad Manager account shows the rate cards for your region, so read them before you cross the limit.
You also give up some control:
- Raw records cost extra and expire. Ad Manager's Data Transfer files “provide non-aggregated, event-level data from your ad campaigns”. They “come at an additional cost”, and “Data Transfer files older than 60 days are purged from Ad Manager.” Copy them to your own storage on a schedule.
- Google sets the rules for picking and counting ads. Type and priority are “only one factor in ad selection”, and Google's system makes the rest of the decision. The counting method changes in February 2027.
- Leaving takes work. Your bookings and ad spaces live in Ad Manager and have to be set up again somewhere else, and the ad code on your pages has to be replaced.
What do the Google antitrust cases change for publishers?
For a publisher choosing an ad server, the practical question is whether and when rival ad servers get bids from AdX, Google's ad exchange. The European Commission's press release of 5 September 2025 announced a €2.95 billion fine against Google, naming “Favouring its own ad exchange AdX in the ad selection process run by its dominant publisher ad server DFP”. Google said on 14 November 2025 that it disagrees with the decision “and will appeal.” AdExchanger describes DFP and AdX as bundled into Google Ad Manager. The US Justice Department said on 17 April 2025 that a federal court had held that Google “violated antitrust law by monopolizing open-web digital advertising markets”.
PPC Land reports that on 2 September 2026 the US judge ruled that Google “will not be required to sell its AdX exchange or its DFP publisher ad server”. AdExchanger reported on 16 September 2026 that “AdX must also submit real-time bids to rival publisher ad servers on the same terms it gives DFP”. On 2 October 2026 the two sides filed a proposed final judgment with their disagreements still marked in it. AdExchanger reported on 5 October 2026 that the Justice Department wants the link to rival ad servers within six months of the order taking effect and Google wants twelve, and that once the judge signs, “a 60-day clock will start before anything takes effect”. A public copy of the court docket, last updated on 29 October 2026, lists no later filing. Digiday reports that Google intends to challenge the liability decision.
When does a hosted ad server fit better?
A hosted ad server fits better when Google's product is more than a small sales staff needs, or when your developers want to place ads through an API. At the small end, Broadstreet's home page calls it “The Ad Manager for Small Publishers”, and its pricing page gives a starting price of $299 a month. Ask to see a report you would actually send to an advertiser.
Compare prices with the add-ons included. AdButler's pricing page sizes plans by ad requests and sells several features separately. Targeting is listed as an add-on from $275 a month plus $0.005 CPM, and Log Level Data, “granular data about every single ad request”, from $1,100 a month plus $0.01 CPM.
Kevel works differently. It is sold as an API, a way for your own software to call another company's, so your developers call it from your pages and apps. Its home page says “Kevel is API-based so everything is completely flexible to suit your user experience.” The same page lists Kevel Console, which it says “makes it easy for advertisers to plan, buy and manage their own campaigns”, so ask which screens come with the product and which your team must build.
Kevel calls itself a “commerce media platform” and has sections for retailers, marketplaces, fintechs, travel brands and delivery apps, so a news or content publisher should ask whether it fits. No prices appear on that page, so expect a sales conversation.
A vendor can also run an SSP beside the ad server. Equativ's publisher page lists the two together in its connected TV product. Ask how they are kept separate, and check the answer against your own numbers.
When does an open-source ad server make sense?
An open-source ad server makes sense when you already have staff who can look after it. Revive Adserver's home page says “Free to download, free to use.” Its GitHub repository shows the “GPL-2.0 license”.
Revive's security page lists three advisories so far in 2026, the latest dated 25 June 2026. Someone has to apply each update and keep the servers up during traffic peaks. If nobody on your side will do that, Revive's site offers a Hosted edition “with costs as low as $10 per month”. The hosted vendors above are the other choice.
Should we build our own ad server?
Yes, if the ad decision is part of your product, as in a marketplace that shows sponsored listings inside search results. The ad and the organic result rank together there, so the decision has to use your own relevance data. Any one of these can also justify a build:
- Your ad space is unusual, such as screens in your own venues or slots inside a booking flow, and the products you tested cannot count it the way your advertisers need
- Contracts or data rules keep the information behind each decision inside your own systems
- For ads inside your own product, fees at the volume you expect in two years would cost more than a team to run your own system, with on-call work and audited reports included
Sponsored listings also have a middle route. Kevel's documentation describes a pattern it calls Auction-as-a-Service, “where you determine which products or listings are eligible to be shown, and Kevel runs the auction, pacing, budgeting, frequency capping, and tracking against that set.” The article on retail media networks covers that setup.
Read next
Avoid building to save a licence fee on ordinary website display and video ads. You would be rewriting the direct sales workflow, pacing, forecasting and the reports advertisers challenge, and you would still need a way to reach ad exchanges. A counting dispute is a poor reason too, since a new system adds one more number to compare. Browser and privacy changes also keep arriving after launch, and each one needs someone on your side to handle it.
Why do impression counts differ between ad servers?
Two companies count the same campaign with different systems, at different moments. The reference point is the Desktop Display Impression Measurement Guidelines from the Interactive Advertising Bureau (IAB) and the Media Rating Council (MRC), version 7.1 of October 2017. They say “The ad must be loaded and at minimum begin to render in order to count it as a valid ad impression.” Counting at the moment the page is served is “not acceptable for counting ad impressions”.
Those guidelines leave open whether anyone could see the ad, and they say begin-to-render “does not require any portion of the ad to be visible or displayed on screen.”
Viewability is a separate measure. The MRC's Viewable Ad Impression Measurement Guidelines for desktop, version 2.0 of August 2015, count a display ad as viewable when at least 50% of its pixels are in view for one continuous second, or 30% for display ads of 242,500 pixels or more. A video ad needs 50% in view for two continuous seconds. The MRC has separate guidelines for mobile. Agree which of the two your contract sells.
Google's help page on report discrepancies lists common causes, and they apply on any route:
- Counting rules differ. “Ad servers have different methods for counting impressions and filtering invalid impressions.” Invalid impressions come from bots and other traffic that should not be billed.
- The creative, which is the ad file itself, takes time to appear. “Lag between an initial line item request and the appearance of the creative can lead to different counts.”
- Ad blockers can stop an ad “after Ad Manager has already counted an impression.”
- Reports have to cover the same dates and the same time zone before you compare them.
- On a small campaign, a few impressions can look like a large gap. “A small numerical discrepancy can cause a high percentage discrepancy if the line item delivered few total impressions.”
The same page says that when an ad server delivers line items hosted by a third party, “campaign variances of up to 20% are common”. With the Campaign Manager 360 tag creative type, it says “Ad Manager coordinates impression counting to reduce discrepancies within 2%.” Campaign Manager 360's own help page gives the same range: “Discrepancies of up to 20 percent are considered normal.”
What changes when Google switches to begin-to-render in February 2027?
From 17 February 2027, impression measurement for display inventory in Ad Manager and AdSense “will switch from the count-on-download (COD) to begin-to-render (BTR) methodology”, according to Google's help page. Count-on-download records an impression when an ad starts to download. Begin-to-render waits until the creative has loaded and started to render. Native, app and video inventory already comply, so the change covers banners on web, mobile web and connected TV.
Google warns “you may notice a decrease in total display impressions”. The same traffic will then give you fewer impressions to sell. A booking for a set number of impressions will use more of your traffic to reach its goal, and it can fall short where space is tight. Before you renew any impression-based contract, run the report Google suggests, which compares your ad server impressions with begin-to-render impressions, starting after 12 August 2026.
The change should narrow gaps with buyers, since Google says it “is designed to reduce discrepancies with the impressions counted by your advertiser partners and third-party measurement providers”. If you use another ad server, ask its vendor which method it counts by today.
Whose number decides the invoice?
The contract decides. The IAB published new terms for direct ad buys in May 2026, and its Direct Buy Addendum version 1.0 says the parties “shall designate the Controlling Measurement in the Order”. If an order names none, “the Ad server or measurement system that renders the Ad shall serve as the Controlling Measurement for reconciliation and billing purposes”, unless the parties agree otherwise in writing.
The older Standard Terms and Conditions from the 4A's and the IAB, version 3.0 of 2010, are still online and cover media buys of one year or less. Section XIII of that template gives the “Controlling Measurement” to an ad server certified as compliant with the industry measurement guidelines. If both are compliant, the advertiser's third-party ad server controls, provided it gives the publisher an “automated, daily reporting interface”. If neither is compliant, or that condition cannot be met, the publisher's ad server controls unless the parties agree otherwise in writing.
Both templates start a reconciliation when the counts differ by more than 10% over the invoice period and the controlling count is the lower one. They differ on what happens next. Under version 3.0, if reconciliation fails, the agency can treat the gap as under-delivery or pay on the controlling count “plus a 10% upward adjustment to delivery.” The 2026 addendum has no fixed figure: the parties may agree an adjustment, use the other count, or treat the gap as under-delivery. Your own contract may say something different, so name the controlling count in every order and check that the ad server you pick can produce the reports it expects.
What should we ask a vendor or a firm that would build it?
- At what moment does your system count an impression, and does that follow the IAB and MRC guidelines for each format we sell?
- Has an outside body audited your counting, and can we see the current report?
- Can we export event-level records, at what cost, and how long do you keep them?
- What does a frequency cap do when a person has no identifier or has not given consent?
- How do you filter invalid traffic, and how would we see what was removed?
- If you also run an SSP or sell ad demand, how do you keep that business from influencing which ad wins?
- Can you show this working on a live site or app today?
Where does amBrain fit?
amBrain publishes this blog and offers this kind of work. In its own words: “amBrain builds ad servers: targeting, frequency capping and reporting.” A second line concerns the counting side: “amBrain builds event analytics pipelines for ad tech: collection, processing and reporting of impression and click events.”
amBrain has been building software since 2019. On how it works with clients, it says: “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 for the list of those components by name before you sign.
This article is not a case study and describes no client work. The lines above name no client, and nothing here says that amBrain built an ad server for any company. The article gives no amBrain prices or timelines and claims no relationship with any vendor it quotes. Google, Prebid.org, Equativ, Broadstreet, AdButler, Kevel, Revive Adserver, the IAB, the MRC, the 4A's, the European Commission and the US Justice Department are cited from their own pages, the court filing from a public copy of the docket, and PPC Land, AdExchanger and Digiday as press reports.
It is not legal advice either. Have a lawyer read vendor contracts and advertising terms, and check where the Google cases stand, before you sign. If amBrain is on your shortlist, ask it the same questions as any other firm.
Topics
- Ad Server
- Google Ad Manager
- Impression Counting
- Build or Buy