# Reporting API V1 {% admonition type="danger" name="This API is deprecated and will be removed in July 2026" %} The new API docs can be found here: [https://apidocs.mediamath.com/apis/reporting-api](https://apidocs.mediamath.com/apis/reporting-api) {% /admonition %} {% admonition type="warning" name="Notice about authentication with cookie adama_session" %} The use of cookie adama_session for authentication has been discontinued and it's not supported in Reporting API V2. We ask all of our clients who have not yet migrated to [OAuth2 Authentication](https://apidocs.mediamath.com/guides/authentication) to do so as soon as possible. {% /admonition %} 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 See [OAuth Authentication](https://apidocs.mediamath.com/guides/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. ```json { "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. |Group|Data Types| |--- |--- | |float|float, money, percent, ratio| |integer|integer, count, rank| |numeric|float and integer groups| |date|datetime| |string|string, interval| |id|id| |bool|bool, boolean| License: Apache 2.0 ## Servers ``` https://api.mediamath.com/reporting/v1/std ``` ## Security ### API_Key_-_1 Type: oauth2 ## Download OpenAPI description [Reporting API V1](https://apidocs.mediamath.com/_spec/apis/reporting-api-v1.yaml) ## Data Retrieval _ ### Report Data - [GET /{report}](https://apidocs.mediamath.com/apis/reporting-api-v1/data-retrieval/get_report.md): {% admonition type="danger" name="This API is deprecated and will be removed in July 2026" %} The new API docs can be found here: https://apidocs.mediamath.com/apis/reporting-api {% /admonition %} # Parameters Parameter names are case sensitive, (see the table below). Most parameters will fall under one of the following two formats. * enumeration of comma-separated items (used in aggregation, selection and sorting); * example: * (in other words, ) * list of logically AND-ed expressions, joined by ampersand (used in dimension and metric filtering); * examples: * (in other words, ) * (in other words, filterhavingfilterhaving=filterhavingfilterhavingfilterhavinghavingdimensionsmetricsContent-Type: text/csvstart_dateend_datestart_dateend_datetime_rollupintervaldatetimeContent-Type: text/xml`) will contain, at the minimum (see examples below), the root element result, with at least one element named status, which in turn has an attribute named code, and a human readable text. Some error responses also contain an attribute reason, which adds more information regarding the error. There are several types of errors: ### Authentication and authorization errors ### Parameter validation errors (malformed values, unknown fields, missing required parameters, etc) ### Non-existent entities ### Server errors (internal error, request timeout, scheduled maintenance, server overloaded) ### Validate Report Data Request - [GET /{report}/validate](https://apidocs.mediamath.com/apis/reporting-api-v1/data-retrieval/get_report-validate.md): {% admonition type="danger" name="This API is deprecated and will be removed in July 2026" %} The new API docs can be found here: https://apidocs.mediamath.com/apis/reporting-api {% /admonition %} ### Validating Data Retrieval Requests Data retrieval requests can be validated and authenticated without actually requesting data, by simply appending a path segment to the URI. The validation process takes into account the current user's permissions. The error responses that are returned in case of validation failure are the same as the ones that would have been returned by the regular API call. The following shows an example validation request for a request with an erroneous filtering parameter: By contrast, this call shows a validation response for a valid call: ## Metadata _ ### Reports List - [GET /meta](https://apidocs.mediamath.com/apis/reporting-api-v1/metadata/get_meta.md): {% admonition type="danger" name="This API is deprecated and will be removed in July 2026" %} The new API docs can be found here: https://apidocs.mediamath.com/apis/reporting-api {% /admonition %} In order to obtain a list of reports which are currently supported by the Reports API, issue the following API call: All metadata in Reports API is represented in JSON format (content-type: application/json; charset=UTF-8). The schema for the response follows the example. ## Reports Meta The example has been formatted for easy reading. ### Report Meta - [GET /{report}/meta](https://apidocs.mediamath.com/apis/reporting-api-v1/metadata/get_report-meta.md): {% admonition type="danger" name="This API is deprecated and will be removed in July 2026" %} The new API docs can be found here: https://apidocs.mediamath.com/apis/reporting-api {% /admonition %} The examples used in this section are truncated versions of . The use of "..." in an example is meant to indicate truncation of other properties. The Definition section of this endpoint provides information about how the metadata may vary from report to report. The Definition section of the provides a reference to the query string parameters that it accepts. ## Reports _ ### App Transparency - [GET /app_transparency](https://apidocs.mediamath.com/apis/reporting-api-v1/reports/get_app_transparency.md): {% admonition type="danger" name="This API is deprecated and will be removed in July 2026" %} The new API docs can be found here: https://apidocs.mediamath.com/apis/reporting-api {% /admonition %} See or query the Meta Endpoint for required fields and parameters. ### App Transparency Meta - [GET /app_transparency/meta](https://apidocs.mediamath.com/apis/reporting-api-v1/reports/get_app_transparency-meta.md): > ### 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 ### Brain Feature Summary report - [GET /brain_feature_summary/meta](https://apidocs.mediamath.com/apis/reporting-api-v1/reports/generate-brain-feature-summary-report.md): {% admonition type="danger" name="This API is deprecated and will be removed in July 2026" %} The new API docs can be found here: https://apidocs.mediamath.com/apis/reporting-api {% /admonition %} ## 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 | Column | Example* | Description | |---|---|---| | Start Date | 8/31/2019 | Date when these values were being used in bidding. | | End Date | 8/31/2019 | Date when these values were being used in bidding. | | Organization ID | 100001 | | | Agency ID | 10002 | | Advertiser ID | 10003 | | Campaign ID | 111111 | MediaMath unique ID for campaign. | | Model Goal | CPA, ROI, CPC, etc. | The Goal Type that the model was trained for. Each Goal Type will have a different Brain model. | | Feature |isp_id, day_of_week, size, week_part, category_id | The Dimension used as input into the Brain Machine Learning model. For a full list, see here. | | Position | 0, 1, 2, 3, 4, ..., 99 | For 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". | | Index | 2.1925095 | The 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) ### Brain Feature Value report - [GET /brain_feature_value/meta](https://apidocs.mediamath.com/apis/reporting-api-v1/reports/generate-brain-feature-value-report.md): {% admonition type="danger" name="This API is deprecated and will be removed in July 2026" %} The new API docs can be found here: https://apidocs.mediamath.com/apis/reporting-api {% /admonition %} ## 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 | Column | Example* | Description | |---|---|---| | Start Date | 8/31/2019 | Date when these values were being used in bidding. | | End Date | 8/31/2019\t| Date when these values were being used in bidding. | | Organization ID | 100000 | | | Agency ID | 10001 | User-specified (Step 6, below). | | Advertiser ID | 20000 | User-specified (Step 6, below). | | Campaign ID | 30000 | MediaMath unique ID for campaign. User-specified (Step 6, below). | | Model Goal | CPA, ROI, CPC, etc | The Goal Type that the model was trained for. Each Goal Type will have a different Brain model. | | Feature Report Type | bottom_features or top_feature | bottom_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\") | | Position | 0, 1, 2, 3, 4, ..., 9 | For 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\". | | Feature | isp_id, day_of_week, size | The 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 Value| Verizon, Tuesday, 728x90 | Readable 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 Numeric | Y, N | A 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. | | Index | 123.855316, -60.73726 | This 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. | | Mean | 0.00000648, -0.00000308 | When 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 Impact | 1.27748963, 0.93687577 | The 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. * 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) ### By Hour - [GET /by_hour](https://apidocs.mediamath.com/apis/reporting-api-v1/reports/get_by_hour.md): {% admonition type="danger" name="This API is deprecated and will be removed in July 2026" %} The new API docs can be found here: https://apidocs.mediamath.com/apis/reporting-api {% /admonition %} 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. ### By Hour Meta - [GET /by_hour/meta](https://apidocs.mediamath.com/apis/reporting-api-v1/reports/get_by_hour-meta.md): {% admonition type="danger" name="This API is deprecated and will be removed in July 2026" %} The new API docs can be found here: https://apidocs.mediamath.com/apis/reporting-api {% /admonition %} Get By Hour Meta ### Day Part - [GET /day_part](https://apidocs.mediamath.com/apis/reporting-api-v1/reports/get_day_part.md): {% admonition type="danger" name="This API is deprecated and will be removed in July 2026" %} The new API docs can be found here: https://apidocs.mediamath.com/apis/reporting-api {% /admonition %} Standard performance metrics broken out by time of day and day of week. Available in standard intervals. ### Day Part Meta - [GET /day_part/meta](https://apidocs.mediamath.com/apis/reporting-api-v1/reports/get_day_part-meta.md): {% admonition type="danger" name="This API is deprecated and will be removed in July 2026" %} The new API docs can be found here: https://apidocs.mediamath.com/apis/reporting-api {% /admonition %} Get Day Part Meta ### Deals - [GET /deals](https://apidocs.mediamath.com/apis/reporting-api-v1/reports/get_deals.md): {% admonition type="danger" name="This API is deprecated and will be removed in July 2026" %} The new API docs can be found here: https://apidocs.mediamath.com/apis/reporting-api {% /admonition %} 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] ### Deals Meta - [GET /deals/meta](https://apidocs.mediamath.com/apis/reporting-api-v1/reports/get_deals-meta.md): {% admonition type="danger" name="This API is deprecated and will be removed in July 2026" %} The new API docs can be found here: https://apidocs.mediamath.com/apis/reporting-api {% /admonition %} Get Deals Meta ### Device Technology - [GET /device_technology](https://apidocs.mediamath.com/apis/reporting-api-v1/reports/get_device_technology.md): {% admonition type="danger" name="This API is deprecated and will be removed in July 2026" %} The new API docs can be found here: https://apidocs.mediamath.com/apis/reporting-api {% /admonition %} 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 or . Starting October 3rd, 2017 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 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 * From November 1st, 2017 technology reports will pull data from the version of the reports by default. * From November 1st, 2017 technology reports that query the 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 endpoint that specify removed metrics . It is strongly recommended that you compare the v1 and v2 definitions of the device technology report /meta endpoint. ## Dimensions - Added - Added - Added - Added - Added - Added - Added - Added - Removed - Removed - Removed - Removed - Removed - Removed - Removed - Removed ## Metrics - Added - Added - Added - Added - Added - Added - Added - Added - Added - Added - Added - Added - Added ## Time Windows - Added ### Device Technology Meta - [GET /device_technology/meta](https://apidocs.mediamath.com/apis/reporting-api-v1/reports/get_device_technology-meta.md): {% admonition type="danger" name="This API is deprecated and will be removed in July 2026" %} The new API docs can be found here: https://apidocs.mediamath.com/apis/reporting-api {% /admonition %} ## Versions The API allows you to determine the version of the Device Technology Report by presenting a query parameter of or . Starting October 3rd, 2017 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 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 * From November 1st, 2017 technology reports will pull data from the 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. ### Geo - [GET /geo](https://apidocs.mediamath.com/apis/reporting-api-v1/reports/get_geo.md): {% admonition type="danger" name="This API is deprecated and will be removed in July 2026" %} The new API docs can be found here: https://apidocs.mediamath.com/apis/reporting-api {% /admonition %} ### Geo Meta - [GET /geo/meta](https://apidocs.mediamath.com/apis/reporting-api-v1/reports/get_geo-meta.md): {% admonition type="danger" name="This API is deprecated and will be removed in July 2026" %} The new API docs can be found here: https://apidocs.mediamath.com/apis/reporting-api {% /admonition %} Standard performance metrics broken out by geographic dimensions including country, region, and metro area. Available in standard intervals. ### Performance - [GET /performance](https://apidocs.mediamath.com/apis/reporting-api-v1/reports/get_performance.md): {% admonition type="danger" name="This API is deprecated and will be removed in July 2026" %} The new API docs can be found here: https://apidocs.mediamath.com/apis/reporting-api {% /admonition %} 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. ### Performance Meta - [GET /performance/meta](https://apidocs.mediamath.com/apis/reporting-api-v1/reports/get_performance-meta.md): {% admonition type="danger" name="This API is deprecated and will be removed in July 2026" %} The new API docs can be found here: https://apidocs.mediamath.com/apis/reporting-api {% /admonition %} Get Performance Meta ### Postal Code - [GET /postal_code](https://apidocs.mediamath.com/apis/reporting-api-v1/reports/get_postal_code.md): > ### 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: # Important Fields ### Report-Specific Dimensions and Metrics - 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. ### Postal Code Meta - [GET /postal_code/meta](https://apidocs.mediamath.com/apis/reporting-api-v1/reports/get_postal_code-meta.md): {% admonition type="danger" name="This API is deprecated and will be removed in July 2026" %} The new API docs can be found here: https://apidocs.mediamath.com/apis/reporting-api {% /admonition %} Get Postal Code Meta ### Reach Frequency - [GET /reach_frequency](https://apidocs.mediamath.com/apis/reporting-api-v1/reports/get_reach_frequency.md): {% admonition type="danger" name="This API is deprecated and will be removed in July 2026" %} The new API docs can be found here: https://apidocs.mediamath.com/apis/reporting-api {% /admonition %} 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: # Important Fields ### Report-Specific Fields - shows the average number of times a unique user saw media from the given strategy or campaign - 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. - 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 is available as an interval report. It supports four time windows: yesterday, , , , and . The only available is “all”. # Updates Data is updated daily. Check the Last-Modified date in the header for more specific timing. ### Reach Frequency Meta - [GET /reach_frequency/meta](https://apidocs.mediamath.com/apis/reporting-api-v1/reports/get_reach_frequency-meta.md): {% admonition type="danger" name="This API is deprecated and will be removed in July 2026" %} The new API docs can be found here: https://apidocs.mediamath.com/apis/reporting-api {% /admonition %} Get Reach Frequency Meta ### Site Transparency - [GET /site_transparency](https://apidocs.mediamath.com/apis/reporting-api-v1/reports/get_site_transparency.md): {% admonition type="danger" name="This API is deprecated and will be removed in July 2026" %} The new API docs can be found here: https://apidocs.mediamath.com/apis/reporting-api {% /admonition %} Get Site Transparency ### Site Transparency Meta - [GET /site_transparency/meta](https://apidocs.mediamath.com/apis/reporting-api-v1/reports/get_site_transparency-meta.md): {% admonition type="danger" name="This API is deprecated and will be removed in July 2026" %} The new API docs can be found here: https://apidocs.mediamath.com/apis/reporting-api {% /admonition %} Standard performance metrics broken out by the domain of the inventory. Available in standard intervals. ### Watermark - [GET /watermark](https://apidocs.mediamath.com/apis/reporting-api-v1/reports/get_watermark.md): {% admonition type="danger" name="This API is deprecated and will be removed in July 2026" %} The new API docs can be found here: https://apidocs.mediamath.com/apis/reporting-api {% /admonition %} 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. ### Watermark Meta - [GET /watermark/meta](https://apidocs.mediamath.com/apis/reporting-api-v1/reports/get_watermark-meta.md): {% admonition type="danger" name="This API is deprecated and will be removed in July 2026" %} The new API docs can be found here: https://apidocs.mediamath.com/apis/reporting-api {% /admonition %} Get Watermark Meta ### Win Loss - [GET /win_loss](https://apidocs.mediamath.com/apis/reporting-api-v1/reports/get_win_loss.md): {% admonition type="danger" name="This API is deprecated and will be removed in July 2026" %} The new API docs can be found here: https://apidocs.mediamath.com/apis/reporting-api {% /admonition %} 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. ### Win Loss Meta - [GET /win_loss/meta](https://apidocs.mediamath.com/apis/reporting-api-v1/reports/get_win_loss-meta.md): {% admonition type="danger" name="This API is deprecated and will be removed in July 2026" %} The new API docs can be found here: https://apidocs.mediamath.com/apis/reporting-api {% /admonition %} 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. ### Win/Loss by Creative - [GET /win_loss_creative](https://apidocs.mediamath.com/apis/reporting-api-v1/reports/get_win_loss_creative.md): {% admonition type="danger" name="This API is deprecated and will be removed in July 2026" %} The new API docs can be found here: https://apidocs.mediamath.com/apis/reporting-api {% /admonition %} Metrics describe the auction before a win has taken place. Broken out by creative dimensions and available by hour. ### Win/Loss by Creative Meta - [GET /win_loss_creative/meta](https://apidocs.mediamath.com/apis/reporting-api-v1/reports/get_win_loss_creative-meta.md): {% admonition type="danger" name="This API is deprecated and will be removed in July 2026" %} The new API docs can be found here: https://apidocs.mediamath.com/apis/reporting-api {% /admonition %} Metrics describe the auction before a win has taken place. Broken out by creative dimensions and available by hour.