Reporting API V1

<!-- theme: danger -->

This API is deprecated and will be removed soon

The new API docs can be found here: https://apidocs.mediamath.com/docs/reporting-api-v2

<!-- theme: warning -->

Support for adama_cookie will be removed later this year. We ask all of our clients who have not yet migrated to OAuth2 authorization to do so as soon as possible.

The Reports API on MediaMath Platform allows advertisers to access, query and aggregate reporting data. It is also the API that powers all reporting seen on our MediaMath Platform flagship UI.

The Reports API offers a number of reports. Each report offers its own pre-aggregated, time-based metrics on entities that users can query. A query can filter, aggregate, sort, paginate, and format this data.

It is a read-only system meaning no request against it can alter the data in any way.

It is also a metadata-driven system. The supported reports are described in a human- and machine-readable format. This ensures easy one-off and repeatable programmatic data querying. It also provides a way for clients to adapt to changes in reports programmatically. This gives client-developers the ability to create UIs that provide useful operational feedback in a navigable and understandable way.

The $API_BASE for the latest version of Reports API is

https://api.mediamath.com/reporting/v1/std

Authentication

Fields

Report data is stored and output in a tabular format. This means that the output consists of rows and columns. Every row has a value for every column.

The structure object can be used to determine the columns a report can output. Its fields are divided among three mappings - time_field, dimensions, and metrics. Each mapping, maps field name to #model:Fqbi8siNTuFGqA2W5.

{
  
  "time_rollups" : [ "by_day", "by_week", "by_month", "all" ],
  "time_windows" : [ "yesterday", "last_X_days", "month_to_date", "campaign_to_date" ],
  "timezone" : "campaign timezone",
  "time_aggregation" : "by_day",
  "structure" : { 
    "time_field" : { 
      "date" : { 
        "name" : "Date",
        "type" : "datetime"
      }
    },  
    "dimensions" : {
      "campaign_id" : { ... },
      "campaign_name" : { ... },
      "strategy_id" : { ... },
      "strategy_name" : { ... }
    },  
    "metrics" : { 
      "clicks" : { ... },
      "impressions" : { ... }
    }
  }
  ...
}

Time Field

The time field represents the time-component of the report's metrics. There is (currently) only one time field for each report. It can be of one of these data types: datetime or interval. Its data type determines the type of report (datetime or interval based report).

Note: The type of report is not to be confused with the Type attribute. The Type attribute is purely informational.

The time field was distinguished from the dimension fields to allow its use in grouping and filtering rows easier to understand. It gets its own set of parameters and language.

datetime-typed Time Fields

Datetime-typed time fields contains a combination of year, month, day, and possibly down to hour, minute and second. The time_aggregation property indicates the field's finest grain (by_hour, by_day, etc). The time_rollups property indicates the available grouping options that can go beyond the time_aggregation of the report.

time_rollup=by_week     ### group rows by the week  -  week starts on Monday 
time_rollup=by_month    ### group rows by the month
time_rollup=all         ### produces at most one row of output per combination of dimension fields
                        ### listed in the dimensions parameter

The time field for these reports are typically represented in the output by a start_date and end_date column. The format of the column will depend on the time window and time_rollup.

  • YYYY-MM-DD
  • YYYY-MM-DD hh:mi:ss

The only exception to this rule is detailed in the Special Time Windows section.

The timezone of the start_date and end_date columns will match the timezone property.

interval-typed Time Fields

interval-typed time fields, contain a predefined non-calendar date based aggregation (1 day, 7 days, 30 days, and so on). In this case, the only accepted way to specify a time interval is by using the parameter time_window. The only value supported for the parameter time_rollup for interval-based reports is all.

The time field for these reports are represented in the output by a interval column. The value of the column will depend on the time_window chosen. The following gives example column values based on the time_window.

  • yesterday - 1
  • last_7_days - 7
  • last_30_days - 30
  • campaign_to_date - CTD
  • flight_to_date - FTD

Filtering with the Time Field

The API requires the specification of a time window in order to narrow the data set operated on. A time window must be specified in one of the two possible ways.

  • start_date and end_date (optional - defaults to "yesterday").
  • time_window may be set to one of the formats defined by the time_windows attribute.
###  operate on data timestamped between Jan 01, 2013 and Feb 01, 2013, inclusive
start_date=2013-01-01&end_date=2013-02-01  
###  operate on data timestamped between May 05, 2013 and yesterday, inclusive
start_date=2013-05-01  
###  other usage examples 
time_window=last_30_days 
time_window=month_to_date 
time_window=yesterday 
start_date and end_date

start_date and end_date may only be used when the report's time field is of the datetime type. They may not be used when the report's time field is of the interval data type. This is because the time_windows are pre-defined intervals that cannot be split.

The start_date and end_date parameters define inclusive boundaries for the data. In order to ease the burden of calculating an inclusive end, the inputs may be specified at various granularities.

  • month - YYYY-MM
  • day - YYYY-MM-DD
  • hour - YYYY-MM-DDThh
  • minute - YYYY-MM-DDThh:mi
  • second - YYYY-MM-DDThh:mi:ss

Each granularity matches a substring of the ISO 8601 format.

If the report is at a coarser granularity (see time_aggregation) than the input, the input will be taken to mean the entirety of the time unit.

start_date=2016-04-12T01%3A30%3A00&end_date=2016-04-12T02%3A30%3A00
# ie. start_date=2016-04-12T01:30:00&end_date=2016-04-12T02:30:00
# For a report with a time_aggregation of by_hour:
# 2016-04-12T01:00:00 to 2016-04-12T02:59:59.
 
# For a report with a time_aggregation of by_day:
# 2016-04-12T00:00:00 to 2016-04-12T23:59:59
time_window

All values mentioned in the time_windows array will be accepted verbatim by the time_window parameter with the exception of any time window that starts with last_X_. They may be interpreted as such.

  • The last_X_days time window ends yesterday (inclusive) and starts X days before that.
  • The last_X_hours time window ends at the previous hour (inclusive) and starts X hours before that.

Future windows of this type may be defined following this nomenclature, but for different units. Rules for the time window may vary slightly.

Special Time Windows

The following time_windows are considered to be special time windows.

  • campaign_to_date
  • flight_to_date

For reports with a datetime-typed time_field, the start_date and end_date columns that would normally be present, will be replaced by the interval column. Additionally, the following validation rules apply when a special time_window is chosen.

  • The results will have an interval column instead of start_date and end_date columns.
  • The time_rollup parameter must be set to all.
  • Any mention of the time_field for the report in the order parameter will be rejected.

Dimension Fields

Dimension fields describe an entity. The example reports provide dimension fields for campaign, and strategy entities. Dimension fields are used to group rows during aggregation in conjunction with the time field.

Metric Fields

Once the rows have been grouped. The metric fields are calculated based on the values of the group's underlying rows. These calculations are generally sums or averages. These fields are usually a numeric data type.

Please note that fees (eg: managed_service_fee, optimization_fee, platform_access_fee, and mm_total_fee), cost (eg: adserving_cost, adverification_cost, media_cost, and tota_ad_cost), and margin data are only available to users who have “edit margin” access.

Data Types

The id type allows any character except whitespace.

The datetime type may be filtered by dates, or datetimes in either of the following ISO 8601 based formats.

  • date - YYYY-MM-DD
  • datetime - YYYY-MM-DDThh:mi:ss

Year, month, and day are all 1-based. Hour, minute, and second are all 0-based. Valid hours are 0-23.

The dimension fields of the datetime type will always be output in the aforementioned datetime format. The output columns for the time field will be output in the same format, but without the separating 'T'.

Field Data Type Groupings

This documentation may refer to multiple data types via a group name. The following table details the group names.

GroupData Types
floatfloat, money, percent, ratio
integerinteger, count, rank
numericfloat and integer groups
datedatetime
stringstring, interval
idid
boolbool, boolean
Download OpenAPI description
Languages
Servers
Mock server
https://apidocs.mediamath.com/_mock/apis/reporting-api-v1/
https://api.mediamath.com/reporting/v1/std/

Data Retrieval

_

Operations

Metadata

_

Operations

Reports

_

Operations

App Transparency

Request

<!-- theme: danger -->

This API is deprecated and will be removed soon

The new API docs can be found here: https://apidocs.mediamath.com/docs/reporting-api-v2

See or query the Meta Endpoint for required fields and parameters.

curl -i -X GET \
  https://apidocs.mediamath.com/_mock/apis/reporting-api-v1/app_transparency

Responses

Body*/*
any

App Transparency Meta

Request

<!-- theme: danger -->

This API is deprecated and will be removed soon

The new API docs can be found here: https://apidocs.mediamath.com/docs/reporting-api-v2

Get App Transparency Meta

curl -i -X GET \
  https://apidocs.mediamath.com/_mock/apis/reporting-api-v1/app_transparency/meta

Responses

Body*/*
Descriptionstring

Standard performance metrics in campaign currency and broken out by our widest array of dimensions. Available in custom date ranges or intervals with the option to aggregate by day, week, or month.

Namestring

Performance Report in Campaign Currency

Typestring
URI_Datastring
Default "https://api.mediamath.com/reporting/v1/std/performance"
URI_Metastring
Default "https://api.mediamath.com/reporting/v1/std/performance/meta"
Versioninteger
currencystring

campaign currency

data_retentionstring
default_metricsArray of strings
structureobject
time_aggregationstring
time_rollupsArray of strings
time_windowsArray of strings
timezonestring

Audience Index

Request

<!-- theme: danger -->

This API is deprecated and will be removed soon

The new API docs can be found here: https://apidocs.mediamath.com/docs/reporting-api-v2

The Audience Index Report measures how your site visitors or media viewers compare to the internet population as a whole. It’s created by classifying your Audience (as defined by pixel, campaign, or strategy) cookies according to 3rd party segments, and then comparing the result to how the broader internet fits those segments. Use it to gain a better understanding of the demographics you are reaching.

API Endpoints

The Audience Index Report is divided into two different endpoints, one for media and one for pixels.

Campaign and strategy dimensions are available in:

$API_BASE/audience_index

The pixel dimension is available in:

$API_BASE/audience_index_pixel

Note: Pixels will only appear in the /audience_index_pixel report if they have at least 30 matches with all audience_name fields under a given audience_path. If a pixel has a small number of loads, it will most likely fail to meet this criteria.

Important Fields

Report-Specific Fields

audience_name - this field provides the name of the 3rd party segment that’s being matched. Best practice is to always include audience_name in your report, otherwise audience_index values will be aggregated across selected dimensions, and it won't be a sensical metric.

audience_path - segments are organized in hierarchies. For example, the “dentist” segment lives under the Demographic > Employment > Occupations > Health categories. The audience_path field shows this relationship. It is also used to help calculate the audience index, as shown below.

audience_index - this field is a relative value that describes the composition of your audience as compared to the internet average using segments provided by 3rd party data companies. If the index value for a given segment is 100, it means that your audience contains the same proportion of that demographic as the overall internet. If the value is greater than 100, your audience is over-indexed with that segment - that is, it consists of a greater portion of that segment than the general internet population does. If it’s less than 100, your audience is under-indexed. For example, a sporting goods retailer might hope that the customers they target with a golf supplies campaign would over-index on BlueKai’s “Interest/Sports/Golf” segment. If the index for this segment is 150, it means that the share of customers with an interest in golf is 50% higher in the retailer’s audience than it is in the total internet population.

NOTE: The audience_name dimension and audience_index metric are what make the Audience Index Report unique. In fact, the report would be useless without these fields, so always be sure to include them.

Time Fields

audience_index is available as an interval report. Currently only one time_window is supported: last_14_days. The only time_aggregation available is “all".

Updates

Data is updated weekly (Sunday). Check the Last-Modified date in the header for more specific timing.

Calculations

The audience_index field is calculated as follows:

  • x = unique customers in pixel pool, strategy media viewers, or campaign media viewers
  • y = x in segment / x in segment path
  • z = Total Internet in segment / Total Internet in segment path segment_index = y/z * 100

Example

Here’s how the Audience Index Report would help a youth apparel retailer determine whether they are successfully reaching the “age 18-24” age demographic.

  1. We look at the desired campaign/pixel/strategy and count total matched people against all of the 3rd party provider's age data: 400,000
  2. We look at the same campaign/pixel/strategy data for 18-24: 100,000
  3. So, 25% of your matched strategy, campaign or pixel data falls into the “age 18 to 24” segment
  4. We look at all cookies the 3rd party has matched to the broader internet for ALL of the age segments: 1,000,000
  5. We look at how many cookies the 3rd party has matched to the broader internet for people in the “age 18-24” segment: 200,000
  6. So, the 3rd party says that 20% of all internet cookies are between 18 and 24
  7. Therefore the audience_index is 125 (25/20)
Query
dimensionsstringrequired

Selects the dimension fields to use in grouping rows.

This should be a comma-separated list of dimension field names.

The position of the fields in the output is not guaranteed to match the parameter value. Always use the header line from the response body to identify the position of each column in the output.

metricsstring

Controls the selection of metric fields.

This should be a comma-separated list of metric field names.

If not specified, this will default to the metric fields specified by the default_metrics property of the https://apidocs.mediamath.com/docs/api/e39ffafb5c6cb-report-meta.

The position of the fields in the output is not guaranteed to match the parameter value. Always use the header line from the response body to identify the position of each column in the output.

filterstringrequired
havingstring
time_rollupstringrequired
time_windowstringrequired
start_datestringrequired
end_datestring
Default "yesterday"
orderstring

