Custom Dimensions Overview
Define your own metadata and attach it to your ad events — to enrich the auction, route to your ad server, and segment reports.
What are custom dimensions?
Custom dimensions are additional data points you define that attach to your ad events. They let you:
- Segment reports by your own categories
- Track business-specific attributes
- Analyze performance by custom criteria
Example use cases
| Custom dimension | What it tracks | Analysis enabled |
|---|---|---|
content_type | article, video, gallery | Compare CPM by content format |
author | Writer name | See which authors monetize best |
subscriber_status | free, subscriber, premium | Compare revenue by user type |
section | sports, news, tech | Analyze by content category |
article_length | short, medium, long | Correlate length with revenue |
How it works
Value types
Every custom dimension has a value type that controls what values are allowed and how you can use the dimension in analytics:
| Type | Values | In analytics |
|---|---|---|
| Enum | A fixed list of allowed values you define (e.g. article, video, gallery) | Can group by and filter |
| Boolean | true / false | Can group by and filter |
| String | Free-form text, up to a max length you set (1–1000 characters) | Filter only — not groupable |
| Number | Numeric values | Filter only — not groupable |
Enum and Boolean have controlled, low-cardinality values, so Anima lets you group reports by them. String and Number can take unbounded values; allowing group-by on them would create cardinality explosions, so they're available for filtering only.
Scope
A dimension is scoped to either a customer or a single domain, never both:
- Customer-scoped — applies to every domain under that customer
- Domain-scoped — applies to that one domain only
If a customer-level and a domain-level dimension share the same key, the domain-level one takes precedence for that domain (the more specific scope wins).
Limits
| Limit | Value |
|---|---|
| Number of dimensions | Set per customer or per domain by your plan — there's no fixed 10-per-domain cap |
| Identifier (key) length | Up to 50 characters; lowercase letters, numbers, and underscores, starting with a letter |
| Display name length | Up to 100 characters |
| String value length | Up to 1000 characters (you set the max per dimension) |
| Enum allowed values | A per-plan maximum |
Getting started
- Plan your dimensions — What analysis do you need?
- Create in Anima — Define name and type
- Implement on site — Pass values with page views
- Verify data — Check values appear in reports
- Analyze — Use dimensions in reporting
Common questions
Do I need custom dimensions?
They're optional but valuable if you want to:
- Understand performance by content type
- Identify high-value content
- Make data-driven editorial decisions
If basic metrics (revenue, CPM, impressions) are sufficient, you can skip custom dimensions.
What if I change my mind?
You can:
- Edit dimensions (name, values)
- Delete dimensions (data stops collecting)
- Add new dimensions anytime
Historical data for deleted dimensions is preserved but no new data collects.
Do custom dimensions affect ad serving?
It depends on where you route them. Each dimension can be sent to one or more destinations: your ad server (as a GAM key-value), the auction (to enrich bid requests), and/or analytics (for reporting). Every dimension must have at least one destination enabled. If you enable only the analytics destination, it's reporting-only and doesn't change how ads are served.