Integration

Integration paths

Three ways the ad server can sit in your stack. They are not mutually exclusive — most platforms end up running two. This is how to work out which you need.

Choosing a path

The decision is driven by what you control, not by preference.

If this is trueStart here
You control your packaging or manifest layer, and you ship on smart TVs Server-side insertion — the default for connected TV
You run a third-party packager you cannot change, or you need interactive formats Client-side VAST
You already have an ad server and want to add competing demand to it Server-side bidding
You run live channels with SCTE-35 in the transport stream Server-side insertion, using your existing markers

Server-side insertion

The ad server decides the pod and stitches it into the manifest, so the player receives one continuous stream. This is the path most connected-TV platforms take, for the reasons set out in server-side ad insertion.

What changes in your stack

  • Your app requests manifests from the insertion layer rather than directly from your CDN origin. In most cases this is a one-line change to the playback URL your app builds.
  • Segment delivery stays where it is. Content segments continue to be served by your existing CDN; only the manifest is personalised.
  • Break signalling has to be readable. SCTE-35 markers for live, a VMAP document or your own schedule for on-demand.
  • No SDK ships to the device. Nothing to certify per platform, nothing to update when a TV vendor changes its runtime.

What you gain and lose

You gain seamless playback, ad-block resistance and one integration across every device. You lose direct access to client-side signals and take on responsibility for a beaconing model — both covered in detail on the SSAI page.

Client-side VAST

Your player requests ads and receives a VAST document describing what to play and which events to fire. The player handles playback through its own ad module.

When this is the right answer

  • You cannot change the packaging layer. If a third party owns manifest generation, server-side insertion may not be available to you.
  • You need interactive or shoppable formats. Anything requiring viewer input needs a client-side component.
  • You want the richest client signals. The player knows screen state, mute state and player size natively.
  • You are integrating on web or mobile, where buffering at a break is less punishing than on a television.
The cost on television

Client-side insertion introduces a transition at every break — the player tears down content playback and establishes ad playback. On smart TVs with limited processing headroom this is visible as a stall or a black frame, and it is the most common source of abandonment at the first break. If you ship primarily on TV devices, treat this path as a fallback rather than a default.

Server-side bidding

If you already run an ad server you are not ready to replace, GoGo CTV can participate as a demand source instead. Your existing server calls out, and the response competes in your auction like any other bidder.

  • Over OpenRTB — the standard programmatic interface, with the CTV extensions in version 2.6 for podded requests.
  • Via Prebid Server — if you already run server-side header bidding, this is a configuration change rather than an integration.

This is also the lowest-risk way to evaluate us: incremental demand into an unchanged stack, with nothing to migrate. It is how most migrations start.

Device platforms

Server-side insertion is device-agnostic by construction — the stream is just a stream. These are the platforms our clients ship on today.

PlatformNotes
RokuServer-side recommended. Native player is strict about encoding profile changes at a discontinuity.
Amazon Fire TVServer-side recommended.
Samsung TizenServer-side recommended. Limited runtime headroom for client-side ad logic.
LG webOSServer-side recommended. As above.
WebEither path. Client-side is viable where interactive formats matter.
MobileEither path.
Confirm before relying on this

Player-version floors, certification status per platform, and any device-specific caveats are not published here. Ask for the current compatibility matrix at contact@gogoctv.com — device support moves faster than documentation.

How an integration actually runs

  1. Scoping

    A solutions engineer walks your delivery setup with you and picks the path. Bring the items in what you need before you start and this is one call rather than three.

  2. Shadow test

    A slice of your live traffic is mirrored through the ad server without affecting what viewers see. You get latency, fill and yield side by side against your current setup before changing anything.

  3. Parallel run

    A small percentage of real traffic serves through GoGo while the rest stays on your existing server. Both sets of numbers are visible throughout.

  4. Cutover

    Traffic ramps over as the numbers hold. Because the previous path stays configured, rollback is a routing change rather than a re-integration.

The migration runbook covers each stage in detail, including what to measure and when to abort.

Endpoints and authentication

Not yet published

Base URLs, the authentication model, request and response schemas, error codes and rate limits are deliberately not documented on this site. A reference that does not exactly match what the service accepts costs an integrating engineer more time than no reference at all.

Request the current specification at contact@gogoctv.com.

Next

Get started

Have an engineer scope it with you.

Thirty minutes with a solutions engineer, working from your actual delivery setup rather than a generic diagram.