Controls the sorting of the groups.

This should be a comma-separated list of field names. Each field name may optionally be prefixed with a minus sign to indicate descending order. Otherwise, ascending order is assumed.

The first field has the most significance in sorting.

page_limitinteger>= 1

Controls the maximum number of rows of data.

This parameter is required, if page_offset is one or greater.

Default 100
page_offsetinteger>= 0

Controls how many pages to skip.

precisioninteger[ 0 .. 8 ]

Controls how many digits to the right of the decimal places to display for float types.

Default 8
Headers
Cookiestringrequired

_

Default adama_session=<<sessionid>>
Accept-Encoding:string

If the client supports the compression methods also supported by the server (currently gzip and deflate), the response data set (text/csv) will be returned in a compressed format. The metadata and error responses will not be compressed.

In order to receive the data in compressed format, the client must use the HTTP request header Accept-Encoding, and enumerate the preferred compression methods (see RFC 2616). If the header Accept-Encoding is not present in the request, or if it contains only compression methods not supported by the system, the data will be returned in an uncompressed format.

### request Accept-Encoding: gzip,deflate

### response
Content-Encoding: gzip Content-Type: text/csv; charset=UTF-8

Value"gzip,deflate"
If-Modified-Sincestring(date-time)

If the data has not changed, the server responds with a 304 Not Modified status code and an empty response body.

If the same request was issued and the data had been updated since the specified time, the server responds with the data requested and a new Last-Modified header.

curl -i -X GET \
  'https://apidocs.mediamath.com/_mock/apis/reporting-api-v1/audence_index?dimensions=string&end_date=yesterday&filter=string&having=string&metrics=string&order=string&page_limit=100&page_offset=0&precision=8&start_date=string&time_rollup=string&time_window=string' \
  -H 'Accept-Encoding:: gzip,deflate' \
  -H 'Cookie: adama_session=<<sessionid>>' \
  -H 'If-Modified-Since: 2019-08-24T14:15:22Z'

Responses

Audience Index Meta

Request

<!-- theme: danger -->

This API is deprecated and will be removed soon

The new API docs can be found here: https://apidocs.mediamath.com/docs/reporting-api-v2

Get Audience Index Meta

Headers
Cookiestringrequired

_

Default adama_session=<<sessionid>>
curl -i -X GET \
  https://apidocs.mediamath.com/_mock/apis/reporting-api-v1/audence_index/meta \
  -H 'Cookie: adama_session=<<sessionid>>'

Responses

Body*/*
Namestringrequired

This is the human-readable name of the report. It is not recognized by any API input.

Versionintegerrequired
Descriptionstring
URI_Datastring(uri)required
URI_Metastring(uri)required
Transitionobject
Deprecationobject
Typestring
currencystring

Provides information about the currency of the metrics fields typed as "money".

When set to "campaign currency", the currency varies from record to record. To determine the currency for a particular record, the campaign_currency_code dimensions field should be requested, if available for the report.

Any other value should be taken to be the currency for all records of the report.

data_retentionstring

Indicates how far back data is available. This can be a date, datetime, or time window as specified by the "time_window" and "Special Time Windows" sections of https://apidocs.mediamath.com/docs/api/a726318c29d15-reports-api. This property should be used very loosely. It may not be accurate. It is meant to give a general idea.

default_metricsArray of stringsrequired
structureobjectrequired
structure.​time_fieldobjectrequired
structure.​time_field.​property name*object(Field Description)additional property
structure.​dimensionsobjectrequired
structure.​dimensions.​property name*object(Field Description)additional property
structure.​metricsobjectrequired
structure.​metrics.​property name*object(Field Description)additional property
time_aggregationstring

This property indicates the finest granularity of the time_field. For reports with a time_field of the datetime type, this will be "by_hour", "by_day", etc. When the type is interval, this will be "various".

time_rollupsArray of stringsrequired

This property indicates the available levels of granularity for the time_field. It lists the valid values of the time_rollup parameter used for the https://apidocs.mediamath.com/docs/api/aa580375b0b65-report-data endpoint. For reports with a time_field of the datetime type, this tends to be a combination of "by_hour", "by_day", "by_week", "by_month", "all", etc. When the type is interval, this will only include "all".

time_windowsArray of stringsrequired
timezonestring

Provides information about the timezone of the time_field for the report.

When set to "campaign timezone", the timezone varies from record to record. To determine the currency for a particular record, the campaign_timezone dimensions field should be requested, if available for the report.

Any other value should be taken to be the timezone for all records of the report.

Audience Index Pixel

Request

<!-- theme: danger -->

This API is deprecated and will be removed soon

The new API docs can be found here: https://apidocs.mediamath.com/docs/reporting-api-v2

Special index metrics for comparing your site visitors to 3rd party segments. Broken out by audience name and pixel. Currently available in one interval: last 14 days.

Query
dimensionsstringrequired

Selects the dimension fields to use in grouping rows.

This should be a comma-separated list of dimension field names.

The position of the fields in the output is not guaranteed to match the parameter value. Always use the header line from the response body to identify the position of each column in the output.

metricsstring

Controls the selection of metric fields.

This should be a comma-separated list of metric field names.

If not specified, this will default to the metric fields specified by the default_metrics property of the https://apidocs.mediamath.com/docs/api/e39ffafb5c6cb-report-meta.

The position of the fields in the output is not guaranteed to match the parameter value. Always use the header line from the response body to identify the position of each column in the output.

filterstringrequired
havingstring
time_rollupstringrequired
time_windowstringrequired
start_datestringrequired
end_datestring
Default "yesterday"
orderstring

Controls the sorting of the groups.

This should be a comma-separated list of field names. Each field name may optionally be prefixed with a minus sign to indicate descending order. Otherwise, ascending order is assumed.

The first field has the most significance in sorting.

page_limitinteger>= 1

Controls the maximum number of rows of data.

This parameter is required, if page_offset is one or greater.

Default 100
page_offsetinteger>= 0

Controls how many pages to skip.

precisioninteger[ 0 .. 8 ]

Controls how many digits to the right of the decimal places to display for float types.

Default 8
Headers
Cookiestringrequired

_

Default adama_session=<<sessionid>>
Accept-Encoding:string

If the client supports the compression methods also supported by the server (currently gzip and deflate), the response data set (text/csv) will be returned in a compressed format. The metadata and error responses will not be compressed.

In order to receive the data in compressed format, the client must use the HTTP request header Accept-Encoding, and enumerate the preferred compression methods (see RFC 2616). If the header Accept-Encoding is not present in the request, or if it contains only compression methods not supported by the system, the data will be returned in an uncompressed format.

### request Accept-Encoding: gzip,deflate

### response
Content-Encoding: gzip Content-Type: text/csv; charset=UTF-8

Value"gzip,deflate"
If-Modified-Sincestring(date-time)

If the data has not changed, the server responds with a 304 Not Modified status code and an empty response body.

If the same request was issued and the data had been updated since the specified time, the server responds with the data requested and a new Last-Modified header.

curl -i -X GET \
  'https://apidocs.mediamath.com/_mock/apis/reporting-api-v1/audience_index_pixel?dimensions=string&end_date=yesterday&filter=string&having=string&metrics=string&order=string&page_limit=100&page_offset=0&precision=8&start_date=string&time_rollup=string&time_window=string' \
  -H 'Accept-Encoding:: gzip,deflate' \
  -H 'Cookie: adama_session=<<sessionid>>' \
  -H 'If-Modified-Since: 2019-08-24T14:15:22Z'

Responses

Audience Index Pixel Meta

Request

<!-- theme: danger -->

This API is deprecated and will be removed soon

The new API docs can be found here: https://apidocs.mediamath.com/docs/reporting-api-v2

Get Audience Index Pixel Meta

Headers
Cookiestringrequired

_

Default adama_session=<<sessionid>>
curl -i -X GET \
  https://apidocs.mediamath.com/_mock/apis/reporting-api-v1/audience_index_pixel/meta \
  -H 'Cookie: adama_session=<<sessionid>>'

Responses

Body*/*
Namestringrequired

This is the human-readable name of the report. It is not recognized by any API input.

Versionintegerrequired
Descriptionstring
URI_Datastring(uri)required
URI_Metastring(uri)required
Transitionobject
Deprecationobject
Typestring
currencystring

Provides information about the currency of the metrics fields typed as "money".

When set to "campaign currency", the currency varies from record to record. To determine the currency for a particular record, the campaign_currency_code dimensions field should be requested, if available for the report.

Any other value should be taken to be the currency for all records of the report.

data_retentionstring

Indicates how far back data is available. This can be a date, datetime, or time window as specified by the "time_window" and "Special Time Windows" sections of https://apidocs.mediamath.com/docs/api/a726318c29d15-reports-api. This property should be used very loosely. It may not be accurate. It is meant to give a general idea.

default_metricsArray of stringsrequired
structureobjectrequired
structure.​time_fieldobjectrequired
structure.​time_field.​property name*object(Field Description)additional property
structure.​dimensionsobjectrequired
structure.​dimensions.​property name*object(Field Description)additional property
structure.​metricsobjectrequired
structure.​metrics.​property name*object(Field Description)additional property
time_aggregationstring

This property indicates the finest granularity of the time_field. For reports with a time_field of the datetime type, this will be "by_hour", "by_day", etc. When the type is interval, this will be "various".

time_rollupsArray of stringsrequired

This property indicates the available levels of granularity for the time_field. It lists the valid values of the time_rollup parameter used for the https://apidocs.mediamath.com/docs/api/aa580375b0b65-report-data endpoint. For reports with a time_field of the datetime type, this tends to be a combination of "by_hour", "by_day", "by_week", "by_month", "all", etc. When the type is interval, this will only include "all".

time_windowsArray of stringsrequired
timezonestring

Provides information about the timezone of the time_field for the report.

When set to "campaign timezone", the timezone varies from record to record. To determine the currency for a particular record, the campaign_timezone dimensions field should be requested, if available for the report.

Any other value should be taken to be the timezone for all records of the report.

Brain Feature Summary report

Request

<!-- theme: danger -->

This API is deprecated and will be removed soon

The new API docs can be found here: https://apidocs.mediamath.com/docs/reporting-api-v2

The Brain Feature Summary report

Sample usage: GET https://api.mediamath.com/reporting/v1/std/brain_feature_summary/meta?v1

Background

The Brain Feature Summary report provides transparency into how the Brain optimizes. The Brain Feature Summary Report centralizes impression features, such as Exchange, Site, Creative Size or Day of Week, that have the largest predictive impact. Features are a column of dataset used as an input to the model. For example; device_model, day_of_week or browser. Descriptions of Current Brain Features are available here. Feature values are not listed in the report. This report gives you transparency into the importance of each Brain Feature at the aggregated level.

The information in this report is provided when a new Brain model is generated, but some days in the reporting period may be missing (which is normal). Depending on the training data, we may not always generate a new model so you may see gaps (not all days will generate the report). The report time rollups are updated daily, typically before 18:00 UTC. The data contained for the date in the report will be for the latest model picked up on that day and loaded into reporting. Retention is on a rolling 30 days, with a date range therefore of up to 30 days. T1 continues to train Brain models just in case the campaign is set live again, maximizing your opportunity to take advantage of the Brain Optimization on spend. Once there is no more training data (after 23 days of no activity) T1 will stop generating new models until spend recommences.

The information included in the Brain Feature Summary report is not relevant in the following circumstances:

  • Campaigns powered by a Custom Brain
  • CPA/ROI strategies within a campaign using 3rd-party attribution
  • CPA strategies within a campaign with post-view attribution discounted below 100%

How to run a Brain Feature Summary report via T1 instead of by API:

  1. Navigate to the Reports module
  2. Click on the Data Export tab
  3. Type the name of the report in the File Name field
  4. Select the Brain Feature Summary report from the Report Type drop-down list
  5. Select the date range you want your report to cover
  6. Select Agency, Advertiser and Campaign from the relevant drop-down lists
  7. Select your preferred Dimensions

The Brain Feature Summary report itself

This report exports multiple campaigns and Goal Types at once.

Sample CSV view of a Brain Feature Summary report

| | A | B | C | D | E | F | G | H | I | |---|---|---|---|---|---|---|---|---|---|---| | 1 | start_date | end_date | organization_id | advertiser_id | agency_id | campaign_id | model_goal | feature | | 2 | 10/8/2019 | 10/8/2019 | 100001 | 10002 | 10003 | 111111 | cpa | category_id | | 3 | 10/8/2019 | 10/8/2019 | 100001 | 10002 | 10003 | 111111 | cpa | id_vintage | | 4 | 10/8/2019 | 10/8/2019 | 100001 | 10002 | 10003 | 111111 | cpa | week_part | | 5 | 10/8/2019 | 10/8/2019 | 100001 | 10002 | 10003 | 111111 | cpa | exchange_viewability_rate | | 6 | 10/8/2019 | 10/8/2019 | 100001 | 10002 | 10003 | 111111 | cpa | region_id | | 7 | 10/8/2019 | 10/8/2019 | 100001 | 10002 | 10003 | 111111 | cpa | conn_speed | | 8 | 10/8/2019 | 10/8/2019 | 100001 | 10002 | 10003 | 111111 | cpa | day_of_week | | 9 | 10/8/2019 | 10/8/2019 | 100001 | 10002 | 10003 | 111111 | cpa | browser_version | | 10 | 10/8/2019 | 10/8/2019 | 100001 | 10002 | 10003 | 111111 | cpa | site_id | | 11 | 10/8/2019 | 10/8/2019 | 100001 | 10002 | 10003 | 111111 | cpa | exchange_id_cs_site_id | | 12 | 10/8/2019 | 10/8/2019 | 100001 | 10002 | 10003 | 111111 | cpa | day_part | | 13 | 10/8/2019 | 10/8/2019 | 100001 | 10002 | 10003 | 111111 | cpa | dma_id | | 14 | 10/8/2019 | 10/8/2019 | 100001 | 10002 | 10003 | 111111 | cpa | deal_id | | 15 | 10/8/2019 | 10/8/2019 | 100001 | 10002 | 10003 | 111111 | cpa | os_id |

