GoAdserver
Live demo

Connected TV & streaming

TV apps and streaming players ask the ad server for whole ad breaks: several ads in a row, a schedule of breaks for a long stream, and an image ad when the viewer pauses.

This is a live video zone on a demo account with 15 made-up advertisers. Press Play in the TV below.

DEMO 1

An ad pod on a TV app

Streaming apps play ads in breaks, several in a row. One request returns the whole break: up to 3 ads, never the same campaign or brand twice, together no longer than 60 seconds. Press Play, then Pause while the show runs.

Zone #12512907 · video · pod size 3 · max 60 s per break · app bundle com.ridgefern.tv · device type TV

00:00

The Long Coast · Episode 3

Ridgefern TV · a slow trip along the north sea, by bike and ferry

❚❚ Paused
AdPause ad
The episode starts with an ad break: one pod of up to 3 ads
Press Play: the player asks the ad server for one ad pod — https://g2.gsrv.dev/vast.go?spaceid=12512907&app_bundle=com.ridgefern.tv&app_name=Ridgefern%20TV&device_type=3&pod=3
DEMO 2

The break schedule (VMAP)

A long stream has more than one break. The zone describes them all in one VMAP document: a pre-roll, mid-rolls at the minutes you set and a post-roll. The player reads it once and asks for each break when it gets there. Play any break here.

Zone #12512907 · VMAP: pre-roll, mid-rolls at 5:00 and 15:00, post-roll

BreakStarts atAd tag the player calls
Loading the VMAP…
DEMO 3

A pause ad

When the viewer pauses, the player shows an image ad next to the frozen picture, and hides it again on play. It comes from one of your own banner zones and counts an impression only when it is on screen.

Pause zone #12512906 · banner 300×250 · shown in the player on pause

Try it in Demo 1: press Pause while the episode runs.

CODE

The player URLs

TV and app players need no script, only these URLs from the zone's Ad Zone Code tab. The parts in square brackets are standard macros the player fills in: the app's bundle id and store link, the device's advertising id, the limit-ad-tracking flag and the privacy string. The app bundle counts as the domain of the request, so advertisers can include or block your app like a website.

VAST tag (one ad, or the zone's pod size)

https://g2.gsrv.dev/vast.go?spaceid=12512907&app_bundle=[APPBUNDLE]&app_store_url=[STOREURL]&ifa=[IFA]&lmt=[LIMITADTRACKING]&us_privacy=[US_PRIVACY]&device_type=3

Ad pod of 3

https://g2.gsrv.dev/vast.go?spaceid=12512907&pod=3&app_bundle=[APPBUNDLE]&app_store_url=[STOREURL]&ifa=[IFA]&lmt=[LIMITADTRACKING]&us_privacy=[US_PRIVACY]&device_type=3

VMAP: the break schedule

https://g2.gsrv.dev/vast.go?spaceid=12512907&act=vmap&app_bundle=[APPBUNDLE]&app_store_url=[STOREURL]&ifa=[IFA]&lmt=[LIMITADTRACKING]&us_privacy=[US_PRIVACY]&device_type=3

Pause ad as JSON

https://g2.gsrv.dev/vast.go?spaceid=12512907&act=pause&app_bundle=[APPBUNDLE]&app_store_url=[STOREURL]&ifa=[IFA]&lmt=[LIMITADTRACKING]&us_privacy=[US_PRIVACY]&device_type=3

Pause ad as VAST NonLinear

https://g2.gsrv.dev/vast.go?spaceid=12512907&act=pause&format=vast&app_bundle=[APPBUNDLE]&app_store_url=[STOREURL]&ifa=[IFA]&lmt=[LIMITADTRACKING]&us_privacy=[US_PRIVACY]&device_type=3

Server-side ad insertion

https://g2.gsrv.dev/vast.go?spaceid=12512907&ssai=1&ip={viewer_ip}&agent={viewer_user_agent}&app_bundle=[APPBUNDLE]&app_store_url=[STOREURL]&ifa=[IFA]&lmt=[LIMITADTRACKING]&us_privacy=[US_PRIVACY]&device_type=3

With server-side ad insertion a server stitches the ads into the stream instead of the device. It sends the viewer's IP address and user agent, so the ads still match the viewer's country and device. Zones accept that only with the switch on.

About the format: CTV and OTT ads · all ad formats · all live demos

Run these formats on your own network

Every format on this page is part of the GoAdserver ad server. Talk to us about your platform.

Contact us