---
title: "Report types reference"
description: "The companion to Report types — per statistics type, which controls, time granularities, group-by dimensions and filters appear, the 32 Advanced-only dimensions and the compacted-logs exceptions, and the full permission and availability rules."
type: "reference"
audience: [network-manager, admin]
keywords: [report types reference, time granularity per report, group by per report type, filters per report type, advanced dimensions, compacted logs, report permissions, analytics report type permission, where permissions live]
ui_path: "Account → Analytics → Filter → Type of reports"
---

Fetch the complete documentation index at: https://epom.com/ad-server/docs/llms.txt. Use this file to discover all available pages before exploring further. Append .md to any documentation page URL to get its markdown version.

# Report types reference

The companion to [Report types](https://epom.com/ad-server/docs/guides/analytics/report-types.md): that page says which type to pick, how fresh
each is and what to do when one is missing; this page holds the per-type tables.

## The types

**General** is always in the list; the other six are specialised types switched on per role and
per network.

| Type | One row is | Data comes from | How it runs |
|---|---|---|---|
| **General** | Aggregated statistics for your group-by (campaign, site, country, day…) | Daily and hourly aggregates the ad servers write, with conversions joined in | Inline, no progress bar |
| **Advanced** | Aggregates recomputed from the full ad-request log, with 32 extra dimensions | The full ad-request log | Background job with a progress bar |
| **Impressions Log** | One impression event | The individual event logs | Background job with a progress bar |
| **Clicks Log** | One click event | Same | Background job with a progress bar |
| **Conversions Log** | One conversion event | Same | Background job with a progress bar |
| **Header Bidding** | A group of header-bidding rounds, split by what filled them — a campaign booked here, the publisher's own ad server, its AdX / AdSense backfill, a partner's bidder code, or nobody — shown as *Direct campaigns*, *Ad server (GAM)*, *AdX / AdSense*, a bidder's name, or *Unfilled* | Its own daily and hourly aggregates | Inline, no progress bar |
| **Targeting Cookie** | Cookie name/value statistics from cookie-targeting logs | Its own daily aggregate | Inline, no progress bar |

Three types read pre-aggregated statistics, not just General. Header Bidding and Targeting Cookie
each have their own daily aggregates, which is why they run inline like General rather than as a
background job. Only Advanced and the three event logs read the full event logs.

The dropdown lists types in a fixed order — General first, then Targeting Cookie, the three event
logs, Advanced and Header Bidding. Entries you lack are dropped, not greyed out, so the list simply
gets shorter.

## Freshness

| Report types | A completed hour becomes reportable | Default schedule |
|---|---|---|
| General, Header Bidding, Targeting Cookie | Right after the hour ends | Hourly, about a minute past the hour; Epom support or your account manager can set a shorter schedule for your network |
| Advanced and the three event logs | About half an hour after the hour ends | Hourly, roughly 25–30 minutes past the hour |

The hour in progress is never included, in any report type. Full explanation:
[Freshness: nothing shows the current hour](https://epom.com/ad-server/docs/guides/analytics/report-types.md#freshness-nothing-shows-the-current-hour).

## What each type offers

Choosing a type rewrites the form. These controls appear, disappear and change contents:

| Control | General | Advanced | Impressions / Clicks / Conversions Log | Header Bidding | Targeting Cookie |
|---|---|---|---|---|---|
| **Time granularity** | None, Hour, Day, Week, Month, Year, 24 Hours | None, Hour, Day, 24 Hours | *hidden* | None, Hour, Day, Week, Month, Year | None, Day, Week |
| **Group by** | ✓ | ✓ | *hidden* | ✓ | ✓ |
| **Split columns by** (per-action columns) | ✓ | ✓ | *hidden* | *hidden* | *hidden* |
| **Time zone** | *the network's, shown* | ✓ | ✓ | *the network's, shown* | *the network's, shown* |
| **Validation** (valid / invalid records) | — | — | ✓ | — | — |
| **Time range** (hours of the day) | — | ✓ | ✓ | — | — |

Two things here surprise people:

- **Advanced has the shortest granularity list among the aggregate types**, not the longest. Week,
  Month and Year are General and Header Bidding only.
- **Header Bidding is the only specialised type that keeps Week / Month / Year**. It is nonetheless
  the one aggregate type without **24 Hours**, which exists only for General and Advanced data.

The dashboard widget dialog applies its own, different granularity rule — for any non-General
widget it drops Hour, Month and Year. A breakdown you can pick in the report builder is not
necessarily offerable in a widget built on the same type.

## Group-by dimensions per type

Each type gets its own dimension set, and the differences are bigger than "Advanced adds some".

| Type | Group-by dimensions |
|---|---|
| **General** | The full base set — Site, OpenRTB Publisher ID, Zone, Placement, Placement Size, Placement Label, Placement Type, Advertiser, Campaign, Banner, Banner Label, Banner Template, ISCI / Ad-ID, Channel, Country, Country Group, Action — plus **Attribution Type**, and Advertiser Owner / Site Owner where permitted. OpenRTB Publisher ID and ISCI / Ad-ID appear only where your network administrator has switched them on for your role |
| **Advanced** | The base set **minus ISCI / Ad-ID and Attribution Type**, plus the Advanced-only dimensions below. On compacted logs Placement Size and Placement Type drop out too |
| **Impressions / Clicks / Conversions Log** | The base set minus Attribution Type — but the Group by control is hidden for these types, so a log report is always a flat event list |
| **Header Bidding** | **Only** Fill Source, Country, Placement, Zone, Site |
| **Targeting Cookie** | **Only** Country |

Header Bidding and Targeting Cookie do **not** inherit the base set — their data has no other
dimensions to group on. Attribution Type is General-only.

**Advanced-only dimensions:** Browser, Browser Version, OS, OS Version,
Top Domain, Package Name, Screen size, Mobile Carrier, Connection Type, Language,
Accept-Language, Time Zone Name, Browser Country, Traffic Source, Location, Custom parameter,
Device format, Proxy, Device Vendor, Device Model, Device Model Code, Device Release Year,
Device RAM, Price Band, Is Web App, Incognito Mode, Browser Rank, Hardware Rank, Platform Rank,
Risk Level, Risk Category.

> **Corner case:** on a network running **compacted analytics logs**, twenty of those are
> removed from Advanced's group-by list — carrier, connection type, both language fields,
> time-zone name, browser country, traffic source, incognito, web-app, placement size and type,
> device format, proxy and the device and risk fields.
> They stay available as *filters*, which is the trap: filtering Advanced on a dimension the compacted
> logs do not carry can legitimately return zero rows while the totals show traffic. If a
> filtered Advanced report comes back empty, drop the exotic dimension and re-run before concluding
> the data is lost.

## Which filters appear where

| Filter group | General | Advanced | Impr. / Clicks Log | Conversions Log | Header Bidding | Targeting Cookie |
|---|---|---|---|---|---|---|
| Country | ✓ | ✓ | ✓ | ✓ | ✓ | — |
| OpenRTB Publisher ID | ✓ | ✓ | — | — | — | — |
| ISCI / Ad-ID | ✓ | — | ✓ | ✓ | — | — |
| Fill Source | — | — | — | — | ✓ | — |
| Placement type / size | ✓ | ✓ | — | — | — | — |
| Conversion action | ✓ | ✓ | — | ✓ | — | — |
| Labels & banner templates | ✓ | ✓ | — | — | — | — |
| Browser / OS / browser country | — | ✓ | — | — | — | — |
| Device details (vendor, model, RAM…) | — | ✓ | — | — | — | — |
| Risk / connection / incognito / language / traffic source | — | ✓ | ✓ | — | — | — |
| Custom parameter / cookie / ref. domain / package | — | ✓ | — | — | — | — |
| Cookie name & value fragments | — | — | — | — | — | ✓ |
| Validation (valid / invalid records) | — | — | ✓ | ✓ | — | — |
| Publishers & advertisers trees | ✓ | ✓ | ✓ | ✓ | publishers only | — |
| Channels | ✓ | ✓ | ✓ | ✓ | — | — |

Header Bidding drops the advertiser tree and the Channel filter because its data records neither.

Every filter is gated **twice** — by the type (this table) **and** by its own permission — so a
column marked ✓ still will not render if your role lacks that filter's permission. The **Validation**
selector needs a third thing: besides the type and the permission, the network must be configured to
store invalid records (a server-side setting; ask Epom support or your account manager to change it), otherwise it never
appears.

## Availability and permission gating

Beyond being switched on for your network at all, each type carries a different **extra**
condition, and it is usually the extra one that is missing.

| Type | What else has to be true |
|---|---|
| **General** | nothing — it is always in the list |
| **Targeting Cookie** | cookie logging is on for the network — a network setting; ask Epom support or your account manager |
| **Impressions / Clicks / Conversions Log** | you can see **all** inventory and **all** campaigns, not just what is shared with you |
| **Advanced** | Advanced analytics is set up for the network — ask Epom support or your account manager |
| **Header Bidding** | nothing beyond being switched on |

Three consequences worth spelling out.

**General cannot be removed from the dropdown.** The permission *Analytics Report Type General*
gates something bigger: the whole **Analytics**
tab, and the server's acceptance of a General report when you press Run report. Take it away and the
user loses reporting entirely, not just the General entry.

**Sharing rules the event logs out completely.** The three log types require view access to *all*
inventory **and** *all* campaigns — not shared access to some. A publisher or advertiser who works
through shares will never see them however their report-type permissions are set, because event rows
expose both sides of the network at once.

**Header Bidding has no feature flag**: it appears only where your network administrator has switched it on for
the role, normally on a network that runs header bidding. Its money columns are the
one place the column rules differ: **Gross** and **eCPM Gross** carry *Analytics Report Column
Gross* and *Analytics Report Column Gross eCPM*, the same two permissions General uses, but they are *not* also ANDed with
*Analytics Report Columns Basic Analytics* the way General's are — so a role holding the money
permission without the basic-columns one sees Gross here and not there.

> **Corner case:** a permission granted but a gate unmet looks identical to no permission at all —
> the type is simply absent, with no message. A role holding *Analytics Report Type Cookie* on a
> network with cookie logging off still has no Targeting Cookie in the dropdown, because the
> cookie-logging gate can only remove types, never add one. If a type you expect is not there, check
> the network configuration before you check the role.

### Where these permissions live

All the report-type permissions except *Analytics Report Type General* are admin-only grants. They
are hidden when a network manager edits sub-roles under **Account → Users** and appear only in the
admin role editor (**Admin → Users & access → Admin roles & permissions**). If you are hunting for
*Advanced Analytics* in the first of those and cannot find it, you are on the wrong of the two
permission screens — not missing a checkbox.

Beyond the type itself, three more permission families shape a report, and each is separate:

- **Columns** are gated by family (Base / Publisher / Advertiser) *and* per individual column.
- **Filters and group-by dimensions** each have their own permission; the server removes the options
  your role lacks before the form is ever built, so they are absent rather than disabled.
- **Date ranges and time granularities** are permissioned individually too (*Analytics Report Time
  Range …* and *Analytics Report Breakdown By …*). A range you lack stays in the Date range list,
  greyed out with a padlock; a granularity you lack is dropped from the Time granularity list.

## Per-role notes

- **Publisher and advertiser** — usually **General** only; any other type is one your network administrator
  switched on for the role.
- **Network manager** — whatever your network administrator granted the role, subject to the extra gates above.
- **Share-limited user** — rows only for entities shared with you; the event logs stay out of
  reach however the permission is set.
- **Administrator** — grant types on the admin permission screen (see
  [Where these permissions live](#where-these-permissions-live)) and check the extra gates before
  promising a type.

## Related

- [Report types](https://epom.com/ad-server/docs/guides/analytics/report-types.md)
- [Run a report](https://epom.com/ad-server/docs/guides/analytics/run-report.md)
- [Analytics dimensions reference](https://epom.com/ad-server/docs/reference/analytics-dimensions.md)
- [Analytics metrics reference](https://epom.com/ad-server/docs/reference/metrics.md)
- [User roles](https://epom.com/ad-server/docs/guides/admin/users-and-roles.md)
- [How Epom computes your numbers](https://epom.com/ad-server/docs/concepts/analytics-pipelines-explained.md)