What's in the Brain Feature Summary report

ColumnExample*Description
Start Date8/31/2019Date when these values were being used in bidding.
End Date8/31/2019Date when these values were being used in bidding.
Organization ID100001
Agency ID10002
Advertiser ID10003
Campaign ID111111MediaMath unique ID for campaign.
Model GoalCPA, ROI, CPC, etc.The Goal Type that the model was trained for. Each Goal Type will have a different Brain model.
Featureisp_id, day_of_week, size, week_part, category_idThe Dimension used as input into the Brain Machine Learning model. For a full list, see here.
Position0, 1, 2, 3, 4, ..., 99For bottom_features, a Position of 0 means it had the lowest "Mean". For top_features, a Position of 0 means it had the highest "Mean".
Index2.1925095The index column gives you a comparative indication of the relative importance of features based on normalized attribution, at an aggregated level. While the values might not make much sense for a global understanding of the model, the index gives an indication of what the model sees as important features when its trained. The higher the Index number, the higher the importance.

*Note: Only 1 value will appear, not a comma-delimited list, although feature_value may be a pipe-delimited list)

curl -i -X GET \
  https://apidocs.mediamath.com/_mock/apis/reporting-api-v1/brain_feature_summary/meta

Responses

Body*/*
object

Brain Feature Value report

Request

<!-- theme: danger -->

This API is deprecated and will be removed soon

The new API docs can be found here: https://apidocs.mediamath.com/docs/reporting-api-v2

Brain Feature Value Report

Sample usage: GET https://api.mediamath.com/reporting/v1/std/brain_feature_value/meta?v1

Background

The Brain Feature Value report gives you transparency into the top 100 and bottom 100 feature values (e.g. site A, creative 123, exchange 1) that impact predictions for each optimization Goal Type (for example, ROI, CPA, VCR). This shows how each Brain Feature Value directly influences and informs impression prediction and pricing. Descriptions of Current Brain Features themselves are available here. When T1 generates a Brain, there can be 200K+ predictions for Feature Values. To make these predictions more accessible, T1 selects the top 100 and bottom 100 Feature Values (which can vary daily) generated for that day for your viewing per optimization goal.

The information in this report is provided when a new Brain model is generated, but some days in the reporting period may be missing (which is normal). Depending on the training data, we may not always generate a new model so you may see gaps (not all days will generate the report). The report time rollups are updated daily, typically before 18:00 UTC. The data contained for the date in the report will be for the latest model picked up on that day and loaded into reporting. Retention is on a rolling 30 days, with a date range therefore of up to 30 days. T1 continues to train Brain models just in case the campaign is set live again, maximizing your opportunity to take advantage of the Brain Optimization on spend. Once there is no more training data (after 23 days of no activity) T1 will stop generating new models until spend recommences.

The information included in the Brain Feature Value report is not relevant in the following circumstances:

  • Campaigns powered by a Custom Brain (for more on Custom Brain see here)
  • CPA/ROI strategies within a campaign using 3rd-party attribution
  • CPA strategies within a campaign with post-view attribution discounted below 100%

How to run a Brain Feature Value report via T1 instead of by API:

  1. Navigate to the Reports module
  2. Click on the Data Export tab
  3. Type the name of the report in the File Name field
  4. Select the Brain Feature Value report from the Report Type drop-down list
  5. Select the date range you want your report to cover
  6. Select Agency, Advertiser and Campaign from the relevant drop-down lists
  7. Select your preferred Dimensions

The Brain Feature Value report itself

This report exports multiple campaigns and Goal Types at once.

Sample CSV view of a Brain Feature Value report

| | A | B | C | D | E | F | G | H | I | |---|---|---|---|---|---|---|---|---|---|---| | 1 | start_date | end_date | organization_id | advertiser_id | agency_id | campaign_id | model_goal | feature_report_type | feature | | 2 | 10/8/2019 | 10/8/2019 | 100001 | 10002 | 10003 | 111111 | cpa | top_features | conn_speed | | 3 | 10/8/2019 | 10/8/2019 | 100001 | 10002 | 10003 | 111111 | cpa | top_features | exchange_id | | 4 | 10/8/2019 | 10/8/2019 | 100001 | 10002 | 10003 | 111111 | cpa | top_features | dma_id | | 5 | 10/8/2019 | 10/8/2019 | 100001 | 10002 | 10003 | 111111 | cpa | top_features | fold_position | | 6 | 10/8/2019 | 10/8/2019 | 100001 | 10002 | 10003 | 111111 | cpa | top_features | size | | 7 | 10/8/2019 | 10/8/2019 | 100001 | 10002 | 10003 | 111111 | cpa | top_features | os | | 8 | 10/8/2019 | 10/8/2019 | 100001 | 10002 | 10003 | 111111 | cpa | top_features | site_id | | 9 | 10/8/2019 | 10/8/2019 | 100001 | 10002 | 10003 | 111111 | cpa | bottom_features | id_vintage | | 10 | 10/8/2019 | 10/8/2019 | 100001 | 10002 | 10003 | 111111 | cpa | bottom_features | region_id | | 11 | 10/8/2019 | 10/8/2019 | 100001 | 10002 | 10003 | 111111 | cpa | bottom_features | day_of_week | | 12 | 10/8/2019 | 10/8/2019 | 100001 | 10002 | 10003 | 111111 | cpa | bottom_features | size | | 13 | 10/8/2019 | 10/8/2019 | 100001 | 10002 | 10003 | 111111 | cpa | bottom_features | device_id | | 14 | 10/8/2019 | 10/8/2019 | 100001 | 10002 | 10003 | 111111 | cpa | bottom_features | channel_type | | 15 | 10/8/2019 | 10/8/2019 | 100001 | 10002 | 10003 | 111111 | cpa | bottom_features | country_id |

What's in the Brain Feature Value report

ColumnExample*Description
Start Date8/31/2019Date when these values were being used in bidding.
End Date8/31/2019\tDate when these values were being used in bidding.
Organization ID100000
Agency ID10001User-specified (Step 6, below).
Advertiser ID20000User-specified (Step 6, below).
Campaign ID30000MediaMath unique ID for campaign. User-specified (Step 6, below).
Model GoalCPA, ROI, CPC, etcThe Goal Type that the model was trained for. Each Goal Type will have a different Brain model.
Feature Report Typebottom_features or
top_featurebottom_features: a feature value that was in the bottom 100 (lowest "Mean"). top_features: a feature value that as in the top 100 (highest "Mean")
Position0, 1, 2, 3, 4, ..., 9For bottom_features, a Position of 0 means it had the lowest "Mean". For top_features, a Position of 0 means it had the highest "Mean".
Featureisp_id, day_of_week, sizeThe Feature that the next column’s Feature Value belongs to, used as input into the Brain Machine Learning model. For a full Feature list, see here.
Feature ValueVerizon, Tuesday, 728x90Readable name of the Feature Value. Some Feature Values display in the report as hashed or otherwise manipulated in a way that does not accurately map back to a human-readable name, fields including Site ID, Category ID, and Region ID. In Q1 2020 or later, we hope to change the hashing to return these back to human readable names but until then it is in the backlog. Please provide feedback if you would find this an important feature to support sooner. The pipe character 'I' indicating that hashing has been applied may occur when there is a large number of Feature Values in a given Feature. For example; site_id: "539409862I130821751I231186" or isp_id: "WindstreamITelefonica"
Is NumericY, NA few of the Features (data types used in the prediction) are numerical in nature and will have a different impact on the prediction depending on the actual number (Y = Yes, it is numeric; N = No, it isn't numeric). One example is "id_vintage" which represents how long we’ve had an ID for the particular user we’re trying to predict the Response Rate for. Longer time means better quality (as they don't clear cookies/cache etc.) and improves the odds of conversions. The "id_vintage" field simplifies the large time spectrum into 4 specific ranges.
Index123.855316, -60.73726This is based on the Mean. The index column gives you a comparative indication of the relative importance of features based on normalized attribution. While the mean values might not make much sense for a global understanding of the model, the index gives an indication of what the model sees as important features when its trained. The higher the Index number, the higher the importance.
Mean0.00000648, -0.00000308When we train a model, we run a sample of the available data through our proprietary machine learning algorithm. The mean shown in this report is the Mean Attribution of the feature across samples of attribution. While technical, it may interest Data Science users. For the layman, it describes the "average" contribution of that Feature Value to the Predicted Response Rate.
Bid Impact1.27748963, 0.93687577The marginal multiplicative contribution (> 1.0 increases, > 1.0 decreases) of a feature value (e.g. a particular exchange or site or creative) to a Predicted Response Rate (norm_rr). The bid_impact is helpful for understanding pricing impact on that feature value, and to calculate CPM. An oversimplification: the baseline score is also impacted by a calibration coefficient. normrr = [campaign baseline score] x [bid impact of feature value #1] x [bid impact of feature value #2] … CPM = normrr x [strategy’s goal value] x 1,000 T1 logs the predicted Action Rate of specific impressions in the Log Level Data Service under a field called “norm_rr”. Please speak to your MediaMath Account representative for more information about accessing this data.

*Note: Only 1 value will appear, not a comma-delimited list, although feature_value may be a pipe-delimited list)

curl -i -X GET \
  https://apidocs.mediamath.com/_mock/apis/reporting-api-v1/brain_feature_value/meta

Responses

Body*/*
object

By Hour

Request

<!-- theme: danger -->

This API is deprecated and will be removed soon

The new API docs can be found here: https://apidocs.mediamath.com/docs/reporting-api-v2

Standard performance metrics broken out by standard dimensions, available in precise time windows - down to the hour - with the option to aggregate by hour or day.

Query
dimensionsstringrequired

Selects the dimension fields to use in grouping rows.

This should be a comma-separated list of dimension field names.

The position of the fields in the output is not guaranteed to match the parameter value. Always use the header line from the response body to identify the position of each column in the output.

metricsstring

Controls the selection of metric fields.

This should be a comma-separated list of metric field names.

If not specified, this will default to the metric fields specified by the default_metrics property of the https://apidocs.mediamath.com/docs/api/e39ffafb5c6cb-report-meta.

The position of the fields in the output is not guaranteed to match the parameter value. Always use the header line from the response body to identify the position of each column in the output.

filterstringrequired
havingstring
time_rollupstringrequired
time_windowstringrequired
start_datestringrequired
end_datestring
Default "yesterday"
orderstring

Controls the sorting of the groups.

This should be a comma-separated list of field names. Each field name may optionally be prefixed with a minus sign to indicate descending order. Otherwise, ascending order is assumed.

The first field has the most significance in sorting.

page_limitinteger>= 1

Controls the maximum number of rows of data.

This parameter is required, if page_offset is one or greater.

Default 100
page_offsetinteger>= 0

Controls how many pages to skip.

precisioninteger[ 0 .. 8 ]

Controls how many digits to the right of the decimal places to display for float types.

Default 8
Headers
Cookiestringrequired

_

Default adama_session=<<sessionid>>
Accept-Encoding:string

If the client supports the compression methods also supported by the server (currently gzip and deflate), the response data set (text/csv) will be returned in a compressed format. The metadata and error responses will not be compressed.

In order to receive the data in compressed format, the client must use the HTTP request header Accept-Encoding, and enumerate the preferred compression methods (see RFC 2616). If the header Accept-Encoding is not present in the request, or if it contains only compression methods not supported by the system, the data will be returned in an uncompressed format.

### request Accept-Encoding: gzip,deflate

### response
Content-Encoding: gzip Content-Type: text/csv; charset=UTF-8

Value"gzip,deflate"
If-Modified-Sincestring(date-time)

If the data has not changed, the server responds with a 304 Not Modified status code and an empty response body.

If the same request was issued and the data had been updated since the specified time, the server responds with the data requested and a new Last-Modified header.

curl -i -X GET \
  'https://apidocs.mediamath.com/_mock/apis/reporting-api-v1/by_hour?dimensions=string&end_date=yesterday&filter=string&having=string&metrics=string&order=string&page_limit=100&page_offset=0&precision=8&start_date=string&time_rollup=string&time_window=string' \
  -H 'Accept-Encoding:: gzip,deflate' \
  -H 'Cookie: adama_session=<<sessionid>>' \
  -H 'If-Modified-Since: 2019-08-24T14:15:22Z'

Responses

By Hour Meta

Request

<!-- theme: danger -->

This API is deprecated and will be removed soon

The new API docs can be found here: https://apidocs.mediamath.com/docs/reporting-api-v2

Get By Hour Meta

Headers
Cookiestringrequired

_

Default adama_session=<<sessionid>>
curl -i -X GET \
  https://apidocs.mediamath.com/_mock/apis/reporting-api-v1/by_hour/meta \
  -H 'Cookie: adama_session=<<sessionid>>'

Responses

