Concepts
Every term you'll see in Level — client, placement, campaign, segment, metric, report, connected account — explained once.
Level is built around a small set of objects. Once you know how they fit together, every screen makes sense.
The hierarchy
Organization
├── Team / Sub-team → Users & Teams
└── Client → Clients
├── Connected Account → Connected Accounts (organization-level, attached per placement)
├── Placement → Placements
│ └── Campaign → Campaigns (read-only, synced from the platform)
├── Segment → Segments
├── Metric → Metrics (system + custom)
└── Report → Reports
Core objects
Client
A client is a single brand or account you report on. An agency typically has many clients; an in-house team might have one. Everything in the app is scoped to the currently selected client — you switch clients from the client switcher at the top-left of the app.
Each client has its own placements, segments, custom metrics, and reports. They are not shared between clients.
Connected account
A connected account is an OAuth link between Level and an ad platform — Google Ads or Meta. You authorize once with the email that has access to the ad accounts on the platform side; Level then sees the list of ad accounts that login can read.
Connected accounts are owned by you (the user who connected them). One Level user can connect multiple Google or Meta accounts.
Placement
A placement is one ad account on one platform, attached to one client. Concretely: it's the link between "this Google Ads account ID" and "this Level client." A placement has:
- A name you choose (e.g. "Acme · Google Search").
- A platform — Google Ads or Meta.
- A connected provider account — which OAuth login Level uses to read it.
- An advertising account — the actual ad account ID under that login.
- A currency — inherited from the ad account, used in reports.
When you add a placement, Level immediately starts pulling historical data and keeps it fresh.
Campaign
A campaign is a single advertising campaign as it exists on the platform (Google Ads / Meta). Level reads campaigns; it does not create or edit them. Campaigns are synced automatically from each placement's ad account.
You don't manage campaigns inside Level — you tag them with segments so that reports group by purpose (Acquisition, Remarketing, etc.) rather than by raw campaign names.
Segment
A segment is a label you put on one or more campaigns to group them by intent — e.g. Acquisition, Remarketing, Brand. Segments are per-client and have a name, a color, and an icon.
Reports of type Segments roll up campaigns into rows by segment, so a stakeholder sees totals for "Acquisition" rather than every campaign individually.
Metric
A metric is a number you can put in a report column. There are three families:
- System metrics — three fixed metrics the platform always exposes: Purchases, Revenue, Lead. You configure which platform-side conversions feed each one (see conversion mapping).
- Custom metrics — metrics you create yourself, either as a sum of conversions (
CONVERSION_SUM) or as a formula (FORMULA) over other metrics, e.g.revenue / cost. - Display formatting — the app already knows how to format common metrics: monetary (
cost,revenue,cpa,cpm,aov), percentage (ctr), ratio (roas). If you create a custom metric named one of these, it auto-formats appropriately.
Metrics are per-client. The same metric definition is reused across every report for that client.
Report
A report is a saved view: which placements, which segments (or campaigns/months/groups), which metrics, which currency, which date range. Level supports four report types:
- Segments — rows = segments.
- Campaigns — rows = campaigns (sortable by metric).
- Months — rows = months (chronological).
- Placements — rows = placement groups you define inside the report (e.g. "Paid social" group containing 3 placements).
Once saved, a report stays live — when underlying data changes, the report updates.
People and access
Organization, Team, Sub-team
The user side of Level is a tree: Organization → Team → Sub-team → .... Members live on the tree at whichever node they belong to. This is what controls who sees which clients and who can edit what.
Role
A role is a named bundle of permissions, attached to a unit on the tree. Members at that unit get those permissions. Roles are managed under Users & Teams.
Permission override
A permission override grants or revokes one specific permission for one specific user, on top of whatever their role gives them. Use this when one person needs a tweak that doesn't justify a whole new role.
Naming you'll see across the app
| In the UI | What it actually is |
|---|---|
| Connect platform / Add Connection | Start a new OAuth flow → creates a Connected Account |
| Add placement | Wire an existing connected account's ad account into the current client |
| Refresh accounts | Re-pull the list of ad accounts visible to that OAuth login |
| Reconnect | Re-authorize an expired OAuth token (same flow as the original Connect) |
| New report | Open the report drawer to create a Report |
| Customize metrics / segments | Reorder or hide columns/rows in a report (saved per user, per report) |
| Configure conversions | Map platform-side conversion events onto Purchases / Revenue / Lead |