Reports have a maximum length of 100,000 rows in the AdSense Management API, by default. If you're
running close to these limits, or running into performance issues while processing the data, here
are some tips that may help.

## Reducing the scale of your report

The first thing to look for when trying to make a report smaller is the list of dimensions you're
using; each dimension you add has a multiplicative effect on the number of returned rows. Make sure
you only add the dimensions you need!

## Splitting your reports

Sometimes, you only need extremely accurate data for a portion of the report, with the rest
allowing for less detail. For example, you could need extremely accurate details for the previous
month's earnings, with stats per country and channel across every day, but only really need the
country-level data when looking before that. You could therefore run a complex report for the
previous month, but a simpler one for the time before that.

## Avoid JSON parsing by switching to CSV

The AdSense Management API allows you to receive your reports in CSV format, rather than the usual JSON.

To do that, simply call the alternate [generateCsv](https://developers.google.com/adsense/management/reference/rest/v2/accounts.reports/generateCsv) method.

#### Example

```
DATE,CLICKS
2014-01-01,2
2014-01-02,1
2014-01-03,4
2014-01-04,1
2014-01-05,1
```

## Next steps

- [Batching](https://developers.google.com/adsense/management/reporting/batching)
- [Using Multiple Dimensions Wisely](https://developers.google.com/adsense/management/reporting/dimensions_metrics#usingmultiple)