The AdSense Management API reporting system exposes the flexibility and customization capabilities of the AdSense website. Reports are generated by specifying a list of dimensions and metrics.

## Dimensions

Each time AdSense displays an ad, every event associated with that ad is logged with a set of attributes: date, country, channel, ad unit, etc. These attributes are called dimensions.

Dimensions are used for grouping purposes in reports.
**Some examples:**

`DATE`
:   Groups data in individual days.

`MONTH`
:   Groups data in months.

`PLATFORM_TYPE_NAME`
:   Groups data into platform types, such as `"Desktop"` or `"Tablet"`

## Metrics

When a report is requested, the logged events are added together according to the chosen dimensions. Metrics represent the different measurements you can make on that data.
**Some examples:**

`ESTIMATED_EARNINGS`
:   Measures how much the publisher earned.

`CLICKS`
:   Measures how many times ads were clicked on the publisher's property.

Some metrics are calculated, instead of being measured directly.
**Some examples:**

`COST_PER_CLICK`
:   Measures how much the publisher earns each time a user clicks on their ad.

`AD_REQUESTS_RPM`
:   Measures the revenue per thousand ad requests.

## Using multiple dimensions wisely

The generated report consists of a series of rows, each having one or more fields. Adding a new metric to a report produces a new column but adding a dimension multiplies the number of rows.

For example, a report with `DATE` as a dimension will generate a set of rows, one row for each day with activity. Adding a new dimension, like `CUSTOM_CHANNEL_NAME`, will generate a row per day and per existing channel. As a guideline it's fine to use as many metrics as you like, but try not to use more than two dimensions per report.

<br />

![Choose dimensions wisely](https://developers.google.com/static/adsense/management/images/choosedimensions.png)

<br />

## Incompatible dimensions and metrics

There are some metrics and dimensions that cannot be combined in a single report. For example, a conflict will arise when trying to fetch URL and custom channels at the same time. This limitation is the same as in the AdSense website (Performance reports tab).

## Next steps

- [Handling the Results](https://developers.google.com/adsense/management/reporting/handling_results)
- [Using the Right Dimension](https://developers.google.com/adsense/management/reporting/right_dimension)
- [Specifying a Date Range](https://developers.google.com/adsense/management/reporting/date_ranges)
- [List of Metrics and Dimensions](https://developers.google.com/adsense/management/metrics-dimensions)