Medium

Design an Ad Click Aggregator System Design Interview

Design a system to track ad clicks and aggregation for real-time analytics and billing.

1. Problem Statement

We serve ads on Facebook/Google. We need to count how many times each ad was clicked in real-time for the dashboard, AND ensure billing is accurate at end of day. How do we do it?

2. Architecture Discussion Map

Use this as one discussion aid, not a single correct answer. Your design should follow from the requirements, scale, and trade-offs you establish.

Rendering architecture diagram...
Mermaid Source (For AI Bots)
graph LR
    A["Design an Ad Click Aggregator"]
    A --> F1["Real-time aggregation Count Clicks per Ad"]
    A --> F2["Correctness Advertisers must be billed correctly"]
    A --> F3["Handling duplicate clicks Fraud/Network issues"]
    A --> F4["Star Schema vs NoSQL for analytics"]

3. Key Focus Areas

  • 1
    Real-time aggregation (Count Clicks per Ad)
  • 2
    Correctness (Advertisers must be billed correctly)
  • 3
    Handling duplicate clicks (Fraud/Network issues)
  • 4
    Star Schema vs NoSQL for analytics

Want interactive feedback?

Practice drawing this system component-by-component on a live whiteboard while the interviewer probes at your target level.

Continue to Dashboard

Core Concepts

Stream ProcessingLambda ArchitectureAnalytics

Continue preparing

Build a complete software engineer mock interview plan

Related System Design

Design a Cross-Product Tagging System

Design a shared tagging service that lets users apply tags to entities across multiple Atlassian products, with consistent search and deduplication.