v1
latestOpenAPI 3.0.12026-08-06241391671.8 KBReturns report data aggregated by time unit.
Returns performance metrics aggregated by the specified time unit (day, hour, month, etc.). The response is a map of timestamps to metric values, useful for time-series analysis and trend visualization.
Date range
Same half-open [from, to) semantics as GET /report — the 'to' date is exclusive.
Use cases
- Daily performance trends (unit=DAY)
- Hourly granularity for dayparting analysis (unit=HOUR)
- Day-of-week patterns for bid scheduling (unit=DAY_OF_WEEK)
- Hour-of-day patterns for dayparting (unit=HOUR_OF_DAY)
Path parameters
Time unit for aggregation.
- DAY — aggregate by calendar day
- HOUR — aggregate by hour
- MONTH — aggregate by month
- MONTH_DATE — aggregate by month and day
- DAY_OF_WEEK — aggregate by day of week (Monday-Sunday)
- HOUR_OF_DAY — aggregate by hour of day (0-23)
- DAY_OF_WEEK_TIME_OF_DAY — combined day-of-week and hour
Query parameters
Free-text substring search over NAME columns only (campaignName, offerName, ...). NOT for ids and NOT exact — a fragment can match several rows or none. To scope a report to a specific entity by id, use the drilldown filters filter1/filter1Value (e.g. filter1=campaignId, filter1Value=<id>); never put an id here.
Time zone for date aggregation, e.g. 'America/New_York', 'Europe/Warsaw', or 'Etc/GMT'. Default: Etc/GMT. Affects how day, dayOfWeek, and hourOfDay boundaries are calculated.
Drilldown filter dimension — a dimension column to filter the report by an EXACT value, e.g. campaignId. Pair with filter1Value. This is the correct, server-side way to scope a report to a single entity by id; the filter parameter only does free-text name search, which is fragile and can match the wrong row.
Start date/time (inclusive, required). ISO 8601 format, e.g. 2026-03-01T00:00:00Z.
Must be aligned to an hour boundary — minutes and seconds must be zero.
The date range is half-open [from, to) — 'from' is included in results.
Second drilldown filter dimension (optional), e.g. countryCode. Pair with filter2Value.
Currency code for monetary values in the response, e.g. USD, EUR, GBP. Default: USD.
End date/time (EXCLUSIVE). ISO 8601 format. The date range is half-open [from, to) — 'to' is NOT included.
Must be aligned to an hour boundary — minutes and seconds must be zero.
Default: start of the next hour in the request timezone (e.g. if current time is 14:30, default to is 15:00). This means omitting to gives you data up to the current hour.
To query the full day of March 5, set to=2026-03-06T00:00:00Z (next day). Common mistake: setting to=2026-03-05T00:00:00Z returns zero results for March 5.
Exact value for filter2.
Workspace IDs to filter by. Only returns data for campaigns in the specified workspaces.
Controls how conversions are attributed in time. Default: VISIT.
- VISIT — attribute conversion to the time of the original visit (click time)
- CONVERSION — attribute conversion to the time the postback was received
Use VISIT when you want conversions aligned with the traffic that generated them. Not applicable to /report/conversions endpoint.
Period-over-period comparisons: use the same mode for both periods (e.g. WoW with compareFrom/compareTo). Mixing VISIT and CONVERSION produces fake late-funnel drops — conversions registered after the first period closes are visible under CONVERSION but invisible under VISIT.
Exact value for filter1, e.g. the campaign id. Returns only rows matching this value.
Response
Time-series report data aggregated by the specified time unit (day, hour, month, etc.). The data is a map of timestamps to metric values, suitable for charting and trend analysis.