Body*/*
Namestringrequired

This is the human-readable name of the report. It is not recognized by any API input.

Versionintegerrequired
Descriptionstring
URI_Datastring(uri)required
URI_Metastring(uri)required
Transitionobject
Deprecationobject
Typestring
currencystring

Provides information about the currency of the metrics fields typed as "money".

When set to "campaign currency", the currency varies from record to record. To determine the currency for a particular record, the campaign_currency_code dimensions field should be requested, if available for the report.

Any other value should be taken to be the currency for all records of the report.

data_retentionstring

Indicates how far back data is available. This can be a date, datetime, or time window as specified by the "time_window" and "Special Time Windows" sections of https://apidocs.mediamath.com/docs/api/a726318c29d15-reports-api. This property should be used very loosely. It may not be accurate. It is meant to give a general idea.

default_metricsArray of stringsrequired
structureobjectrequired
structure.​time_fieldobjectrequired
structure.​time_field.​property name*object(Field Description)additional property
structure.​dimensionsobjectrequired
structure.​dimensions.​property name*object(Field Description)additional property
structure.​metricsobjectrequired
structure.​metrics.​property name*object(Field Description)additional property
time_aggregationstring

This property indicates the finest granularity of the time_field. For reports with a time_field of the datetime type, this will be "by_hour", "by_day", etc. When the type is interval, this will be "various".

time_rollupsArray of stringsrequired

This property indicates the available levels of granularity for the time_field. It lists the valid values of the time_rollup parameter used for the https://apidocs.mediamath.com/docs/api/aa580375b0b65-report-data endpoint. For reports with a time_field of the datetime type, this tends to be a combination of "by_hour", "by_day", "by_week", "by_month", "all", etc. When the type is interval, this will only include "all".

time_windowsArray of stringsrequired
timezonestring

Provides information about the timezone of the time_field for the report.

When set to "campaign timezone", the timezone varies from record to record. To determine the currency for a particular record, the campaign_timezone dimensions field should be requested, if available for the report.

Any other value should be taken to be the timezone for all records of the report.

Day Part

Request

<!-- theme: danger -->

This API is deprecated and will be removed soon

The new API docs can be found here: https://apidocs.mediamath.com/docs/reporting-api-v2

Standard performance metrics broken out by time of day and day of week. Available in standard intervals.

Query
dimensionsstringrequired

Selects the dimension fields to use in grouping rows.

This should be a comma-separated list of dimension field names.

The position of the fields in the output is not guaranteed to match the parameter value. Always use the header line from the response body to identify the position of each column in the output.

metricsstring

Controls the selection of metric fields.

This should be a comma-separated list of metric field names.

If not specified, this will default to the metric fields specified by the default_metrics property of the https://apidocs.mediamath.com/docs/api/e39ffafb5c6cb-report-meta.

The position of the fields in the output is not guaranteed to match the parameter value. Always use the header line from the response body to identify the position of each column in the output.

filterstringrequired
havingstring
time_rollupstringrequired
time_windowstringrequired
start_datestringrequired
end_datestring
Default "yesterday"
orderstring

Controls the sorting of the groups.

This should be a comma-separated list of field names. Each field name may optionally be prefixed with a minus sign to indicate descending order. Otherwise, ascending order is assumed.

The first field has the most significance in sorting.

page_limitinteger>= 1

Controls the maximum number of rows of data.

This parameter is required, if page_offset is one or greater.

Default 100
page_offsetinteger>= 0

Controls how many pages to skip.

precisioninteger[ 0 .. 8 ]

Controls how many digits to the right of the decimal places to display for float types.

Default 8
Headers
Cookiestringrequired

_

Default adama_session=<<sessionid>>
Accept-Encoding:string

If the client supports the compression methods also supported by the server (currently gzip and deflate), the response data set (text/csv) will be returned in a compressed format. The metadata and error responses will not be compressed.

In order to receive the data in compressed format, the client must use the HTTP request header Accept-Encoding, and enumerate the preferred compression methods (see RFC 2616). If the header Accept-Encoding is not present in the request, or if it contains only compression methods not supported by the system, the data will be returned in an uncompressed format.

### request Accept-Encoding: gzip,deflate

### response
Content-Encoding: gzip Content-Type: text/csv; charset=UTF-8

Value"gzip,deflate"
If-Modified-Sincestring(date-time)

If the data has not changed, the server responds with a 304 Not Modified status code and an empty response body.

If the same request was issued and the data had been updated since the specified time, the server responds with the data requested and a new Last-Modified header.

curl -i -X GET \
  'https://apidocs.mediamath.com/_mock/apis/reporting-api-v1/day_part?dimensions=string&end_date=yesterday&filter=string&having=string&metrics=string&order=string&page_limit=100&page_offset=0&precision=8&start_date=string&time_rollup=string&time_window=string' \
  -H 'Accept-Encoding:: gzip,deflate' \
  -H 'Cookie: adama_session=<<sessionid>>' \
  -H 'If-Modified-Since: 2019-08-24T14:15:22Z'

Responses

Day Part Meta

Request

<!-- theme: danger -->

This API is deprecated and will be removed soon

The new API docs can be found here: https://apidocs.mediamath.com/docs/reporting-api-v2

Get Day Part Meta

Headers
Cookiestringrequired

_

Default adama_session=<<sessionid>>
curl -i -X GET \
  https://apidocs.mediamath.com/_mock/apis/reporting-api-v1/day_part/meta \
  -H 'Cookie: adama_session=<<sessionid>>'

Responses

Body*/*
Namestringrequired

This is the human-readable name of the report. It is not recognized by any API input.

Versionintegerrequired
Descriptionstring
URI_Datastring(uri)required
URI_Metastring(uri)required
Transitionobject
Deprecationobject
Typestring
currencystring

Provides information about the currency of the metrics fields typed as "money".

When set to "campaign currency", the currency varies from record to record. To determine the currency for a particular record, the campaign_currency_code dimensions field should be requested, if available for the report.

Any other value should be taken to be the currency for all records of the report.

data_retentionstring

Indicates how far back data is available. This can be a date, datetime, or time window as specified by the "time_window" and "Special Time Windows" sections of https://apidocs.mediamath.com/docs/api/a726318c29d15-reports-api. This property should be used very loosely. It may not be accurate. It is meant to give a general idea.

default_metricsArray of stringsrequired
structureobjectrequired
structure.​time_fieldobjectrequired
structure.​time_field.​property name*object(Field Description)additional property
structure.​dimensionsobjectrequired
structure.​dimensions.​property name*object(Field Description)additional property
structure.​metricsobjectrequired
structure.​metrics.​property name*object(Field Description)additional property
time_aggregationstring

This property indicates the finest granularity of the time_field. For reports with a time_field of the datetime type, this will be "by_hour", "by_day", etc. When the type is interval, this will be "various".

time_rollupsArray of stringsrequired

This property indicates the available levels of granularity for the time_field. It lists the valid values of the time_rollup parameter used for the https://apidocs.mediamath.com/docs/api/aa580375b0b65-report-data endpoint. For reports with a time_field of the datetime type, this tends to be a combination of "by_hour", "by_day", "by_week", "by_month", "all", etc. When the type is interval, this will only include "all".

time_windowsArray of stringsrequired
timezonestring

Provides information about the timezone of the time_field for the report.

When set to "campaign timezone", the timezone varies from record to record. To determine the currency for a particular record, the campaign_timezone dimensions field should be requested, if available for the report.

Any other value should be taken to be the timezone for all records of the report.

Deals

Request

<!-- theme: danger -->

This API is deprecated and will be removed soon

The new API docs can be found here: https://apidocs.mediamath.com/docs/reporting-api-v2

See or query the Meta Endpoint for required fields and parameters.

Background:

The Deals endpoint contains metrics describing the path from a matched bid opportunity (biddable) to a delivered impression (win) for private marketplace deals. Metrics from this endpoint will allow traders to observe the health of one or more deals. This will allow traders to make a more informed decision about what deals would be an ideal supply source for a particular strategy before committing test budget to it. Additionally, these metrics will help traders troubleshoot strategies targeting PMPs by providing deal win/loss metrics in isolation rather than having them tied to a creative or strategy. This helps traders understand how a deal is affecting their ability to scale more quickly and accurately.

Update Times:

This endpoint refreshes at the top of every hour, adding 1 hour of data within every refresh, on a one hour delay. For example, data from 1:00 – 1:59 AM will become available at roughly 3:00 AM.

Authorization:

The deals endpoint uses the Private Marketplace Exchange (PMP-E) api for authorization - https://mediamath-pmp.api-docs.io/v1/private-marketplace-exchange-pmp-e/deals. Through the /deals endpoint, users can only receive reporting on deals in which their user is permissioned to the owner entity of the deal. A user permissioned to the owner entity of a deal indicates that the user has both read and write access of the deal.

To check what deals your user has read and write access to within a particular organization, please make the following get request to the Private Marketplace Exchange API: https://api.mediamath.com/media/v1.0/deals?owner.organization_id=[organization_id]

Required Access Fields

API calls must filter by the combination of organization id and deal id. Calls can include only one organization id and one to many deal id's as long as all of the deals belong to the organization. For example:

filter=organization_id%3D[organization_id]%26deal_id%3D[deal_id]%2C[deal_id]

Query
dimensionsstringrequired

Selects the dimension fields to use in grouping rows.

This should be a comma-separated list of dimension field names.

The position of the fields in the output is not guaranteed to match the parameter value. Always use the header line from the response body to identify the position of each column in the output.

metricsstring

Controls the selection of metric fields.

This should be a comma-separated list of metric field names.

If not specified, this will default to the metric fields specified by the default_metrics property of the https://apidocs.mediamath.com/docs/api/e39ffafb5c6cb-report-meta.

The position of the fields in the output is not guaranteed to match the parameter value. Always use the header line from the response body to identify the position of each column in the output.

filterstringrequired
havingstring
time_rollupstringrequired
time_windowstringrequired
start_datestringrequired
end_datestring
Default "yesterday"
orderstring

Controls the sorting of the groups.

This should be a comma-separated list of field names. Each field name may optionally be prefixed with a minus sign to indicate descending order. Otherwise, ascending order is assumed.

The first field has the most significance in sorting.

page_limitinteger>= 1

Controls the maximum number of rows of data.

This parameter is required, if page_offset is one or greater.

Default 100
page_offsetinteger>= 0

Controls how many pages to skip.

precisioninteger[ 0 .. 8 ]

Controls how many digits to the right of the decimal places to display for float types.

Default 8
Headers
Cookiestringrequired

_

Default adama_session=<<sessionid>>
Accept-Encoding:string

If the client supports the compression methods also supported by the server (currently gzip and deflate), the response data set (text/csv) will be returned in a compressed format. The metadata and error responses will not be compressed.

In order to receive the data in compressed format, the client must use the HTTP request header Accept-Encoding, and enumerate the preferred compression methods (see RFC 2616). If the header Accept-Encoding is not present in the request, or if it contains only compression methods not supported by the system, the data will be returned in an uncompressed format.

### request Accept-Encoding: gzip,deflate

### response
Content-Encoding: gzip Content-Type: text/csv; charset=UTF-8

Value"gzip,deflate"
If-Modified-Sincestring(date-time)

If the data has not changed, the server responds with a 304 Not Modified status code and an empty response body.

If the same request was issued and the data had been updated since the specified time, the server responds with the data requested and a new Last-Modified header.

curl -i -X GET \
  'https://apidocs.mediamath.com/_mock/apis/reporting-api-v1/deals?dimensions=string&end_date=yesterday&filter=string&having=string&metrics=string&order=string&page_limit=100&page_offset=0&precision=8&start_date=string&time_rollup=string&time_window=string' \
  -H 'Accept-Encoding:: gzip,deflate' \
  -H 'Cookie: adama_session=<<sessionid>>' \
  -H 'If-Modified-Since: 2019-08-24T14:15:22Z'

Responses

Deals Meta

Request

<!-- theme: danger -->

This API is deprecated and will be removed soon

The new API docs can be found here: https://apidocs.mediamath.com/docs/reporting-api-v2

Get Deals Meta

Headers
Cookiestringrequired

_

Default adama_session=<<sessionid>>
curl -i -X GET \
  https://apidocs.mediamath.com/_mock/apis/reporting-api-v1/deals/meta \
  -H 'Cookie: adama_session=<<sessionid>>'

Responses

