Resources

CTV ad servers compared (2026): GAM, FreeWheel, SpringServe, Publica and GoGo CTV

Four ad servers carry most of the world's streaming ad breaks. On the core job, deciding which ads fill a pod and stitching them in, they and we do the same things. Where they differ is who owns them, what else that owner sells into your auction, and how you pay. This is the side-by-side, sourced and dated, with a worked model of what the fee structure costs as you grow.

Nick Stark · GoGo CTV

The short answer

The four biggest CTV ad servers are Google Ad Manager (Google), FreeWheel Streaming Hub (Comcast), SpringServe (Magnite) and Publica (IAS, itself owned by Novacap since December 2025). All four do unified auctions, pod construction and the standard protocol set, and so do we. Three of the four are owned by a company that also sells demand into the auction the ad server runs; the fourth is owned by a verification vendor whose customers are buyers. None of them publishes a price.

GoGo CTV is an independent ad server sold as a software licence with no percentage of media. On capability we match the core functions line by line below. On cost we cannot tell you we are cheaper, because we do not have their rate cards and neither do you until you ask. What we can show is the arithmetic: a fee taken as a percentage of media or per impression grows with your revenue, a licence does not, and there is a crossover above which the licence wins. The model further down lets you find yours.

Capability, side by side

Every row is sourced to the vendor's own documentation or a dated primary source; where we could not find a public statement we say so rather than guess. Our column reflects what we ship today and is internally measured, not audited.

DimensionGoogle Ad ManagerFreeWheelSpringServePublicaGoGo CTV
Owner Google Comcast. NBCUniversal and Sky are being spun off (announced June 2026); FreeWheel's post-spin home is reported, not yet officially stated Magnite, a supply-side platform IAS, a verification vendor, taken private by Novacap in December 2025 Independent
Owner sells demand into your auction Yes: Ad Exchange and Google Ads. A US court found Google kept a 20% take rate on AdX for over a decade Yes: the FreeWheel marketplace and SSP Yes: the ad server and Magnite's streaming SSP were unified into one product in 2025 No. IAS does not sell demand No
Unified auction, direct + programmatic Yes: optimized pods with Open Bidding and Ad Exchange Yes, since 2020 Yes: BidLink (2022), then the unified platform (2025) Yes: price-based auction between SSPs and direct campaigns Yes: per-impression auction across direct, programmatic and house demand
Pod-level decisioning, OpenRTB 2.6 pod bidding Optimized pods fill the break, but Google's own help says separate bid requests exist for each pod position; true multi-ad pod bidding not documented Yes: an early adopter of OpenRTB 2.6; A+E reported 84% fewer ad-server requests with pod-level auctions (March 2026) ML-powered ad podding launched October 2025; explicit OpenRTB 2.6 support not stated in the announcement Yes: unified auctions built on OpenRTB 2.6 (Samsung Ads renewal, September 2025) Yes: the break is decided as a whole; OpenRTB 2.6 pod requests to programmatic demand
Server-side ad insertion, operated by the vendor Yes: Dynamic Ad Insertion, available to Ad Manager 360 publishers with an advanced contract No first-party SSAI found; FreeWheel certifies third-party SSAI providers No first-party SSAI; decisions into third-party stitchers Yes Yes: manifest-level SSAI for live, linear and VOD
Competitive separation and frequency caps across all demand Competitive exclusions across most channels; pod-level same-category exclusion for video is in beta Yes: exclusivity rules and up to three frequency caps per placement (ten with advanced identity) Yes: rules applied in the unified auction; global frequency-cap pixels Yes: pod-level and session-level frequency capping, competitive separation Yes: separation, caps, duration fitting and sponsorship positions solved at pod level
Direct campaign management Yes: full line-item, forecasting and Ad Rules stack Yes: built for broadcaster sales, including rights management Yes: centralized deal management for direct and programmatic Yes: Campaign Manager for direct delivery Yes: priority, pacing, guarantees, separation, caps
Log-level export Data Transfer files, at additional cost; most data lands 5 to 15 hours after the hour; purged after 60 days Reporting APIs documented; raw log-level export for publishers not publicly documented Yes: 92-field log-level data documented; delivery and cost not stated Live Logs for real-time auction transparency; bulk export not publicly documented Yes: every auction event, exportable, as a contractual right
Reporting freshness Real-time video report in beta at about 15 minutes (25+ for SSAI); standard reporting within 4 hours Not publicly specified Real-time reporting cited by third-party review Real-time reporting cited in customer announcements Sub-minute, impression-level
How you pay Free to 800,000 video impressions a month; Ad Manager 360 on negotiated CPM fees with minimums; DAI needs the advanced contract Not published; enterprise contracts Not published; Magnite's revenue is generally a percentage of ad spend through its platform Charges per ad impression, no upfront cost Software licence. No percentage of media, no per-impression fee
Operating history Longest; the court found DFP holds over 90% of the publisher ad server market Long; the incumbent for broadcasters Long-established as an independent; part of Magnite since 2021 Long-established as an independent; part of IAS since 2021 Shortest. We are the newer entrant

