Design an Ad Frequency Capping System

Quick Overview

This question evaluates expertise in scalable distributed system design, real-time state management, data consistency, low-latency serving, multi-scope aggregation, configuration propagation, and privacy-aware counting for advertising frequency capping.

Design an Ad Frequency Capping System

Company: Netflix

Role: Software Engineer

Category: System Design

Difficulty: medium

Interview Round: Onsite

Design a frequency capping system for an advertising platform. A frequency cap limits how many times a user can be shown an ad, campaign, line item, or order within a configured time window. For example, a campaign may specify: "show this user at most 3 impressions per 24 hours" and an advertiser-level rule may specify: "show at most 10 impressions per user per 7 days." Your design should cover: - Real-time serving-time checks before an ad impression is selected. - Updating impression counts after an impression is served. - Support for caps at multiple scopes, such as creative, line item, campaign, advertiser, and order. - Multiple window types, such as hourly, daily, rolling 24-hour, weekly, and lifetime caps. - Low-latency reads on the ad-serving hot path. - Correctness under high traffic, retries, duplicate events, and distributed serving. - Configuration storage and propagation. - Privacy considerations for user identifiers. - Monitoring, alerting, and failure modes.

Quick Answer: This question evaluates expertise in scalable distributed system design, real-time state management, data consistency, low-latency serving, multi-scope aggregation, configuration propagation, and privacy-aware counting for advertising frequency capping.

|Home/System Design/Netflix
Netflix logo
Netflix
Apr 3, 2026, 12:00 AM
mediumSoftware EngineerOnsiteSystem Design
12
0

Design a frequency capping system for an advertising platform.

A frequency cap limits how many times a user can be shown an ad, campaign, line item, or order within a configured time window. For example, a campaign may specify: "show this user at most 3 impressions per 24 hours" and an advertiser-level rule may specify: "show at most 10 impressions per user per 7 days."

Your design should cover:

  • Real-time serving-time checks before an ad impression is selected.
  • Updating impression counts after an impression is served.
  • Support for caps at multiple scopes, such as creative, line item, campaign, advertiser, and order.
  • Multiple window types, such as hourly, daily, rolling 24-hour, weekly, and lifetime caps.
  • Low-latency reads on the ad-serving hot path.
  • Correctness under high traffic, retries, duplicate events, and distributed serving.
  • Configuration storage and propagation.
  • Privacy considerations for user identifiers.
  • Monitoring, alerting, and failure modes.

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...