Body*/*
Descriptionstring
Namestring
Typestring
URI_Datastring
URI_Metastring
Versioninteger
currencystring
data_retentionstring
default_metricsArray of strings
structureobject
time_aggregationstring
time_rollupsArray of strings
time_windowsArray of strings
timezonestring

Device Technology

Request

<!-- theme: danger -->

This API is deprecated and will be removed soon

The new API docs can be found here: https://apidocs.mediamath.com/docs/reporting-api-v2

Standard performance metrics broken out by technology dimensions including browser, operating system, and connection type. Available in custom date ranges or intervals with the option to aggregate by day, week, or month.

Versions

The API allows you to determine the version of the Device Technology Report by presenting a query parameter of ?v1 or ?v2.

Starting October 3rd, 2017 v2 reports will include:

  • Device Brand – eg: Apple, Amazon, and Google
  • Device Model – eg: iPhone, Kindle Fire, Pixel
  • Browser Version – eg: Google Chrome
  • OS Version – eg: Windows 10

This insight will allow you to plan and assess performance based on device and browser, now inclusive of Mobile devices. Please note this release does not include targeting for these fields.

The v2 reports will return data starting from September 2nd, 2017. New data will be added to the reports moving forward, accumulating to the full 90 days of data; the max number of days a user is currently able to pull technology report data for.

  • All existing saved/scheduled technology reports in Data Export will continue to pull data from the old reporting framework until November 1st, 2017. However, these reports will no longer be editable, meaning you may only export or deactivate the reports in the interim.
  • Additionally, all currently saved/scheduled technology reports will be automatically deactivated on November 1st, 2017.
  • From November 1st, 2017 technology reports will pull data from the v2 version of the reports by default.
  • From November 1st, 2017 technology reports that query the v1 version will result in a 304
  • The export will also contain 31 days of data starting from September 2nd, 2017 and accumulate to the full 90 days.

Migration

After November 1st, any requests to the device_technology endpoint that specify removed metrics will fail with an 'invalid request' error. It is strongly recommended that you compare the v1 and v2 definitions of the device technology report /meta endpoint.

Dimensions

  • Added device_type

  • Added os_version

  • Added operating_system

  • Added inventory_type

  • Added device_model

  • Added device_make

  • Added browser_version

  • Added browser

  • Removed browser_id

  • Removed browser_name

  • Removed device_id

  • Removed device_name

  • Removed inventory_type_id

  • Removed inventory_type_name

  • Removed os_id

  • Removed os_name

Metrics

  • Added viewability_rate_100_percent
  • Added viewability_rate
  • Added in_view
  • Added in_view_100_percent
  • Added in_view_15_seconds
  • Added in_view_15_seconds_rate
  • Added in_view_5_seconds
  • Added in_view_5_seconds_rate
  • Added measurability_rate
  • Added measurable
  • Added media_cost_vcpm
  • Added total_ad_cost_vcpm
  • Added total_spend_vcpm

Time Windows

  • Added campaign_to_date
Query
v1string

_

v2string

_

dimensionsstringrequired

Selects the dimension fields to use in grouping rows.

This should be a comma-separated list of dimension field names.

The position of the fields in the output is not guaranteed to match the parameter value. Always use the header line from the response body to identify the position of each column in the output.

metricsstring

Controls the selection of metric fields.

This should be a comma-separated list of metric field names.

If not specified, this will default to the metric fields specified by the default_metrics property of the https://apidocs.mediamath.com/docs/api/e39ffafb5c6cb-report-meta.

The position of the fields in the output is not guaranteed to match the parameter value. Always use the header line from the response body to identify the position of each column in the output.

filterstringrequired
havingstring
time_rollupstringrequired
time_windowstringrequired
start_datestringrequired
end_datestring
Default "yesterday"
orderstring

Controls the sorting of the groups.

This should be a comma-separated list of field names. Each field name may optionally be prefixed with a minus sign to indicate descending order. Otherwise, ascending order is assumed.

The first field has the most significance in sorting.

page_limitinteger>= 1

Controls the maximum number of rows of data.

This parameter is required, if page_offset is one or greater.

Default 100
page_offsetinteger>= 0

Controls how many pages to skip.

precisioninteger[ 0 .. 8 ]

Controls how many digits to the right of the decimal places to display for float types.

Default 8
Headers
Cookiestringrequired

_

Default adama_session=<<sessionid>>
Accept-Encoding:string

If the client supports the compression methods also supported by the server (currently gzip and deflate), the response data set (text/csv) will be returned in a compressed format. The metadata and error responses will not be compressed.

In order to receive the data in compressed format, the client must use the HTTP request header Accept-Encoding, and enumerate the preferred compression methods (see RFC 2616). If the header Accept-Encoding is not present in the request, or if it contains only compression methods not supported by the system, the data will be returned in an uncompressed format.

### request Accept-Encoding: gzip,deflate

### response
Content-Encoding: gzip Content-Type: text/csv; charset=UTF-8

Value"gzip,deflate"
If-Modified-Sincestring(date-time)

If the data has not changed, the server responds with a 304 Not Modified status code and an empty response body.

If the same request was issued and the data had been updated since the specified time, the server responds with the data requested and a new Last-Modified header.

curl -i -X GET \
  'https://apidocs.mediamath.com/_mock/apis/reporting-api-v1/device_technology?dimensions=string&end_date=yesterday&filter=string&having=string&metrics=string&order=string&page_limit=100&page_offset=0&precision=8&start_date=string&time_rollup=string&time_window=string&v1=string&v2=string' \
  -H 'Accept-Encoding:: gzip,deflate' \
  -H 'Cookie: adama_session=<<sessionid>>' \
  -H 'If-Modified-Since: 2019-08-24T14:15:22Z'

Responses

Device Technology Meta

Request

<!-- theme: danger -->

This API is deprecated and will be removed soon

The new API docs can be found here: https://apidocs.mediamath.com/docs/reporting-api-v2

Versions

The API allows you to determine the version of the Device Technology Report by presenting a query parameter of ?v1 or ?v2.

Starting October 3rd, 2017 v2 reports will include:

  • Device Brand – eg: Apple, Amazon, and Google
  • Device Model – eg: iPhone, Kindle Fire, Pixel
  • Browser Version – eg: Google Chrome
  • OS Version – eg: Windows 10

This insight will allow you to plan and assess performance based on device and browser, now inclusive of Mobile devices. Please note this release does not include targeting for these fields.

Initially, the v2 reports will only contain 31 days of data starting from September 2nd, 2017. New data will be added to the reports moving forward, accumulating to the full 90 days of data; the max number of days a user is currently able to pull technology report data for.

  • All existing saved/scheduled technology reports in Data Export will continue to pull data from the old reporting framework until November 1st, 2017. However, these reports will no longer be editable, meaning you may only export or deactivate the reports in the interim.
  • Additionally, all currently saved/scheduled technology reports will be automatically deactivated on November 1st, 2017.
  • From November 1st, 2017 technology reports will pull data from the v2 version of the reports by default.
  • The export will also contain 31 days of data starting from September 2nd, 2017 and accumulate to the full 90 days.
Headers
Cookiestringrequired

_

Default adama_session=<<sessionid>>
curl -i -X GET \
  https://apidocs.mediamath.com/_mock/apis/reporting-api-v1/device_technology/meta \
  -H 'Cookie: adama_session=<<sessionid>>'

Responses

Body*/*
Namestringrequired

This is the human-readable name of the report. It is not recognized by any API input.

Versionintegerrequired
Descriptionstring
URI_Datastring(uri)required
URI_Metastring(uri)required
Transitionobject
Deprecationobject
Typestring
currencystring

Provides information about the currency of the metrics fields typed as "money".

When set to "campaign currency", the currency varies from record to record. To determine the currency for a particular record, the campaign_currency_code dimensions field should be requested, if available for the report.

Any other value should be taken to be the currency for all records of the report.

data_retentionstring

Indicates how far back data is available. This can be a date, datetime, or time window as specified by the "time_window" and "Special Time Windows" sections of https://apidocs.mediamath.com/docs/api/a726318c29d15-reports-api. This property should be used very loosely. It may not be accurate. It is meant to give a general idea.

default_metricsArray of stringsrequired
structureobjectrequired
structure.​time_fieldobjectrequired
structure.​time_field.​property name*object(Field Description)additional property
structure.​dimensionsobjectrequired
structure.​dimensions.​property name*object(Field Description)additional property
structure.​metricsobjectrequired
structure.​metrics.​property name*object(Field Description)additional property
time_aggregationstring

This property indicates the finest granularity of the time_field. For reports with a time_field of the datetime type, this will be "by_hour", "by_day", etc. When the type is interval, this will be "various".

time_rollupsArray of stringsrequired

This property indicates the available levels of granularity for the time_field. It lists the valid values of the time_rollup parameter used for the https://apidocs.mediamath.com/docs/api/aa580375b0b65-report-data endpoint. For reports with a time_field of the datetime type, this tends to be a combination of "by_hour", "by_day", "by_week", "by_month", "all", etc. When the type is interval, this will only include "all".

time_windowsArray of stringsrequired
timezonestring

Provides information about the timezone of the time_field for the report.

When set to "campaign timezone", the timezone varies from record to record. To determine the currency for a particular record, the campaign_timezone dimensions field should be requested, if available for the report.

Any other value should be taken to be the timezone for all records of the report.

Geo

Request

<!-- theme: danger -->

This API is deprecated and will be removed soon

The new API docs can be found here: https://apidocs.mediamath.com/docs/reporting-api-v2

Query
dimensionsstringrequired

Selects the dimension fields to use in grouping rows.

This should be a comma-separated list of dimension field names.

The position of the fields in the output is not guaranteed to match the parameter value. Always use the header line from the response body to identify the position of each column in the output.

metricsstring

Controls the selection of metric fields.

This should be a comma-separated list of metric field names.

If not specified, this will default to the metric fields specified by the default_metrics property of the https://apidocs.mediamath.com/docs/api/e39ffafb5c6cb-report-meta.

The position of the fields in the output is not guaranteed to match the parameter value. Always use the header line from the response body to identify the position of each column in the output.

filterstringrequired
havingstring
time_rollupstringrequired
time_windowstringrequired
start_datestringrequired
end_datestring
Default "yesterday"
orderstring

Controls the sorting of the groups.

This should be a comma-separated list of field names. Each field name may optionally be prefixed with a minus sign to indicate descending order. Otherwise, ascending order is assumed.

The first field has the most significance in sorting.

page_limitinteger>= 1

Controls the maximum number of rows of data.

This parameter is required, if page_offset is one or greater.

Default 100
page_offsetinteger>= 0

Controls how many pages to skip.

precisioninteger[ 0 .. 8 ]

Controls how many digits to the right of the decimal places to display for float types.

Default 8
Headers
Cookiestringrequired

_

Default adama_session=<<sessionid>>
Accept-Encoding:string

If the client supports the compression methods also supported by the server (currently gzip and deflate), the response data set (text/csv) will be returned in a compressed format. The metadata and error responses will not be compressed.

In order to receive the data in compressed format, the client must use the HTTP request header Accept-Encoding, and enumerate the preferred compression methods (see RFC 2616). If the header Accept-Encoding is not present in the request, or if it contains only compression methods not supported by the system, the data will be returned in an uncompressed format.

### request Accept-Encoding: gzip,deflate

### response
Content-Encoding: gzip Content-Type: text/csv; charset=UTF-8

Value"gzip,deflate"
If-Modified-Sincestring(date-time)

If the data has not changed, the server responds with a 304 Not Modified status code and an empty response body.

If the same request was issued and the data had been updated since the specified time, the server responds with the data requested and a new Last-Modified header.

curl -i -X GET \
  'https://apidocs.mediamath.com/_mock/apis/reporting-api-v1/geo?dimensions=string&end_date=yesterday&filter=string&having=string&metrics=string&order=string&page_limit=100&page_offset=0&precision=8&start_date=string&time_rollup=string&time_window=string' \
  -H 'Accept-Encoding:: gzip,deflate' \
  -H 'Cookie: adama_session=<<sessionid>>' \
  -H 'If-Modified-Since: 2019-08-24T14:15:22Z'

Responses

Geo Meta

Request

<!-- theme: danger -->

This API is deprecated and will be removed soon

The new API docs can be found here: https://apidocs.mediamath.com/docs/reporting-api-v2

Standard performance metrics broken out by geographic dimensions including country, region, and metro area. Available in standard intervals.

Headers
Cookiestringrequired

_

Default adama_session=<<sessionid>>
curl -i -X GET \
  https://apidocs.mediamath.com/_mock/apis/reporting-api-v1/geo/meta \
  -H 'Cookie: adama_session=<<sessionid>>'

Responses