Sources, verified 12 September 2026. Google: optimized pods, DAI availability, competitive exclusions, Data Transfer, real-time video report, free-tier thresholds, and the April 2025 liability ruling in US v. Google (behavioral remedies accepted, divestiture rejected, 2 September 2026). FreeWheel: unified decisioning (2020), A+E pod bidding results (2026), Placement API, SSAI partner certification, Comcast's June 2026 spin-off announcement. SpringServe: BidLink (2022), unified platform (2025), ML podding (October 2025), log-level data fields, third-party SSAI. Publica: egta Tech Hub profile (capabilities and per-impression pricing), Samsung Ads renewal (September 2025), Hearst deployment, Novacap completion. GoGo CTV figures are from our product page and are internally measured. Vendors change products and terms often; verify before you sign anything, including with us.

What the owner sells is the real difference

Feature lists in this category have converged. What has not converged is the incentive structure behind each product, and that is what shapes your yield over a multi-year contract.

  • Google Ad Manager is the ad server and the largest exchange in the same company. That brings unmatched demand and a documented conflict: in April 2025 a US federal court found Google had unlawfully tied its exchange to its ad server and monopolised both markets. In September 2026 the court rejected a forced divestiture and imposed behavioral remedies instead, so the structure stays and the rules around it change. Details in our Google Ad Manager comparison.
  • FreeWheel was built for broadcasters and is still the best fit for rights-managed linear-plus-streaming inventory. Its owner is mid-restructuring: Versant spun off in January 2026, and Comcast announced in June 2026 that NBCUniversal and Sky will follow. Where FreeWheel lands is reported as "stays with Comcast" but has not been stated officially, and FreeWheel's largest in-house customer is about to be a separate company. Details in our FreeWheel comparison.
  • SpringServe and Magnite's streaming SSP became one product in 2025, and Magnite describes SpringServe as the "operating system for CTV monetisation" that is now embedded in all of its platforms. That is efficient if Magnite is your main demand path; if it is not, the decisioning layer is owned by one of the bidders. Details in our SpringServe comparison.
  • Publica is the one whose owner does not sell demand, and native IAS verification is a genuine advantage for publishers whose buyers require it. The trade-off is that the owner's customers are buyers, the roadmap has changed hands twice since 2021, and serving and verification arrive in the same relationship. Details in our Publica comparison.
One question that sorts the field

"When my direct campaign, your owned demand and a third-party SSP all want the same slot, which system decides, on what rule, and where do I see the log?" Three of the four vendors above have an owned-demand answer to give. We do not, and neither does Publica.

Where each incumbent is the stronger choice

A comparison that concludes "pick us" in every case is not a comparison. These are the cases where we would tell you to stay put.

Choose an incumbent if

  • Google demand is most of your revenue and you want the shortest path to it. That is Google Ad Manager, and the free tier makes it the cheapest option for a very small publisher.
  • You sell rights-managed premium broadcast inventory with linear clearance obligations. That is FreeWheel, and it has been for well over a decade.
  • Magnite is your primary exchange and one contract, one integration and one login are worth more to you than a neutral referee. That is SpringServe.
  • Your buyers require native IAS verification in the ad server itself. That is Publica.
  • You need a decade of reference customers at your exact scale. All four have them. We are younger and will not pretend otherwise.

Talk to us if

  • You run several demand partners and want the auction decided by a system with no stake in which one wins.
  • Your revenue has grown to where a percentage-of-media or per-impression fee is a line item you notice, and you would rather pay a flat licence.
  • FAST or AVOD pod construction is where your money leaks, and you want it solved at break level.
  • You want per-impression auction traces and full export as a contractual right, not a support ticket.
  • You want SSAI and decisioning from the same vendor without buying an enterprise contract to get it.

What the fee structure costs as you grow: a worked model

None of the four publishes pricing, so this section is a model, not a measured customer result. It takes the two commercial structures that appear in public sources, a fee that scales with volume and a licence that does not, and shows what each costs at different revenue levels. The percentage rates are illustrative; the point is the shape of the curve, not the specific numbers.

Two public anchors set the range. A US court found Google's exchange took 20% of media for over a decade, and Google's own 2020 figure was that publishers kept "over 69%" when Google's buy side bought through Ad Manager. Magnite describes its revenue as generally a percentage of ad spend through its platform. Ad-serving fees charged per impression are lower than exchange take rates but scale the same way. So the table runs from 3% to 15% of media.

