Design a data model (logical schema) for an advertising platform.
Include core entities such as:
-
Business/account (advertiser)
-
Campaign and budget
-
Ad group / line item (if applicable)
-
Creative and assets
-
Targeting (audiences, geo, device, etc.)
-
User (or user identifiers) and privacy constraints
-
Delivery logs: impressions, clicks, conversions
Explain:
-
Key relationships (1:N, N:M) and how you represent them.
-
How the schema supports the major flows:
-
Intake/creation
flow (advertiser creates campaigns/creatives)
-
Serving
flow (ad selection at request time)
-
Tracking
flow (impression/click/conversion logging and attribution)
-
Any indexing/partitioning choices you would make for scale and reporting.