Body*/*
Namestringrequired

This is the human-readable name of the report. It is not recognized by any API input.

Versionintegerrequired
Descriptionstring
URI_Datastring(uri)required
URI_Metastring(uri)required
Transitionobject
Deprecationobject
Typestring
currencystring

Provides information about the currency of the metrics fields typed as "money".

When set to "campaign currency", the currency varies from record to record. To determine the currency for a particular record, the campaign_currency_code dimensions field should be requested, if available for the report.

Any other value should be taken to be the currency for all records of the report.

data_retentionstring

Indicates how far back data is available. This can be a date, datetime, or time window as specified by the "time_window" and "Special Time Windows" sections of https://apidocs.mediamath.com/docs/api/a726318c29d15-reports-api. This property should be used very loosely. It may not be accurate. It is meant to give a general idea.

default_metricsArray of stringsrequired
structureobjectrequired
structure.​time_fieldobjectrequired
structure.​time_field.​property name*object(Field Description)additional property
structure.​dimensionsobjectrequired
structure.​dimensions.​property name*object(Field Description)additional property
structure.​metricsobjectrequired
structure.​metrics.​property name*object(Field Description)additional property
time_aggregationstring

This property indicates the finest granularity of the time_field. For reports with a time_field of the datetime type, this will be "by_hour", "by_day", etc. When the type is interval, this will be "various".

time_rollupsArray of stringsrequired

This property indicates the available levels of granularity for the time_field. It lists the valid values of the time_rollup parameter used for the https://apidocs.mediamath.com/docs/api/aa580375b0b65-report-data endpoint. For reports with a time_field of the datetime type, this tends to be a combination of "by_hour", "by_day", "by_week", "by_month", "all", etc. When the type is interval, this will only include "all".

time_windowsArray of stringsrequired
timezonestring

Provides information about the timezone of the time_field for the report.

When set to "campaign timezone", the timezone varies from record to record. To determine the currency for a particular record, the campaign_timezone dimensions field should be requested, if available for the report.

Any other value should be taken to be the timezone for all records of the report.

Performance

Request

<!-- theme: danger -->

This API is deprecated and will be removed soon

The new API docs can be found here: https://apidocs.mediamath.com/docs/reporting-api-v2

Standard performance metrics in campaign currency and broken out by our widest array of dimensions. Available in custom date ranges or intervals with the option to aggregate by day, week, or month.

Query
dimensionsstringrequired

Selects the dimension fields to use in grouping rows.

This should be a comma-separated list of dimension field names.

The position of the fields in the output is not guaranteed to match the parameter value. Always use the header line from the response body to identify the position of each column in the output.

metricsstring

Controls the selection of metric fields.

This should be a comma-separated list of metric field names.

If not specified, this will default to the metric fields specified by the default_metrics property of the https://apidocs.mediamath.com/docs/api/e39ffafb5c6cb-report-meta.

The position of the fields in the output is not guaranteed to match the parameter value. Always use the header line from the response body to identify the position of each column in the output.

filterstringrequired
havingstring
time_rollupstringrequired
time_windowstringrequired
start_datestringrequired
end_datestring
Default "yesterday"
orderstring

Controls the sorting of the groups.

This should be a comma-separated list of field names. Each field name may optionally be prefixed with a minus sign to indicate descending order. Otherwise, ascending order is assumed.

The first field has the most significance in sorting.

page_limitinteger>= 1

Controls the maximum number of rows of data.

This parameter is required, if page_offset is one or greater.

Default 100
page_offsetinteger>= 0

Controls how many pages to skip.

precisioninteger[ 0 .. 8 ]

Controls how many digits to the right of the decimal places to display for float types.

Default 8
Headers
Accept-Encoding:string

If the client supports the compression methods also supported by the server (currently gzip and deflate), the response data set (text/csv) will be returned in a compressed format. The metadata and error responses will not be compressed.

In order to receive the data in compressed format, the client must use the HTTP request header Accept-Encoding, and enumerate the preferred compression methods (see RFC 2616). If the header Accept-Encoding is not present in the request, or if it contains only compression methods not supported by the system, the data will be returned in an uncompressed format.

### request Accept-Encoding: gzip,deflate

### response
Content-Encoding: gzip Content-Type: text/csv; charset=UTF-8

Value"gzip,deflate"
If-Modified-Sincestring(date-time)

If the data has not changed, the server responds with a 304 Not Modified status code and an empty response body.

If the same request was issued and the data had been updated since the specified time, the server responds with the data requested and a new Last-Modified header.

Cookiestringrequired

_

Default adama_session=<<sessionid>>
curl -i -X GET \
  'https://apidocs.mediamath.com/_mock/apis/reporting-api-v1/performance?dimensions=string&end_date=yesterday&filter=string&having=string&metrics=string&order=string&page_limit=100&page_offset=0&precision=8&start_date=string&time_rollup=string&time_window=string' \
  -H 'Accept-Encoding:: gzip,deflate' \
  -H 'Cookie: adama_session=<<sessionid>>' \
  -H 'If-Modified-Since: 2019-08-24T14:15:22Z'

Responses

Performance Meta

Request

<!-- theme: danger -->

This API is deprecated and will be removed soon

The new API docs can be found here: https://apidocs.mediamath.com/docs/reporting-api-v2

Get Performance Meta

Headers
Cookiestringrequired

_

Default adama_session=<<sessionid>>
curl -i -X GET \
  https://apidocs.mediamath.com/_mock/apis/reporting-api-v1/performance/meta \
  -H 'Cookie: adama_session=<<sessionid>>'

Responses

Body*/*
Namestringrequired

This is the human-readable name of the report. It is not recognized by any API input.

Versionintegerrequired
Descriptionstring
URI_Datastring(uri)required
URI_Metastring(uri)required
Transitionobject
Deprecationobject
Typestring
currencystring

Provides information about the currency of the metrics fields typed as "money".

When set to "campaign currency", the currency varies from record to record. To determine the currency for a particular record, the campaign_currency_code dimensions field should be requested, if available for the report.

Any other value should be taken to be the currency for all records of the report.

data_retentionstring

Indicates how far back data is available. This can be a date, datetime, or time window as specified by the "time_window" and "Special Time Windows" sections of https://apidocs.mediamath.com/docs/api/a726318c29d15-reports-api. This property should be used very loosely. It may not be accurate. It is meant to give a general idea.

default_metricsArray of stringsrequired
structureobjectrequired
structure.​time_fieldobjectrequired
structure.​time_field.​property name*object(Field Description)additional property
structure.​dimensionsobjectrequired
structure.​dimensions.​property name*object(Field Description)additional property
structure.​metricsobjectrequired
structure.​metrics.​property name*object(Field Description)additional property
time_aggregationstring

This property indicates the finest granularity of the time_field. For reports with a time_field of the datetime type, this will be "by_hour", "by_day", etc. When the type is interval, this will be "various".

time_rollupsArray of stringsrequired

This property indicates the available levels of granularity for the time_field. It lists the valid values of the time_rollup parameter used for the https://apidocs.mediamath.com/docs/api/aa580375b0b65-report-data endpoint. For reports with a time_field of the datetime type, this tends to be a combination of "by_hour", "by_day", "by_week", "by_month", "all", etc. When the type is interval, this will only include "all".

time_windowsArray of stringsrequired
timezonestring

Provides information about the timezone of the time_field for the report.

When set to "campaign timezone", the timezone varies from record to record. To determine the currency for a particular record, the campaign_timezone dimensions field should be requested, if available for the report.

Any other value should be taken to be the timezone for all records of the report.

Postal Code

Request

<!-- theme: danger -->

This API is deprecated and will be removed soon

The new API docs can be found here: https://apidocs.mediamath.com/docs/reporting-api-v2

The Postal Code Report breaks out performance metrics by postal code. Use it to optimize and validate strategies that use postal code targeting.

API Endpoints

The Postal Code Report is available at:

$API_BASE/postal_code

Important Fields

Report-Specific Dimensions and Metrics

postal_code - The postal code dimension corresponds to postal codes as they are uploaded into t1 for targeting. This includes a country code followed by the postal code, with no space or punctuation. For example, an impression served to a computer at MediaMath's Broadway office (US ZIP code 10018) would have "us10018" as its postal code. If a postal code is unknown, it will still be shown with the country code: ex. "us-unknown". If not, it will appear as simply "unknown".

NOTE: The postal code report only breaks out strategies by postal code if those strategies are targeting or anti-targeting postal codes. If a strategy stops or starts targeting postal codes, you may see unexpected postal code values in the report for the day that the change was made. This is because the bidder reacts to your targeting changes immediately, but our report only takes them into account when it refreshes. In order to prevent this, it is recommend that users create a dedicated strategy for postal code targeting.

Date Range

The Postal Code Report is available by day for a rolling 30 days.

Updates

Data is updated three times daily.

Query
dimensionsstringrequired

Selects the dimension fields to use in grouping rows.

This should be a comma-separated list of dimension field names.

The position of the fields in the output is not guaranteed to match the parameter value. Always use the header line from the response body to identify the position of each column in the output.

metricsstring

Controls the selection of metric fields.

This should be a comma-separated list of metric field names.

If not specified, this will default to the metric fields specified by the default_metrics property of the https://apidocs.mediamath.com/docs/api/e39ffafb5c6cb-report-meta.

The position of the fields in the output is not guaranteed to match the parameter value. Always use the header line from the response body to identify the position of each column in the output.

filterstringrequired
havingstring
time_rollupstringrequired
time_windowstringrequired
start_datestringrequired
end_datestring
Default "yesterday"
orderstring

Controls the sorting of the groups.

This should be a comma-separated list of field names. Each field name may optionally be prefixed with a minus sign to indicate descending order. Otherwise, ascending order is assumed.

The first field has the most significance in sorting.

page_limitinteger>= 1

Controls the maximum number of rows of data.

This parameter is required, if page_offset is one or greater.

Default 100
page_offsetinteger>= 0

Controls how many pages to skip.

precisioninteger[ 0 .. 8 ]

Controls how many digits to the right of the decimal places to display for float types.

Default 8
Headers
Cookiestringrequired

_

Default adama_session=<<sessionid>>
Accept-Encoding:string

If the client supports the compression methods also supported by the server (currently gzip and deflate), the response data set (text/csv) will be returned in a compressed format. The metadata and error responses will not be compressed.

In order to receive the data in compressed format, the client must use the HTTP request header Accept-Encoding, and enumerate the preferred compression methods (see RFC 2616). If the header Accept-Encoding is not present in the request, or if it contains only compression methods not supported by the system, the data will be returned in an uncompressed format.

### request Accept-Encoding: gzip,deflate

### response
Content-Encoding: gzip Content-Type: text/csv; charset=UTF-8

Value"gzip,deflate"
If-Modified-Sincestring(date-time)

If the data has not changed, the server responds with a 304 Not Modified status code and an empty response body.

If the same request was issued and the data had been updated since the specified time, the server responds with the data requested and a new Last-Modified header.

curl -i -X GET \
  'https://apidocs.mediamath.com/_mock/apis/reporting-api-v1/postal_code?dimensions=string&end_date=yesterday&filter=string&having=string&metrics=string&order=string&page_limit=100&page_offset=0&precision=8&start_date=string&time_rollup=string&time_window=string' \
  -H 'Accept-Encoding:: gzip,deflate' \
  -H 'Cookie: adama_session=<<sessionid>>' \
  -H 'If-Modified-Since: 2019-08-24T14:15:22Z'

Responses

Postal Code Meta

Request

<!-- theme: danger -->

This API is deprecated and will be removed soon

The new API docs can be found here: https://apidocs.mediamath.com/docs/reporting-api-v2

Get Postal Code Meta

Headers
Cookiestringrequired

_

Default adama_session=<<sessionid>>
curl -i -X GET \
  https://apidocs.mediamath.com/_mock/apis/reporting-api-v1/postal_code/meta \
  -H 'Cookie: adama_session=<<sessionid>>'

Responses

Body*/*
Namestringrequired

This is the human-readable name of the report. It is not recognized by any API input.

Versionintegerrequired
Descriptionstring
URI_Datastring(uri)required
URI_Metastring(uri)required
Transitionobject
Deprecationobject
Typestring
currencystring

Provides information about the currency of the metrics fields typed as "money".

When set to "campaign currency", the currency varies from record to record. To determine the currency for a particular record, the campaign_currency_code dimensions field should be requested, if available for the report.

Any other value should be taken to be the currency for all records of the report.

data_retentionstring

Indicates how far back data is available. This can be a date, datetime, or time window as specified by the "time_window" and "Special Time Windows" sections of https://apidocs.mediamath.com/docs/api/a726318c29d15-reports-api. This property should be used very loosely. It may not be accurate. It is meant to give a general idea.

default_metricsArray of stringsrequired
structureobjectrequired
structure.​time_fieldobjectrequired
structure.​time_field.​property name*object(Field Description)additional property
structure.​dimensionsobjectrequired
structure.​dimensions.​property name*object(Field Description)additional property
structure.​metricsobjectrequired
structure.​metrics.​property name*object(Field Description)additional property
time_aggregationstring

This property indicates the finest granularity of the time_field. For reports with a time_field of the datetime type, this will be "by_hour", "by_day", etc. When the type is interval, this will be "various".

time_rollupsArray of stringsrequired

This property indicates the available levels of granularity for the time_field. It lists the valid values of the time_rollup parameter used for the https://apidocs.mediamath.com/docs/api/aa580375b0b65-report-data endpoint. For reports with a time_field of the datetime type, this tends to be a combination of "by_hour", "by_day", "by_week", "by_month", "all", etc. When the type is interval, this will only include "all".

time_windowsArray of stringsrequired
timezonestring

Provides information about the timezone of the time_field for the report.

When set to "campaign timezone", the timezone varies from record to record. To determine the currency for a particular record, the campaign_timezone dimensions field should be requested, if available for the report.

Any other value should be taken to be the timezone for all records of the report.

Reach Frequency

Request

<!-- theme: danger -->

This API is deprecated and will be removed soon

The new API docs can be found here: https://apidocs.mediamath.com/docs/reporting-api-v2

The Reach and Frequency report measures the number of unique users your ads are reaching and the frequency with which your users see those ads. Use it to monitor your reach, or to understand how the number of ads a customer sees influences their click and conversion behavior.

API Endpoints

The Reach and Frequency Report is available at:

$API_BASE/reach_frequency

Important Fields

Report-Specific Fields

frequency - shows the average number of times a unique user saw media from the given strategy or campaign

frequency_bin - provides bins for ranges of frequency values. It’s useful for creating a histogram to show the distribution of frequency, or for analyzing how frequency correlates to performance metrics.

uniques - measures the number of unique users who viewed an impression from the given campaign or strategy. Uniques are identified using cookies, so this number could be slightly overstated if your audience uses many different devices or clears their cookies often.

NOTE: Uniques and frequencies are only counted for campaigns and strategies. Including advertiser or organization may be useful as metadata, but if you do not include campaign or strategy, uniques will be aggregated without de-duping and your data will be inaccurate. For this reason, you should always include either the campaign or strategy dimensions.

Time Fields

reach_frequency is available as an interval report. It supports four time windows: yesterday, last_7_days, last_14_days, and last_30_days. The only time_aggregation available is “all”.

Updates

Data is updated daily. Check the Last-Modified date in the header for more specific timing.

Query
dimensionsstringrequired

Selects the dimension fields to use in grouping rows.

This should be a comma-separated list of dimension field names.

The position of the fields in the output is not guaranteed to match the parameter value. Always use the header line from the response body to identify the position of each column in the output.

metricsstring

Controls the selection of metric fields.

This should be a comma-separated list of metric field names.

If not specified, this will default to the metric fields specified by the default_metrics property of the https://apidocs.mediamath.com/docs/api/e39ffafb5c6cb-report-meta.

The position of the fields in the output is not guaranteed to match the parameter value. Always use the header line from the response body to identify the position of each column in the output.

filterstringrequired
havingstring
time_rollupstringrequired
time_windowstringrequired
start_datestringrequired
end_datestring
Default "yesterday"
orderstring

Controls the sorting of the groups.

This should be a comma-separated list of field names. Each field name may optionally be prefixed with a minus sign to indicate descending order. Otherwise, ascending order is assumed.

The first field has the most significance in sorting.

page_limitinteger>= 1

Controls the maximum number of rows of data.

This parameter is required, if page_offset is one or greater.

Default 100
page_offsetinteger>= 0

Controls how many pages to skip.

precisioninteger[ 0 .. 8 ]

Controls how many digits to the right of the decimal places to display for float types.

Default 8
Headers
Cookiestringrequired

_

Default adama_session=<<sessionid>>
Accept-Encoding:string

If the client supports the compression methods also supported by the server (currently gzip and deflate), the response data set (text/csv) will be returned in a compressed format. The metadata and error responses will not be compressed.

In order to receive the data in compressed format, the client must use the HTTP request header Accept-Encoding, and enumerate the preferred compression methods (see RFC 2616). If the header Accept-Encoding is not present in the request, or if it contains only compression methods not supported by the system, the data will be returned in an uncompressed format.

### request Accept-Encoding: gzip,deflate

### response
Content-Encoding: gzip Content-Type: text/csv; charset=UTF-8

Value"gzip,deflate"
If-Modified-Sincestring(date-time)

If the data has not changed, the server responds with a 304 Not Modified status code and an empty response body.

If the same request was issued and the data had been updated since the specified time, the server responds with the data requested and a new Last-Modified header.

curl -i -X GET \
  'https://apidocs.mediamath.com/_mock/apis/reporting-api-v1/reach_frequency?dimensions=string&end_date=yesterday&filter=string&having=string&metrics=string&order=string&page_limit=100&page_offset=0&precision=8&start_date=string&time_rollup=string&time_window=string' \
  -H 'Accept-Encoding:: gzip,deflate' \
  -H 'Cookie: adama_session=<<sessionid>>' \
  -H 'If-Modified-Since: 2019-08-24T14:15:22Z'

Responses

Reach Frequency Meta

Request

<!-- theme: danger -->

This API is deprecated and will be removed soon

The new API docs can be found here: https://apidocs.mediamath.com/docs/reporting-api-v2

Get Reach Frequency Meta

Headers
Cookiestringrequired

_

Default adama_session=<<sessionid>>
curl -i -X GET \
  https://apidocs.mediamath.com/_mock/apis/reporting-api-v1/reach_frequency/meta \
  -H 'Cookie: adama_session=<<sessionid>>'

Responses

Body*/*
Namestringrequired

