# Mission: LinkedIn Ads Domain Model

## Why
I am building a write-heavy, multi-tenant LinkedIn ad integration: customers connect their
LinkedIn ad accounts via OAuth and my product creates and manages campaigns and ads on their
behalf. I need the domain vocabulary in my head so I can name my own types correctly, argue
about edge cases with confidence, and not discover a modelling mistake three months into
production data.

## Success looks like
- I can name every entity in the LinkedIn ads hierarchy, its exact API resource name, and its URN namespace, from memory.
- I can state which entities can *act* (person, organization) and which can be *promoted*, and where each appears in a payload.
- Given a customer request ("promote this webinar to CTOs in DACH"), I can name the objects I need to create and in what order.
- I can predict why an ad is not serving from the `servingStatuses` / `servingHoldReasons` vocabulary alone.
- I can design my own database schema for multi-tenant ad management without leaking LinkedIn's naming mistakes into my core domain.
- I can explain what a Matched Audience is, which of the two facets a given segment belongs in, and why that is unknowable from the URN alone.

## Constraints
- Write path first; reporting/analytics comes later.
- Multi-tenant: OAuth into many customer accounts, so access control and roles matter.
- All ad formats in scope eventually — including Sponsored Messaging, which has a different object model.
- Matched Audiences pulled *into* scope 2026-08-26. Note it is a separate API program with separate vetting — a business-development dependency, not just an engineering one.
- Depth over speed. No ship deadline forcing shortcuts.
- Prior knowledge: Meta Ads model (Ad Account → Campaign → Ad Set → Ad). This is an asset and a source of interference.

## Out of scope (for now)
- Reporting and analytics APIs (`adAnalytics`, demographics breakdowns).
- Conversion tracking and the Insight Tag as an *implementation* topic (the retargeting segments it produces are in scope; installing the tag is not).
- Bidding strategy as an *economics* topic (only the vocabulary, not how to bid well).
