Custom Integrations

Custom Integrations

Custom Integrations

For teams building bespoke implementations that push event data to Watching That — server-side proxies, native SDKs, SSAI integrations, or any custom code that sends data to the Collector endpoint.

If you're using a supported video player (Brightcove, JW Player, VideoJS, Bitmovin, Akamai AMP), use the pre-built browser plugins instead — see Video Players.


When to Use Custom Integrations

  • Server-side proxy — intercepting and enriching SSAI events before forwarding to Watching That

  • Native app SDK — Smart TV, set-top box, mobile native platforms where browser plugins don't apply

  • Non-standard video player — no pre-built Watching That plugin available

  • Non-video event data — sending custom operational data from other systems

How It Works

Custom integrations use the Collector API Reference directly. The Collector accepts JSON payloads over HTTPS, authenticated with an API key.

Key concepts:

  1. Content Sessions (rid) — group all events from a single video playback

  2. Ad Sessions (adGid) — group all events from a single ad within a session

  3. Content Session Time (cst) — milliseconds since session start, not wall clock time

  4. Event Types (type) — standardised codes (init, serve, imp, etc.)

See the Collector API Reference for the complete event field specification, endpoint details, and authentication.

Getting Started

  1. Get an API key from My Account > Settings > Player plugin setup or from your account team

  2. Review the Collector API Reference — event model, required fields, endpoints

  3. Implement your integration — send JSON payloads for each event in the lifecycle

  4. Test — use the Inspect module in Watching That to verify events arrive correctly

  5. Tell us your custom fields — so we can expose them in the UI

Server-Side Considerations

  • Use the primary endpoint: https://collector.watchingthat.com/v5/in — stable domain

  • Send the country field explicitly if available — we can't always infer it server-side

  • If sending from both server and client for the same session, use the same rid in both contexts


Still Need Help?