This is the human-readable name of the report. It is not recognized by any API input.

Versionintegerrequired
Descriptionstring
URI_Datastring(uri)required
URI_Metastring(uri)required
Transitionobject
Deprecationobject
Typestring
currencystring

Provides information about the currency of the metrics fields typed as "money".

When set to "campaign currency", the currency varies from record to record. To determine the currency for a particular record, the campaign_currency_code dimensions field should be requested, if available for the report.

Any other value should be taken to be the currency for all records of the report.

data_retentionstring

Indicates how far back data is available. This can be a date, datetime, or time window as specified by the "time_window" and "Special Time Windows" sections of https://apidocs.mediamath.com/docs/api/a726318c29d15-reports-api. This property should be used very loosely. It may not be accurate. It is meant to give a general idea.

default_metricsArray of stringsrequired
structureobjectrequired
structure.​time_fieldobjectrequired
structure.​time_field.​property name*object(Field Description)additional property
structure.​dimensionsobjectrequired
structure.​dimensions.​property name*object(Field Description)additional property
structure.​metricsobjectrequired
structure.​metrics.​property name*object(Field Description)additional property
time_aggregationstring

This property indicates the finest granularity of the time_field. For reports with a time_field of the datetime type, this will be "by_hour", "by_day", etc. When the type is interval, this will be "various".

time_rollupsArray of stringsrequired

This property indicates the available levels of granularity for the time_field. It lists the valid values of the time_rollup parameter used for the https://apidocs.mediamath.com/docs/api/aa580375b0b65-report-data endpoint. For reports with a time_field of the datetime type, this tends to be a combination of "by_hour", "by_day", "by_week", "by_month", "all", etc. When the type is interval, this will only include "all".

time_windowsArray of stringsrequired
timezonestring

Provides information about the timezone of the time_field for the report.

When set to "campaign timezone", the timezone varies from record to record. To determine the currency for a particular record, the campaign_timezone dimensions field should be requested, if available for the report.

Any other value should be taken to be the timezone for all records of the report.

Site Transparency

Request

<!-- theme: danger -->

This API is deprecated and will be removed soon

The new API docs can be found here: https://apidocs.mediamath.com/docs/reporting-api-v2

Get Site Transparency

Query
dimensionsstringrequired

Selects the dimension fields to use in grouping rows.

This should be a comma-separated list of dimension field names.

The position of the fields in the output is not guaranteed to match the parameter value. Always use the header line from the response body to identify the position of each column in the output.

metricsstring

Controls the selection of metric fields.

This should be a comma-separated list of metric field names.

If not specified, this will default to the metric fields specified by the default_metrics property of the https://apidocs.mediamath.com/docs/api/e39ffafb5c6cb-report-meta.

The position of the fields in the output is not guaranteed to match the parameter value. Always use the header line from the response body to identify the position of each column in the output.

filterstringrequired
havingstring
time_rollupstringrequired
time_windowstringrequired
start_datestringrequired
end_datestring
Default "yesterday"
orderstring

Controls the sorting of the groups.

This should be a comma-separated list of field names. Each field name may optionally be prefixed with a minus sign to indicate descending order. Otherwise, ascending order is assumed.

The first field has the most significance in sorting.

page_limitinteger>= 1

Controls the maximum number of rows of data.

This parameter is required, if page_offset is one or greater.

Default 100
page_offsetinteger>= 0

Controls how many pages to skip.

precisioninteger[ 0 .. 8 ]

Controls how many digits to the right of the decimal places to display for float types.

Default 8
Headers
Cookiestringrequired

_

Default adama_session=<<sessionid>>
Accept-Encoding:string

If the client supports the compression methods also supported by the server (currently gzip and deflate), the response data set (text/csv) will be returned in a compressed format. The metadata and error responses will not be compressed.

In order to receive the data in compressed format, the client must use the HTTP request header Accept-Encoding, and enumerate the preferred compression methods (see RFC 2616). If the header Accept-Encoding is not present in the request, or if it contains only compression methods not supported by the system, the data will be returned in an uncompressed format.

### request Accept-Encoding: gzip,deflate

### response
Content-Encoding: gzip Content-Type: text/csv; charset=UTF-8

Value"gzip,deflate"
If-Modified-Sincestring(date-time)

If the data has not changed, the server responds with a 304 Not Modified status code and an empty response body.

If the same request was issued and the data had been updated since the specified time, the server responds with the data requested and a new Last-Modified header.

curl -i -X GET \
  'https://apidocs.mediamath.com/_mock/apis/reporting-api-v1/site_transparency?dimensions=string&end_date=yesterday&filter=string&having=string&metrics=string&order=string&page_limit=100&page_offset=0&precision=8&start_date=string&time_rollup=string&time_window=string' \
  -H 'Accept-Encoding:: gzip,deflate' \
  -H 'Cookie: adama_session=<<sessionid>>' \
  -H 'If-Modified-Since: 2019-08-24T14:15:22Z'

Responses

Site Transparency Meta

Request

<!-- theme: danger -->

This API is deprecated and will be removed soon

The new API docs can be found here: https://apidocs.mediamath.com/docs/reporting-api-v2

Standard performance metrics broken out by the domain of the inventory. Available in standard intervals.

Headers
Cookiestringrequired

_

Default adama_session=<<sessionid>>
curl -i -X GET \
  https://apidocs.mediamath.com/_mock/apis/reporting-api-v1/site_transparency/meta \
  -H 'Cookie: adama_session=<<sessionid>>'

Responses

Body*/*
Namestringrequired

This is the human-readable name of the report. It is not recognized by any API input.

Versionintegerrequired
Descriptionstring
URI_Datastring(uri)required
URI_Metastring(uri)required
Transitionobject
Deprecationobject
Typestring
currencystring

Provides information about the currency of the metrics fields typed as "money".

When set to "campaign currency", the currency varies from record to record. To determine the currency for a particular record, the campaign_currency_code dimensions field should be requested, if available for the report.

Any other value should be taken to be the currency for all records of the report.

data_retentionstring

Indicates how far back data is available. This can be a date, datetime, or time window as specified by the "time_window" and "Special Time Windows" sections of https://apidocs.mediamath.com/docs/api/a726318c29d15-reports-api. This property should be used very loosely. It may not be accurate. It is meant to give a general idea.

default_metricsArray of stringsrequired
structureobjectrequired
structure.​time_fieldobjectrequired
structure.​time_field.​property name*object(Field Description)additional property
structure.​dimensionsobjectrequired
structure.​dimensions.​property name*object(Field Description)additional property
structure.​metricsobjectrequired
structure.​metrics.​property name*object(Field Description)additional property
time_aggregationstring

This property indicates the finest granularity of the time_field. For reports with a time_field of the datetime type, this will be "by_hour", "by_day", etc. When the type is interval, this will be "various".

time_rollupsArray of stringsrequired

This property indicates the available levels of granularity for the time_field. It lists the valid values of the time_rollup parameter used for the https://apidocs.mediamath.com/docs/api/aa580375b0b65-report-data endpoint. For reports with a time_field of the datetime type, this tends to be a combination of "by_hour", "by_day", "by_week", "by_month", "all", etc. When the type is interval, this will only include "all".

time_windowsArray of stringsrequired
timezonestring

Provides information about the timezone of the time_field for the report.

When set to "campaign timezone", the timezone varies from record to record. To determine the currency for a particular record, the campaign_timezone dimensions field should be requested, if available for the report.

Any other value should be taken to be the timezone for all records of the report.

Watermark

Request

<!-- theme: danger -->

This API is deprecated and will be removed soon

The new API docs can be found here: https://apidocs.mediamath.com/docs/reporting-api-v2

Watermark metrics show how many impressions and how much spend went towards the brain's learning activities. Viewable by campaign and strategy dimensions and available by day.

Query
dimensionsstringrequired

Selects the dimension fields to use in grouping rows.

This should be a comma-separated list of dimension field names.

The position of the fields in the output is not guaranteed to match the parameter value. Always use the header line from the response body to identify the position of each column in the output.

metricsstring

Controls the selection of metric fields.

This should be a comma-separated list of metric field names.

If not specified, this will default to the metric fields specified by the default_metrics property of the https://apidocs.mediamath.com/docs/api/e39ffafb5c6cb-report-meta.

The position of the fields in the output is not guaranteed to match the parameter value. Always use the header line from the response body to identify the position of each column in the output.

filterstringrequired
havingstring
time_rollupstringrequired
time_windowstringrequired
start_datestringrequired
end_datestring
Default "yesterday"
orderstring

Controls the sorting of the groups.

This should be a comma-separated list of field names. Each field name may optionally be prefixed with a minus sign to indicate descending order. Otherwise, ascending order is assumed.

The first field has the most significance in sorting.

page_limitinteger>= 1

Controls the maximum number of rows of data.

This parameter is required, if page_offset is one or greater.

Default 100
page_offsetinteger>= 0

Controls how many pages to skip.

precisioninteger[ 0 .. 8 ]

Controls how many digits to the right of the decimal places to display for float types.

Default 8
Headers
Cookiestringrequired

_

Default adama_session=<<sessionid>>
Accept-Encoding:string

If the client supports the compression methods also supported by the server (currently gzip and deflate), the response data set (text/csv) will be returned in a compressed format. The metadata and error responses will not be compressed.

In order to receive the data in compressed format, the client must use the HTTP request header Accept-Encoding, and enumerate the preferred compression methods (see RFC 2616). If the header Accept-Encoding is not present in the request, or if it contains only compression methods not supported by the system, the data will be returned in an uncompressed format.

### request Accept-Encoding: gzip,deflate

### response
Content-Encoding: gzip Content-Type: text/csv; charset=UTF-8

Value"gzip,deflate"
If-Modified-Sincestring(date-time)

If the data has not changed, the server responds with a 304 Not Modified status code and an empty response body.

If the same request was issued and the data had been updated since the specified time, the server responds with the data requested and a new Last-Modified header.

curl -i -X GET \
  'https://apidocs.mediamath.com/_mock/apis/reporting-api-v1/watermark?dimensions=string&end_date=yesterday&filter=string&having=string&metrics=string&order=string&page_limit=100&page_offset=0&precision=8&start_date=string&time_rollup=string&time_window=string' \
  -H 'Accept-Encoding:: gzip,deflate' \
  -H 'Cookie: adama_session=<<sessionid>>' \
  -H 'If-Modified-Since: 2019-08-24T14:15:22Z'

Responses

Watermark Meta

Request

<!-- theme: danger -->

This API is deprecated and will be removed soon

The new API docs can be found here: https://apidocs.mediamath.com/docs/reporting-api-v2

Get Watermark Meta

Headers
Cookiestringrequired

_

Default adama_session=<<sessionid>>
curl -i -X GET \
  https://apidocs.mediamath.com/_mock/apis/reporting-api-v1/watermark/meta \
  -H 'Cookie: adama_session=<<sessionid>>'

Responses

Body*/*
Namestringrequired

