Server-side ad insertion (SSAI), often referred to as ad stitching, is the process of stitching video content and ads together on the server rather than on the browser (directly or indirectly client initiated SSAI). Videos and video ads originate in different places—videos typically come from a content delivery network (CDN) and ads from an ad server. (Video ads can also be served from CDNs, although content CDNs and ad CDNs often differ.) Then, video content and ad content are combined on-the-fly when people start watching videos. With server-side ad stitching, combining video and advertising occurs in the backend. For more information, see IAB Digital Video Advertising Glossary.
Note: In Amazon Ad Server (AAS), advertisers for audio ads use video and video interactive placements. SSAI is supported for audio in these cases.
In 2020, Streaming Media performed research highlighting that SSAI is the preferred method used by 45% of content producers, streaming TV ads' operators, and IPTV operators, while legacy client-side ad insertion continues to decline (accounting for 24% of ad insertion models). For more information, see The 2020 Streaming Monetization Report.
Amazon Ad Server (AAS) uses the following methods to detect SSAI for In-stream video:
Auto-detection based on IP addresses daily analysis from ad requests and VAST events. IP addresses, which belong to public/private data centers and with legitimate user agent values, are flagged as SSAI IPs. AAS reports traffic originating from the SSAI IP list into the Default Tracked Ads metric.
Note: IP addresses include end-user IP addresses that generate an unusual level of traffic within short time intervals; AAS suspects these addresses to be either SSAI servers or fraud.
IAB VAST macro SERVERSIDE added on ad request URL.
Important: Advertisers should confirm with publishers first if the SERVERSIDE macro is supported based on the IAB VAST standard. If the answer is not definitive, we encourage advertisers to contact the AAS publisher certification team to generate a test tag with the SSAI macro and do the required testing with the publisher before using it in a production campaign.
Values for the macro are explained in the following table:
All tracking pixels
VAST request URLs
0: Direct client-initiated SSAI. Client sends request or tracking call without server intermediary.
1: Indirect client-initiated SSAI. Server sends request or tracking call on behalf of a client. The client told the server to act on its behalf.
2: Server-initiated SSAI. Server sends request or tracking call on behalf of another server, unknown party, or based on its own decision, without an explicit signal from the client.
Value that indicates if a URL is requested from a client device or a server. This value may be set differently on the request vs. tracking URLs; the request may be made from a server (value of 1 or 2), while the tracking URLs may be fired from the client (value of 0). 0 is the default value if the macro is missing.
VAST tag with server-side macro:
Publisher's SSAI system should replace a macro with the actual value: 0, 1, or 2.
VAST URL ad request with server-side parameter set to 2:
AAS reports traffic with the SERVERSIDE macro values 0 and 1 into Net metrics bucket (Impressions (Net)/Clicks (Net)) and for value 2 into default tracked ads.
Optionally, if the publisher uses a single ad stitching method across all VAST ad requests, the SSAI type can be predefined on the site settings in AAS. For more information, see Site Setup Settings. AAS reports traffic from sites marked as SSAI into the Default Tracked Ads metric.
For SSAI-detected traffic, there are several reporting limitations:
User identification based on third-party cookies does not work.
User geo-location based on IP address will not work, since the IP address comes from the server.
User device or operating system identification based on UserAgent may not work properly.
Due to these limitations, AAS applies limited General IVT (GIVT) filtering for SSAI-detected traffic. AAS applies GIVT IAB UserAgent allow/block lists, and filters external crawlers/bots and known IP test traffic. Accordingly, the Default Tracked Ads metric includes, by default, some level of unknown IVT traffic.