PracHub
QuestionsPremiumLearningGuidesCheatsheetNEWCoaches
|Home/System Design/Netflix

Design ads frequency capping service

Last updated: May 4, 2026

Quick Overview

This question evaluates a candidate's ability to design a low-latency, high-QPS, multi-tenant frequency capping service, testing competencies in identity resolution, hierarchical cap modeling, window semantics, counter and storage architecture, consistency versus latency trade-offs, real-time decisioning APIs, configuration/versioning, backfill, reporting, privacy/compliance, and failure handling. It is commonly asked to assess systems-design proficiency in distributed systems, databases, caching, API design, and operational reliability; it belongs to the System Design domain and emphasizes practical application with system-level conceptual reasoning rather than purely algorithmic detail.

  • hard
  • Netflix
  • System Design
  • Software Engineer

Design ads frequency capping service

Company: Netflix

Role: Software Engineer

Category: System Design

Difficulty: hard

Interview Round: Onsite

Design an ads frequency capping service that limits how many times a user sees a creative or campaign within configurable time windows (e.g., 3/day per campaign, 10/week advertiser-wide). Compare it to a generic rate limiter and explain the extra components required for advertiser configuration and onboarding. Cover: identity resolution (cookies, device graph, logged-in IDs), cap dimensions (creative/ad group/campaign/advertiser), window semantics (sliding vs tumbling), counter and storage design, consistency vs latency trade-offs, real-time decisioning at high QPS, configuration APIs and validation, config propagation/versioning and rollback, backfill/migrations, reporting needs, privacy/compliance, and failure handling.

Quick Answer: This question evaluates a candidate's ability to design a low-latency, high-QPS, multi-tenant frequency capping service, testing competencies in identity resolution, hierarchical cap modeling, window semantics, counter and storage architecture, consistency versus latency trade-offs, real-time decisioning APIs, configuration/versioning, backfill, reporting, privacy/compliance, and failure handling. It is commonly asked to assess systems-design proficiency in distributed systems, databases, caching, API design, and operational reliability; it belongs to the System Design domain and emphasizes practical application with system-level conceptual reasoning rather than purely algorithmic detail.

Related Interview Questions

  • Design Ad Frequency and Order Tracking - Netflix
  • Design Rolling-Window Ad Frequency Capping - Netflix (medium)
  • Design ad frequency capping - Netflix (medium)
  • Design a File Backup System - Netflix (hard)
  • Design an Ad Frequency Capping System - Netflix
Netflix logo
Netflix
Jul 17, 2025, 12:00 AM
Software Engineer
Onsite
System Design
26
0

Design an Ads Frequency Capping Service

Context

You are designing a service that ensures a user does not see the same ad creative or campaign more than a configured number of times within specified time windows (for example, 3/day per campaign, 10/week across an advertiser). The service must support real-time ad decisioning at high QPS with low latency, multi-tenant advertiser onboarding, and reliable reporting.

Assume an ad-supported video application with: high read QPS during ad selection, sub-10 ms p99 decision latency, multi-region deployment, and strict privacy/compliance requirements. The system integrates with an ad server/selector that provides candidate ads and expects an allow/deny decision before rendering.

Task

Design the frequency capping service and compare it to a generic rate limiter. Explain the extra components required for advertiser configuration and onboarding.

Cover the following topics:

  1. Identity resolution: cookies, device graph, logged-in IDs; user/household scoping.
  2. Cap dimensions: creative, ad group, campaign, advertiser (hierarchical caps and combinations).
  3. Window semantics: sliding vs tumbling windows and calendar anchoring (day/week).
  4. Counter and storage design: keying, bucketization, TTL, atomicity across multiple caps, memory/scale estimates.
  5. Consistency vs latency trade-offs: within and across regions; concurrency/race conditions; acceptable overshoot.
  6. Real-time decisioning at high QPS: API design, check/reserve/commit flow, batching/vectorized lookups, concurrency.
  7. Configuration APIs and validation: schema, constraints, default caps, targeting/scope.
  8. Config propagation, versioning, and rollback: canaries, pub/sub to caches, freeze/rollback plans.
  9. Backfill and migrations: enabling new caps mid-flight, identity merges/splits, data warmup.
  10. Reporting needs: aggregates, rejection reasons, near-real-time dashboards, retention.
  11. Privacy and compliance: consent, minimization, retention, deletion, cross-device linking safeguards.
  12. Failure handling: store outages, partial availability, stale config, decision policy (fail-open vs fail-closed).

Also include a brief comparison to a generic rate limiter and highlight the additional components needed for advertiser onboarding and configuration.

Solution

Show

Comments (0)

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Netflix•More Software Engineer•Netflix Software Engineer•Netflix System Design•Software Engineer System Design
PracHub

Master your tech interviews with 7,500+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities
  • Student Access

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.