Server-Side vs. Client-Side Ad Insertion: Which Side Are You On?
Connected TV (CTV) advertising has boomed in the past few years. Digital video advertising, according to FreeWheel, is projected to be $150 Billion in 2024, and CTV is where the largest portion of ad views will be consumed. In the U.S., FAST channels account for 50% of OTT views, and 30% of total ad views. CTV continues to be one of the fastest-growing segments for media advertising overall.
There are two broad categories of CTV ad insertion: Server-side (SSAI) and Content-side. We’ve had the SSAI vs. CSAI debate many times before, with SSAI often coming out on top in recent years, but the uptick in FAST viewing is changing the conversation for many stakeholders in the current media landscape. Effective ad delivery is far from a one-side-fits-all proposition these days.
“Connected TV really took off and you saw the fragmentation of the landscape and the different ways of integrating with all of those platforms,” says Neville Mitchell, Senior Director, Strategic Partnerships, at adtech solutions provider FreeWheel. “Giving a consistent ad experience takes a lot of work to get all the levers in the right places to have consistent measurement capabilities.”
Pros and Cons of SSAI and CSAI
In one corner we have SSAI, which integrates into the video stream, providing smoother playback and consistency across endpoints. On the other we have CSAI, which requires custom development to support each and every operating system environment the video will run on. Historically, the key benefits of SSAI were its comparatively low custom development requirements, generally lower engineering costs, and its ability to bypass ad blockers. But these generalisations no longer apply, according to some adtech experts.
“I don’t know if the ‘less dev resources’ thing is true anymore, due to stuff like viewability and client-side beaconing, but it probably is if you're doing React Native or something that can be written once and compiled out for all platforms [excluding Roku],” says Robert Jameson, former Technical Director, Video Platform at Warner Bros. Discovery. Server-side is “certainly easier to scale, and it’s more sustainable than a dozen different native code bases,” he continues, “and it doesn’t give you hiccups between individual ads and content as you swivel between the two video players”—the way CSAI does—“because it’s stitched.”
“We use server-side for our FAST delivery,” says Natalie Gabathuler-Scully, EVP, Revenue Distribution and Data Operations at Vevo. “We have over 45 or 50 channels that we deliver across multiple regions on multiple different distribution endpoints. The growth in SSAI around the FAST landscape is just exploding.” SSAI, she explains, provides “a common way to deliver our ads across multiple distribution partners. It’s just an easy way to get your advertising up on the different distribution endpoints on your channels.”
“With client-side, one of the biggest issues is having to have an ad client in your app, which means you’re going to spend more dev resources. On server-side, you may need more operations to support it,” says Jameson.
“For us, if it’s owned and operated, we have the choice,” says Gabathuler-Scully. “Our owned and operated is primarily our apps, and that’s where we use client-side to give us more control over the app and our delivery across that platform. It’s a heavier lift on the engineering tech side because of the app requirements.”
Further, some argue that CSAI can offer the option of having finer control over advertising fill than is achievable with SSAI.
Measurability, with a direct connection to payment, is one key requirement of any effective ad insertion strategy. Several vendors provide the enabling tech for this, but it’s the integration for a particular client that takes time. Some content providers leave the choice of measurement tool to each advertiser, which provides more flexibility for brands, but can add substantially more work for ad engineering/operations teams.
Most often, measurement in both SSAI and CSAI happens on the client side, according to Peter Chave, Principal Architect at Akamai Technologies. “Otherwise, we don’t get an accurate measurement of what a viewer did, like if they scrubbed back and didn’t see the ad or it never was displayed.” If you were to do SSAI-based measurement, as result you might get less per CPM because there’s a lower trust factor, he says.
“The advertising community has also asked for many more targeting requirements or KPIs that they need on their deals,” Gabathuler-Scully says. “That has added a layer of complexity to figure out how to execute in a seamless way so that to the client, it’s an everyday easy piece. But internally it’s much tougher to operationalise.”
“Advertisers are not too keen on beacons fired from your stitcher,” Jameson contends. “They much prefer it to be on the client itself,” Jameson says. He says content companies have also seen increasing demands from advertisers for viewability measurements. In an owned-and-operated situation, he explains, “you have to have a third-party SDK to get verified, plus your app has to get verified. That can take a long time and make it complicated to certify your app and [confirm] that it’s reporting viewability metrics properly.”
With FAST as with any other type of ad-supported CTV media delivering, integrating the ads seamlessly into a fluid user experience is paramount. This is where just-in-time transcoding comes into play. “When delivering ads into a FAST environment,” says FreeWheel’s Mitchell, “the real key is that there is some type of just-in-time transcoding that is either taking place within the ad server or is also part of the stream stitcher as well. In order to get that really crisp user experience, there’s not a lot of other ways to ensure that there’s consistency in there so you can deliver it all down into one stream.”
When a stream requires advertising for a particular ad pod, the ad server looks for the ad creative. The first time this ad is called, the ad will get transcoded, but not shown (and maybe not even in subsequent pods, depending on what your ad server returns and the size of the pool). “To get around this,” according to Jameson, “for each ad in that response, the stitcher checks its internal ad cache to see if it has already repackaged it. If it has, that ad will be stitched into the stream. If not, the stitcher will kick off the repackage, so for the next request this ad will be available.”
“Some ad servers and stitchers have connectors that allow the ad server to push first-party ads into the stitcher to prime the stitcher’s ad cache and pre-emptively repackage it, but you can’t do this with third-party creative, because that ad may change at any time,” says Jameson. “When the stitcher approaches an ad break in a live stream, an ad call is made from the stitcher to the ad server. The response will contain the third-party tag, the mezz, or the high-quality MP4/MOV.”
“With just-in-time, from an ad creative perspective, a key piece of it is being able to identify a unique creative,” says Mitchell. “You need to really have that unique creative, at good quality, ideally mezzanine- or source-level quality so that it can then be split down into different renditions so it fits into the actual delivery of the content effectively.”
Vevo’s Gabathuler-Scully says that clients are more likely to be prepared to provide highest-quality files “if they are advertising in so many different variations in so many different spaces that they have that at their fingertips. Other clients may not be as well versed,” she laments. “If you can’t give me a mezzanine file, whatever is the highest-quality MP4 works. This is critical, because any sort of third-party creative is just not going to exist on your system.”
Tightened Security and the Challenges of Ad Targeting
Heightened privacy concerns have become another complicating factor in CTV’s struggle to achieve its stated mission of delivering more targeted advertising than traditional media platforms like broadcast and cable. Securing and acting on actionable user data is more difficult than it used to be.
In recent years, according to Akamai’s Chave, “There’s been a shift in the security posture of devices. Ten years ago, we had third-party cookies everywhere, so you could easily track people,” he explains. “Tracking, the rise of privacy concerns, and what people are willing to share have changed how data is handled, and that’s added complexity to how we can actuate that data.”
While the CTV experience doesn’t have cookies, playback issues vary across a range of devices, including CTV.
“Some of the device managers—Apple in particular—offer by default that they’ll obfuscate your IP address, and limit ad-tracking, using a service called Apple Private Relay, which will proxy all of your web requests,” says Chave. App requests go through an anonymised VPN so that your requests show up to an address that’s not identifiable to you. When consumers take advantage of this greater protection, it makes it hard to get some of those first-party identifiers. Less data means less personalised targeting unless you are operating within one of the data-rich companies. The walled gardens know what you’ve searched for and watched previously, so targeting’s relatively easy,” Chave says. “They have a lot more information to work on than companies further up the stack in third-party environments.”
Many publishers are addressing this problem using contextual advertising. “We’ve got a swath of content, metadata, data science teams that create contextual targeting lists on things like moods which ties very well with certain brands,” says Gabathuler-Scully. She also sees a path forward to extrapolate this strategy on a larger scale. “If you’re working with research vendors, there’s an opportunity where you're not stepping on the privacy minefield that is continuing to come, but still being successful for your advertisers and getting what they need.”
“I think contextual works well with video, because it’s a really rich experience. and there’s a lot of metadata, first-party identifiers, IP addresses,” says Mitchell, who adds that Identifiers for Advertising (IFAs) “are also heavily used by our publisher, whether it’s client-side or server-side. If you're able to surface those identifiers consistently, you can build audiences or work with DMPs and other vendors in the ecosystem to build audiences off of them. Those identifiers are also integral to frequency capping and maintaining that good user experience.”
What Could Go Wrong?
While most often things go right with CTV advertising on both sides of the CSAI/SSAI divide, there are of course times when the opposite happens. So when things do break down, what is liable to break, and where and when is it most likely to happen?
When it comes to SSAI, according to Gabathuler-Scully, “It’s more about who owns the controls on the ad-serving side, and that’s dependent on the negotiations that the business side will have. We prefer to own that control, but you have to be flexible; be prepared to know that you might not own it in every instance or situation. When things do go wrong and we don’t own the SSAI, most times we’re having to work through a lot of problem-solving with the distribution partners, which is where we run into a lot of hurdles,” she explains. “We can’t quickly identify what’s wrong with the creative, what’s wrong with the stream, and those types of things then lag and that’s a bad look to the advertisers.”
On the CSAI side, Jameson says, “If I have a client-side stitched application on an iPhone, I can hook up to a proxy software and I can see everything that’s happening. It’s very easy, with the server-side—depending on how your app is built—to be able to see the actual messaging or work back through your stitching vendor to pull logs.”
“If you go from sitcoms into a sporting event, you’re going to have a completely different set of ads” than the previous program, says Chave. If you’re going the server-side route and “you haven’t done something to prime the system when you hit the first ad break, nobody’s going to get any ads. It’s something critical that needs to be solved for when you’re dealing with live streams,” Chave explains.
The key to avoiding this pitfall, he maintains, is “to stitch it in perfectly, such that the resolutions match and that the lowest common denominator decoder out there is not going to get flustered by the playback. You could build a client-side stitcher that could take an MP4 file and just swap playbacks. It may be a lumpy experience, but the client will keep going. If you mess it up on a server-side [stitcher], you could cause a player a stall, which would then destroy the experience for the viewer.”
“From the publisher ad server perspective, one of the things that we’re really focused on is trying to have consistent integrations,” says Mitchell. “Whether it’s client-side ad insertion, server-side ad insertion, owned-and-operated, or distribution to walled gardens, we’re continuing to build out our tools that help our publishers to get to the bottom of all of these issues that can come up across all these disparate distribution endpoints.”
Chave says one recurring problem Akamai discovered through research is ad creative failing because it times out. Fortunately, this is a simple problem with an equally straightforward solution. “By retrying some of these requests, we could dramatically improve fill rates, partially because we warmed up caches on the bidder systems,” he says. “In that first wave, a few of them would drop off, but then the second time they’d all be successful. It looks like a regular manifest. It doesn’t know there are ads in there. That’s why it works, and that’s why it’s so scalable. The challenge of that is you’ve got to get it right on the server side first, but then you’ll get the scale.”
What are the latest factors influencing experts to weigh in one way or another on the CSAI/SSAI question, and what’s ahead for CTV advertising that content companies and advertisers need to know about?
One new wrinkle is HLS intersititial ads. “HLS interstitials, essentially, are signaling within your manifest that allows you to insert another URL which can be an actual physical piece of creative, or it can be a redirect out to an ad server to make a call and then inject it into your manifest,” says Jameson.
With SSAI—particularly in VOD—you’re making an ad call up front. For a movie with a dozen ad breaks, all three minutes long, there’s a lot going on in the backend. You’re calling out to the ad server, trying to make sure the creative exists, stitching it into a manifest. Then you can’t return back to the client until you have this stitched manifest back. “One thing that an HLS interstitial would allow you to do in that scenario is, you start playing the content instantly, assuming you don't have a pre-roll and then as you encounter the signaling in the stream, you can make a one-off call for each individual ad break,” Jameson explains. “You could probably even do it at a creative level if you wanted to.”
“With interstitials you can send one manifest to everybody, rather than the traditional stitching where the stitcher has to have a one-to-one relationship with every client for every rendition,” says Chave. “Ad-stitching systems fail as they scale up. Doing it once is fine. Doing it 10 million times is really hard. But with interstitials, you make one manifest with one injected line—which will get resolved later—and you can send that to 10 million people. CDNs are really good at doing one thing a million times, and they’re very bad at doing a million things, a million times. I think this will fundamentally clean up this lower level of stitching, and it will get a lot of functionality and logic out of the way so we can just get on with doing the business of doing a better job.”
Emerging ad formats that stitch advertising directly into content are also worth paying attention to, according to FreeWheel’s Mitchell. “Newer experiences are coming out that are driven by a lot of the stream-stitching platforms out there thinking about ways that you can add an advertising experience into the content itself,” Mitchell says. “With AVOD and FAST, you can obviously continue to make the pod bigger and bigger to drive more value, but that’s going to have some impact on your customer experience and how people viewing your content. There have been a couple of vendors that are starting to do some interesting things with stitching advertising into the actual content. This could be designed for that or could go through another engine to make some of these ad units. I think that’s pretty exciting from a user experience perspective.”
Variable ad pod duration is another key trend designed to deliver a more responsive user experience, Gabathuler-Scully says. “You may net out to the same amount of minutes per hour, but the experience is different where you might get a minute-thirty ad when you first start, then you get two thirties, then you get a minute, as you consume the content,” she explains. “This means we’re listening to the user. It’s a more personalised experience, but you’re still getting the same admin on the backend from the advertising revenue side of things.”
Targeted ad-scaling is a puzzle many in the CTV world have been trying to solve for some time, and some would argue we’re beginning to figure it out in 2023.
Chave offers a mixed assessment. “You still have to make all those decisions, but you don’t have to keep making and distributing that logic to a stateless edge again and again as you’re trying to run through time,” Chave says. “It used to be, I had to update the manifests every 10 seconds and I had a million viewers, so I was doing 100,000 transactions a second,” he recalls. “Now I’m doing a million and a half a million transactions [as the segment size drops]. My problem doesn’t get any better. If we can just solve that one simple problem and just make it easier to do the binding of the ads to the manifest without having to do this heavy lift every time we touch it— either in the client or in the server side—I think our ability to innovate above that will be much more possible.”
The consensus is, the toolbox has gotten bigger, and marketers now have more toys. “While we've simplified some of the lower-level functions,” Chave says, “I think there’s a lot more complexity at the higher levels.”