This is the human-readable name of the report. It is not recognized by any API input.

Versionintegerrequired
Descriptionstring
URI_Datastring(uri)required
URI_Metastring(uri)required
Transitionobject
Deprecationobject
Typestring
currencystring

Provides information about the currency of the metrics fields typed as "money".

When set to "campaign currency", the currency varies from record to record. To determine the currency for a particular record, the campaign_currency_code dimensions field should be requested, if available for the report.

Any other value should be taken to be the currency for all records of the report.

data_retentionstring

Indicates how far back data is available. This can be a date, datetime, or time window as specified by the "time_window" and "Special Time Windows" sections of https://apidocs.mediamath.com/docs/api/a726318c29d15-reports-api. This property should be used very loosely. It may not be accurate. It is meant to give a general idea.

default_metricsArray of stringsrequired
structureobjectrequired
structure.​time_fieldobjectrequired
structure.​time_field.​property name*object(Field Description)additional property
structure.​dimensionsobjectrequired
structure.​dimensions.​property name*object(Field Description)additional property
structure.​metricsobjectrequired
structure.​metrics.​property name*object(Field Description)additional property
time_aggregationstring

This property indicates the finest granularity of the time_field. For reports with a time_field of the datetime type, this will be "by_hour", "by_day", etc. When the type is interval, this will be "various".

time_rollupsArray of stringsrequired

This property indicates the available levels of granularity for the time_field. It lists the valid values of the time_rollup parameter used for the https://apidocs.mediamath.com/docs/api/aa580375b0b65-report-data endpoint. For reports with a time_field of the datetime type, this tends to be a combination of "by_hour", "by_day", "by_week", "by_month", "all", etc. When the type is interval, this will only include "all".

time_windowsArray of stringsrequired
timezonestring

Provides information about the timezone of the time_field for the report.

When set to "campaign timezone", the timezone varies from record to record. To determine the currency for a particular record, the campaign_timezone dimensions field should be requested, if available for the report.

Any other value should be taken to be the timezone for all records of the report.

Win Loss

Request

<!-- theme: danger -->

This API is deprecated and will be removed soon

The new API docs can be found here: https://apidocs.mediamath.com/docs/reporting-api-v2

Metrics describe the auction before a win or even a bid has taken place. Broken out by strategy, exchange, and deal dimensions and available by hour.

Query
dimensionsstringrequired

Selects the dimension fields to use in grouping rows.

This should be a comma-separated list of dimension field names.

The position of the fields in the output is not guaranteed to match the parameter value. Always use the header line from the response body to identify the position of each column in the output.

metricsstring

Controls the selection of metric fields.

This should be a comma-separated list of metric field names.

If not specified, this will default to the metric fields specified by the default_metrics property of the https://apidocs.mediamath.com/docs/api/e39ffafb5c6cb-report-meta.

The position of the fields in the output is not guaranteed to match the parameter value. Always use the header line from the response body to identify the position of each column in the output.

filterstringrequired
havingstring
time_rollupstringrequired
time_windowstringrequired
start_datestringrequired
end_datestring
Default "yesterday"
orderstring

Controls the sorting of the groups.

This should be a comma-separated list of field names. Each field name may optionally be prefixed with a minus sign to indicate descending order. Otherwise, ascending order is assumed.

The first field has the most significance in sorting.

page_limitinteger>= 1

Controls the maximum number of rows of data.

This parameter is required, if page_offset is one or greater.

Default 100
page_offsetinteger>= 0

Controls how many pages to skip.

precisioninteger[ 0 .. 8 ]

Controls how many digits to the right of the decimal places to display for float types.

Default 8
Headers
Cookiestringrequired

_

Default adama_session=<<sessionid>>
Accept-Encoding:string

If the client supports the compression methods also supported by the server (currently gzip and deflate), the response data set (text/csv) will be returned in a compressed format. The metadata and error responses will not be compressed.

In order to receive the data in compressed format, the client must use the HTTP request header Accept-Encoding, and enumerate the preferred compression methods (see RFC 2616). If the header Accept-Encoding is not present in the request, or if it contains only compression methods not supported by the system, the data will be returned in an uncompressed format.

### request Accept-Encoding: gzip,deflate

### response
Content-Encoding: gzip Content-Type: text/csv; charset=UTF-8

Value"gzip,deflate"
If-Modified-Sincestring(date-time)

If the data has not changed, the server responds with a 304 Not Modified status code and an empty response body.

If the same request was issued and the data had been updated since the specified time, the server responds with the data requested and a new Last-Modified header.

curl -i -X GET \
  'https://apidocs.mediamath.com/_mock/apis/reporting-api-v1/win_loss?dimensions=string&end_date=yesterday&filter=string&having=string&metrics=string&order=string&page_limit=100&page_offset=0&precision=8&start_date=string&time_rollup=string&time_window=string' \
  -H 'Accept-Encoding:: gzip,deflate' \
  -H 'Cookie: adama_session=<<sessionid>>' \
  -H 'If-Modified-Since: 2019-08-24T14:15:22Z'

Responses

Win Loss Meta

Request

<!-- theme: danger -->

This API is deprecated and will be removed soon

The new API docs can be found here: https://apidocs.mediamath.com/docs/reporting-api-v2

Metrics describe the auction before a win or even a bid has taken place. Broken out by strategy, exchange, and deal dimensions and available by hour.

Headers
Cookiestringrequired

_

Default adama_session=<<sessionid>>
curl -i -X GET \
  https://apidocs.mediamath.com/_mock/apis/reporting-api-v1/win_loss/meta \
  -H 'Cookie: adama_session=<<sessionid>>'

Responses

Body*/*
Namestringrequired

This is the human-readable name of the report. It is not recognized by any API input.

Versionintegerrequired
Descriptionstring
URI_Datastring(uri)required
URI_Metastring(uri)required
Transitionobject
Deprecationobject
Typestring
currencystring

Provides information about the currency of the metrics fields typed as "money".

When set to "campaign currency", the currency varies from record to record. To determine the currency for a particular record, the campaign_currency_code dimensions field should be requested, if available for the report.

Any other value should be taken to be the currency for all records of the report.

data_retentionstring

Indicates how far back data is available. This can be a date, datetime, or time window as specified by the "time_window" and "Special Time Windows" sections of https://apidocs.mediamath.com/docs/api/a726318c29d15-reports-api. This property should be used very loosely. It may not be accurate. It is meant to give a general idea.

default_metricsArray of stringsrequired
structureobjectrequired
structure.​time_fieldobjectrequired
structure.​time_field.​property name*object(Field Description)additional property
structure.​dimensionsobjectrequired
structure.​dimensions.​property name*object(Field Description)additional property
structure.​metricsobjectrequired
structure.​metrics.​property name*object(Field Description)additional property
time_aggregationstring

This property indicates the finest granularity of the time_field. For reports with a time_field of the datetime type, this will be "by_hour", "by_day", etc. When the type is interval, this will be "various".

time_rollupsArray of stringsrequired

This property indicates the available levels of granularity for the time_field. It lists the valid values of the time_rollup parameter used for the https://apidocs.mediamath.com/docs/api/aa580375b0b65-report-data endpoint. For reports with a time_field of the datetime type, this tends to be a combination of "by_hour", "by_day", "by_week", "by_month", "all", etc. When the type is interval, this will only include "all".

time_windowsArray of stringsrequired
timezonestring

Provides information about the timezone of the time_field for the report.

When set to "campaign timezone", the timezone varies from record to record. To determine the currency for a particular record, the campaign_timezone dimensions field should be requested, if available for the report.

Any other value should be taken to be the timezone for all records of the report.

Win/Loss by Creative

Request

<!-- theme: danger -->

This API is deprecated and will be removed soon

The new API docs can be found here: https://apidocs.mediamath.com/docs/reporting-api-v2

Metrics describe the auction before a win has taken place. Broken out by creative dimensions and available by hour.

Query
dimensionsstringrequired

Selects the dimension fields to use in grouping rows.

This should be a comma-separated list of dimension field names.

The position of the fields in the output is not guaranteed to match the parameter value. Always use the header line from the response body to identify the position of each column in the output.

metricsstring

Controls the selection of metric fields.

This should be a comma-separated list of metric field names.

If not specified, this will default to the metric fields specified by the default_metrics property of the https://apidocs.mediamath.com/docs/api/e39ffafb5c6cb-report-meta.

The position of the fields in the output is not guaranteed to match the parameter value. Always use the header line from the response body to identify the position of each column in the output.

filterstringrequired
havingstring
time_rollupstringrequired
time_windowstringrequired
start_datestringrequired
end_datestring
Default "yesterday"
orderstring

Controls the sorting of the groups.

This should be a comma-separated list of field names. Each field name may optionally be prefixed with a minus sign to indicate descending order. Otherwise, ascending order is assumed.

The first field has the most significance in sorting.

page_limitinteger>= 1

Controls the maximum number of rows of data.

This parameter is required, if page_offset is one or greater.

Default 100
page_offsetinteger>= 0

Controls how many pages to skip.

precisioninteger[ 0 .. 8 ]

Controls how many digits to the right of the decimal places to display for float types.

Default 8
Headers
Cookiestringrequired

_

Default adama_session=<<sessionid>>
Accept-Encoding:string

If the client supports the compression methods also supported by the server (currently gzip and deflate), the response data set (text/csv) will be returned in a compressed format. The metadata and error responses will not be compressed.

In order to receive the data in compressed format, the client must use the HTTP request header Accept-Encoding, and enumerate the preferred compression methods (see RFC 2616). If the header Accept-Encoding is not present in the request, or if it contains only compression methods not supported by the system, the data will be returned in an uncompressed format.

### request Accept-Encoding: gzip,deflate

### response
Content-Encoding: gzip Content-Type: text/csv; charset=UTF-8

Value"gzip,deflate"
If-Modified-Sincestring(date-time)

If the data has not changed, the server responds with a 304 Not Modified status code and an empty response body.

If the same request was issued and the data had been updated since the specified time, the server responds with the data requested and a new Last-Modified header.

curl -i -X GET \
  'https://apidocs.mediamath.com/_mock/apis/reporting-api-v1/win_loss_creative?dimensions=string&end_date=yesterday&filter=string&having=string&metrics=string&order=string&page_limit=100&page_offset=0&precision=8&start_date=string&time_rollup=string&time_window=string' \
  -H 'Accept-Encoding:: gzip,deflate' \
  -H 'Cookie: adama_session=<<sessionid>>' \
  -H 'If-Modified-Since: 2019-08-24T14:15:22Z'

Responses

Win/Loss by Creative Meta

Request

<!-- theme: danger -->

This API is deprecated and will be removed soon

The new API docs can be found here: https://apidocs.mediamath.com/docs/reporting-api-v2

Metrics describe the auction before a win has taken place. Broken out by creative dimensions and available by hour.

Headers
Cookiestringrequired

_

Default adama_session=<<sessionid>>
curl -i -X GET \
  https://apidocs.mediamath.com/_mock/apis/reporting-api-v1/win_loss_creative/meta \
  -H 'Cookie: adama_session=<<sessionid>>'

Responses

Body*/*
Namestringrequired

This is the human-readable name of the report. It is not recognized by any API input.

Versionintegerrequired
Descriptionstring
URI_Datastring(uri)required
URI_Metastring(uri)required
Transitionobject
Deprecationobject
Typestring
currencystring

Provides information about the currency of the metrics fields typed as "money".

When set to "campaign currency", the currency varies from record to record. To determine the currency for a particular record, the campaign_currency_code dimensions field should be requested, if available for the report.

Any other value should be taken to be the currency for all records of the report.

data_retentionstring

Indicates how far back data is available. This can be a date, datetime, or time window as specified by the "time_window" and "Special Time Windows" sections of https://apidocs.mediamath.com/docs/api/a726318c29d15-reports-api. This property should be used very loosely. It may not be accurate. It is meant to give a general idea.

default_metricsArray of stringsrequired
structureobjectrequired
structure.​time_fieldobjectrequired
structure.​time_field.​property name*object(Field Description)additional property
structure.​dimensionsobjectrequired
structure.​dimensions.​property name*object(Field Description)additional property
structure.​metricsobjectrequired
structure.​metrics.​property name*object(Field Description)additional property
time_aggregationstring

This property indicates the finest granularity of the time_field. For reports with a time_field of the datetime type, this will be "by_hour", "by_day", etc. When the type is interval, this will be "various".

time_rollupsArray of stringsrequired

This property indicates the available levels of granularity for the time_field. It lists the valid values of the time_rollup parameter used for the https://apidocs.mediamath.com/docs/api/aa580375b0b65-report-data endpoint. For reports with a time_field of the datetime type, this tends to be a combination of "by_hour", "by_day", "by_week", "by_month", "all", etc. When the type is interval, this will only include "all".

time_windowsArray of stringsrequired
timezonestring

Provides information about the timezone of the time_field for the report.

When set to "campaign timezone", the timezone varies from record to record. To determine the currency for a particular record, the campaign_timezone dimensions field should be requested, if available for the report.

Any other value should be taken to be the timezone for all records of the report.