Annual streaming ad revenueFee at 3% of mediaFee at 5%Fee at 10%Fee at 15%Flat licence
$1M$30,000$50,000$100,000$150,000Fixed
$3M$90,000$150,000$300,000$450,000Fixed
$5M$150,000$250,000$500,000$750,000Fixed
$10M$300,000$500,000$1,000,000$1,500,000Fixed
$25M$750,000$1,250,000$2,500,000$3,750,000Fixed

Read it this way. Whatever a flat licence costs, there is a revenue level at which a percentage fee crosses it, and above that level every incremental dollar of revenue costs you more under the percentage model. The crossover is simply the licence divided by the fee rate: a licence that costs the same as 5% of $3M in media is cheaper than that 5% fee at every revenue level above $3M, and more expensive below it. Ask both of us for a quote, put the numbers in the top row, and the table tells you which side of the crossover you are on.

Where the model is honest about us losing

Below the crossover the percentage model is cheaper, and a publisher inside Google Ad Manager's free tier (800,000 video impressions a month) pays nothing for ad serving at all. If that is you, stay there until your volume moves you out of it. A licence is a growth bet: it pays off once volume exceeds the crossover, and it aligns our revenue with your renewal rather than with your spend.

Public anchors for the rates: the April 2025 ruling on Google's 20% AdX take rate, Google's 2020 revenue-share disclosure, and Magnite's Q4 2025 earnings call on CTV take rates. None of these is an ad-serving rate card, and the table is not a claim about any vendor's actual fees. Our licence pricing is quoted per publisher and is not published here.

"Same or better": what we mean and what we do not

On the six functions that make up ad serving for streaming, we match the incumbents: unified auction, pod-level decisioning with OpenRTB 2.6, vendor-operated SSAI for live, linear and VOD, rules enforced across all demand, direct campaign management, and per-impression export with sub-minute reporting. Two of the four do not operate their own SSAI; one charges extra and waits hours for log-level data. Those are the rows where we are ahead on paper.

Where we are behind is not on the feature list. We have no owned demand pool to bring you, no native verification, and a shorter operating history with fewer reference customers at the largest scale. Our latency, fill and yield figures on the product page are internally measured, not audited. The only comparison that resolves all of this is the one on your traffic: a shadow test that runs our decisioning beside your current ad server on identical live requests, with nothing reaching a viewer, and reports fill, latency and pod construction side by side.

Frequently asked

What are the biggest CTV ad servers in 2026?

By deployed scale and public reference customers, the four are Google Ad Manager (Google), FreeWheel Streaming Hub (Comcast), SpringServe (Magnite) and Publica (IAS, owned by Novacap since December 2025). Each is owned by a company that also sells something else into the same auction or the same buyer relationship, which is the main structural difference from an independent ad server such as GoGo CTV.

How much does a CTV ad server cost?

None of the four large vendors publishes a rate card. Public signals: Google Ad Manager is free up to 800,000 video impressions a month, with Ad Manager 360 priced on negotiated CPM fees; Publica is described as charging per ad impression with no upfront cost; Magnite's revenue is generally a percentage of ad spend through its platform; FreeWheel's fees are folded into enterprise contracts. GoGo CTV is sold as a software licence with no percentage of media. Which is cheaper depends on your revenue: percentage and per-impression fees scale with volume, a licence does not.

Is GoGo CTV cheaper than Google Ad Manager, FreeWheel, SpringServe or Publica?

Not always, and we do not have their price lists. A very small publisher inside Google Ad Manager's free tier will pay less there. Above that, a fee charged as a percentage of media or per impression grows with revenue while a licence stays flat, so there is a crossover revenue above which the licence is cheaper. The worked model on this page shows the arithmetic; the only comparison that counts is your own quotes side by side on your own volume.

Does GoGo CTV have the same features as the big CTV ad servers?

On the core ad-serving functions, yes: unified auction across direct and programmatic, pod-level decisioning with OpenRTB 2.6 pod bidding, manifest-level server-side insertion for live, linear and VOD, competitive separation and frequency caps enforced across all demand, direct campaign management, and per-impression log export with sub-minute reporting. What GoGo CTV does not have is the incumbents' owned demand (Google's exchange, Magnite's SSP, FreeWheel's marketplace), Publica's native IAS verification, or their length of operating history.

Settle it on your traffic and your numbers

Get a quote and a shadow test in the same call.

Bring your current ad-serving fees and your monthly volume. We will put a licence quote in the top row of the model above, and run our decisioning beside your current ad server on live requests. Nothing reaches a viewer.