Yieldmo Uses AWS to Deliver Ad Engagement Data in Milliseconds


The Yieldmo mobile-advertising marketplace delivers high-performance ad campaigns that serve billions of ad impressions to millions of unique mobile visitors each month. To increase the effectiveness of these ad campaigns, Yieldmo needed to enhance how it measured user interactions, including visitor taps, scrolls, and time spent viewing an ad, among others. Additionally, Yieldmo had been increasing the use of sessionization—the collection of user interactions, known as micro-interactions, performed on Yieldmo’s ad units within a user session. To analyze session data, Yieldmo needed to capture user behavior, in real time, across each ad pixel for the billions of ad impressions at millisecond granularity. These micro-interactions across all the website visitors comprise hundreds of billions of data points each month.

Technology concept. 3D render

Amazon Kinesis services make it simple to scale our solution end to end, including the capture, processing, and delivery of actionable insights.”

Indu Narayan
Director of Data, Yieldmo

The Challenge

Improving Advertising Campaign Effectiveness

Yieldmo needed to deploy this solution quickly, because it wanted to include sessionization capabilities in its soon-to-be launched data platform. Plans for the capabilities of the new platform included in-depth insights into customer engagements, making campaigns more effective for advertisers, more profitable for publishers, and, ultimately, more relevant for consumers.

To address its needs, Yieldmo wanted to use a system that reported the exact moment of each unique interaction on an ad within a session. “Capturing hundreds of billions of micro-interactions presented a technical challenge because these detailed measurements would increase the number of requests coming in and require adding many more proxy servers to capture and analyze all these events,” says Indu Narayan, director of data at Yieldmo. “We needed to implement a solution quickly and at significant scale. Solving this problem using a traditional approach would take an engineering team months to implement. The resulting solution would also be expensive, requiring the use of a large amount of storage and compute power. Such a solution would be cost-prohibitive for both Yieldmo and our customers.”

Why Amazon Web Services

Transforming User Events into Useful Data with Amazon Kinesis Services

Yieldmo chose Amazon Kinesis services to capture, process, and deliver its data in real time. Yieldmo’s ad units on customers’ mobile web pages send data directly to Amazon Kinesis Data Streams, which efficiently and durably captures the real-time streaming data at scale.

To process the data in streams, Yieldmo employed Amazon Managed Service for Apache Flink to consolidate millisecond user interactions and define an active user session. Yieldmo used standard SQL code to compute pixel-by-pixel ad-view time and ad-view percentages, and to track how many pixels were on screen for how many seconds (or “pixel seconds”). Finally, Yieldmo uses Amazon Kinesis Data Firehose to deliver this data to Amazon Simple Storage Service (Amazon S3) buckets. AWS Lambda is used for final formulation of user-level engagement analytics and then to load the company’s data warehouse, where data can be served to customers.

Computing Metrics in Real Time

With Amazon Kinesis services, Yieldmo captures and sessionizes user interactions in real time, at scale, and without significant cost or operational overhead. Using Managed Service for Apache Flink, Yieldmo computes engagement metrics on the fly, making it easier to adjust ad campaigns and achieve effectiveness much earlier in the process. “We now have a unique and non-intrusive way to capture and measure how a user interacts with our ads while still consuming content on mobile web pages,” Narayan says. “Amazon Kinesis services make it simple to scale our solution end to end, including the capture, processing, and delivery of actionable insights. This empowers our customers to better understand their user base.”

Managed Service for Apache Flink allows Yieldmo to use SQL to process data in real time. “A year ago, our entire data-processing pipeline used open-source software and there were only a handful of engineers at the company that could access it,” adds Todd Coleman, CTO of Yieldmo. “Now, all our data is structured and accessible within minutes, making it available to a much broader set of our engineers.”

Using Kinesis Data Streams and Managed Service for Apache Flink, Yieldmo saved a significant amount of money. “If we built and ran an environment like this ourselves, it would have cost 4–10 times as much as the solution we implemented using Amazon Kinesis services, given the granularity of detail we were seeking,” says Coleman.

The Benefits

Telling a More Detailed Story through Accurate Viewability Data

Using its Kinesis-based solution, Yieldmo now gets more accurate visibility into how users interact with ads. Says Narayan, “With our Kinesis implementation, in addition to gathering quantitative metrics, we can now gather a lot more qualitative information about the user viewing an ad. We can calculate custom viewing and interaction metrics, everything ranging from time spent in view, pixels in view, speed of scroll, just to name a few. We can now tell a much more detailed story to our customers.”

About Yieldmo

Yieldmo is a user-centered, design-driven, and data-powered tech company redefining digital advertising. Yieldmo products help marketers and publishers build deeper engagements with their customers.

Benefits of AWS

  • Captures and sessionizes user interactions in real time, at scale, and without significant cost or operational overhead
  • Delivers ad-interaction data every 200 milliseconds
  • Gets more accurate ad viewability data
  • Gives mobile advertisers a better experience

AWS Services Used

Amazon S3

Amazon Simple Storage Service (Amazon S3) is an object storage service that offers industry-leading scalability, data availability, security, and performance. 

Learn more »

Amazon Kinesis

Amazon Kinesis makes it easy to collect, process, and analyze real-time, streaming data so you can get timely insights and react quickly to new information.

Learn more >>

Set up and integrate data sources and destinations with minimal code, continuously process data with subsecond latencies, and respond to events in real time.

Learn more >>

AWS Lambda

Run code without thinking about servers. Pay only for the compute time you consume.

Learn more >>

Get Started

Companies of all sizes across all industries are transforming their businesses every day using AWS. Contact our experts and start your own AWS Cloud journey today.