Building an AdTech Stack for a Leading OTT Video-Streaming Publisher

A leading OTT video-streaming publisher partnered with Clearcode to design and build its proprietary AdTech stack.

Below is an overview of our partnership and the various development projects we worked on with them.

CLIENT

Media company

INDUSTRY

Video Streaming

SERVICE

AdTech

REGION

Asia

About the project

A leading OTT video-streaming publisher partnered with Clearcode to design and build its proprietary AdTech stack.

Our client wanted to build their own AdTech stack to create a walled garden and monetize their first-party data.

We designed and built the key platforms in the AdTech stack, including a self-serve ad platform, an ad server, a data lake, and a customer data platform (CDP).

Key points

Business use case

Our client wanted to build their own AdTech stack to create a walled garden and monetize their first-party data.

Solution

The AdTech stack consisted of a self-serve ad platform, an ad server, a data lake, and a customer data platform (CDP).

Project goal

The goal of the project was to replace our client’s existing third-party tools to have full control and ownership of their AdTech stack.

Technologies

We built the AdTech stack using a wide range of technologies, including AWS, Python, Go, React, Terraforms, Docker, TypeScript, Django, Bitbucket, and many more.

Tomek Chmielewski-Head of Operations
Tomasz Chmielewski, COO

“Our partnership lasted for 18 months and was one of the biggest projects we’ve ever worked on.”

Tomasz Chmielewski

COO AT CLEARCODE

The Goal

The goal was to design and built an AdTech stack, complete with an ad server, self-serve ad platform, data lake and CDP.

What is a walled garden?

A walled garden is an ecosystem where the operations, data, and
technology is controlled by the company.

The term walled garden originated in the telecommunications industry, but has since been applied to other industries, including programmatic advertising and digital marketing.

Google, Facebook, Apple, and Amazon are often referred to as the walled
gardens of the programmatic advertising and marketing industries.

These companies have closed of ecosystems where they control the operations, technology, and data their systems collect.

Advertisers can use the self-serve ad platforms provided by these companies to purchase ad space on their systems.

Due to the many privacy changes occurring in the programmatic
advertising and digital marketing industries, many media companies and
publishers have started creating their own walled gardens by building
proprietary AdTech platforms and adopting a similar strategy to the walled gardens listed above.

Key features

    • Self-serve ad platform

      The self-serve ad platform acts as the main user interface whereby advertisers, advertising agencies, and our client’s internal AdOps team can create, change, and monitor their ad campaigns on our client’s video-streaming platform.

    • Ad server

      The ad server would replace its existing ad server, Google Ad Manager, and serve
      video and image ads inside its video streaming platform.

    • Data lake

      The data lake was built to retrieve data from multiple sources, including our client’s streaming service, analytics platforms, subscription database, external data sources, and device information.

    • Customer data platform (CDP)

      The CDP would query data from the data lake and integrate with the ad server and self-serve ad platform to
      allow advertisers to run targeted campaigns on our client’s OTT video-streaming
      platform.

    What we did

    Below are details about the key AdTech and data platforms that we build for our client.

    Self-serve platform

    • Designed and built the self-serve ad platform’s UI.
    • Built the functionalities needed to create and manage ad campaigns, such as uploading creatives, creating line items, and setting up ad targeting.
    • Integrated with an external AdTech platform to execute and update the campaigns created in the self-serve ad platform.
    • Integrated with a payment system to provide payment and billing-management functionalities.

    Ad server

    • Created the technical requirements, scoped out the whole project and proposed a set of technical requirements for the MVP based on our previous experience, knowledge, and research.
    • Developed a web SDK that would act as a layer between the ad slots and ad server to display ads and pass user IDs to the ad server.
    • We implemented Video Ad Serving Template (VAST) 4.2 to support the delivery of video ads between our client’s video player and the ad server.
    • As part of the ad targeting processes, we had to come up with a way to identify whether a visitor belonged to a given audience. To achieve this, we received audiences from our client’s customer data platform (CDP) via the SDK and used bloom filters to match visitors to the predefined audiences.

    CDP and data lake

    The goal was to integrate the CDP with the ad server and self-serve ad platform to allow advertisers to run targeted campaigns on our client’s OTT video-streaming platform.

    The data lake was built to retrieve data from multiple sources, including:

    • Our client’s OTT video-streaming platform: Information about movies, actors, etc. from our client’s content management system (CMS).
    • Our client’s analytics platform: Event data about video views, watch time, sessions, as well as location, device type, and other types of data.
    • External data sources: Interest-based audience segments created by third-party data.
    • Data from our client’s data science team: Data created by machine learning and data analysis.
    • Device information: Data about the price of certain devices. This data was then connected with the device-level data collected by the analytics platform.

    Once the data lake collected this data, it would organize and clean the data, e.g. remove duplicates and change data schema.

    The CDP would then retrieve data from the data lake, create audiences from the data, and export the audiences to our client’s ad server and use them for ad targeting on our client’s OTT video-streaming platform.

    Our development process

    • We started the project with our scoping phase, whereby we identified the key technical requirements and challenges, selected the key features for the minimum viable product (MVP) and chose the programming languages and frameworks for the tech stack.
    • We then started work on the minimum viable product. This phase involved developing the key AdTech platforms and components.
    • Once we released the MVP of our client’s AdTech stack, we provided maintenance and support so our client could showcase and test the solutions with their internal teams.

    The technologies we used

    AWS

    Terraform

    Docker

    Redis

    Python

    GO

    TypeScript

    React

    Django

    Cypress

    Bitbucket

    The result

    We released the MVP version of the AdTech stack to our client’s internal teams so they could test it with their clients (i.e. advertisers).