# Win/Loss

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.

### Fields

| Field | Time Windows 	| Rollups 	|
|-------|---------------|-----------|
|Dimensions|
|agg_timestamp|current_day, last_X_hours, yesterday, last_X_days, month_to_date|by_hour, by_day, by_week, by_month|
|advertiser_id|Any|Any|
|advertiser_name|Any|Any|
|agency_id|Any|Any|
|agency_name|Any|Any|
|campaign_archived|Any|Any|
|campaign_conversion_type|Any|Any|
|campaign_conversion_variable_minutes|Any|Any|
|campaign_created_onCampaign Creation Time|Any|Any|
|campaign_currency_codeCampaign Currency Code|Any|Any|
|campaign_custom_attribution_source|Any|Any|
|campaign_dynamic_budget_allocation_type|Any|Any|
|campaign_end_date(GMT) Campaign End Date|Any|Any|
|campaign_end_date_campaign_tz(CTZ) Campaign End Date|Any|Any|
|campaign_frequency_amountCampaign Frequency Amount|Any|Any|
|campaign_frequency_intervalCampaign Frequency Interval|Any|Any|
|campaign_frequency_optimizationCampaign Frequency Optimization|Any|Any|
|campaign_frequency_typeCampaign Frequency Type|Any|Any|
|campaign_goal_type|Any|Any|
|campaign_goal_value|Any|Any|
|campaign_has_custom_attribution|Any|Any|
|campaign_id|Any|Any|
|campaign_impression_cap_amount|Any|Any|
|campaign_impression_cap_automatic|Any|Any|
|campaign_impression_cap_type|Any|Any|
|campaign_initial_start_date(GMT) Campaign Initial Start Date|Any|Any|
|campaign_initial_start_date_campaign_tz(CTZ) Campaign Initial Start Date|Any|Any|
|campaign_io_name|Any|Any|
|campaign_io_reference_num|Any|Any|
|campaign_is_programmatic_guaranteedCampaign Is Programmatic Guaranteed|Any|Any|
|campaign_merit_pixel_created_onPixel Creation Time|Any|Any|
|campaign_merit_pixel_eligible|Any|Any|
|campaign_merit_pixel_external_identifier|Any|Any|
|campaign_merit_pixel_id|Any|Any|
|campaign_merit_pixel_name|Any|Any|
|campaign_merit_pixel_provider_id|Any|Any|
|campaign_merit_pixel_status|Any|Any|
|campaign_merit_pixel_tag_type|Any|Any|
|campaign_merit_pixel_tags|Any|Any|
|campaign_merit_pixel_updated_onPixel Update Time|Any|Any|
|campaign_name|Any|Any|
|campaign_pc_window_minutes|Any|Any|
|campaign_political|Any|Any|
|campaign_pv_pct|Any|Any|
|campaign_pv_window_minutes|Any|Any|
|campaign_service_typeCampaign Service Type, a.k.a. Managed Service Flag / managed_service_flag|Any|Any|
|campaign_spend_cap_amount|Any|Any|
|campaign_spend_cap_automatic|Any|Any|
|campaign_spend_cap_daily_cap|Any|Any|
|campaign_spend_cap_type|Any|Any|
|campaign_start_date(GMT) Campaign Start Date|Any|Any|
|campaign_start_date_campaign_tz(CTZ) Campaign Start Date|Any|Any|
|campaign_statusActive Status|Any|Any|
|campaign_total_budget|Any|Any|
|campaign_total_impression_budgetCampaign Impressions Budget|Any|Any|
|campaign_updated_onCampaign Update Time|Any|Any|
|campaign_zone_nameCampaign Time Zone, a.k.a time_zone|Any|Any|
|deal_external_id|Any|Any|
|deal_group_id|Any|Any|
|deal_group_name|Any|Any|
|deal_id|Any|Any|
|deal_name|Any|Any|
|deal_price_type|Any|Any|
|deal_publisher_idDeal Publisher ID|Any|Any|
|exchange_id|Any|Any|
|exchange_name|Any|Any|
|organization_id|Any|Any|
|organization_name|Any|Any|
|pixel_provider_created_on|Any|Any|
|pixel_provider_name|Any|Any|
|pixel_provider_updated_on|Any|Any|
|pixel_type|Any|Any|
|strategy_archived|Any|Any|
|strategy_audience_segment_exclude_op|Any|Any|
|strategy_audience_segment_include_op|Any|Any|
|strategy_bid_aggressiveness|Any|Any|
|strategy_bid_price_is_media_only|Any|Any|
|strategy_budget|Any|Any|
|strategy_channel|Any|Any|
|strategy_created_on|Any|Any|
|strategy_description|Any|Any|
|strategy_end_date|Any|Any|
|strategy_exchange_type_for_run_on_all|Any|Any|
|strategy_frequency_amount|Any|Any|
|strategy_frequency_intervalCampaign Frequency Interval|Any|Any|
|strategy_frequency_optimization|Any|Any|
|strategy_frequency_typeCampaign Frequency Type|Any|Any|
|strategy_goal_type|Any|Any|
|strategy_goal_value|Any|Any|
|strategy_groups|Any|Any|
|strategy_id|Any|Any|
|strategy_impression_pacing_amount|Any|Any|
|strategy_impression_pacing_interval|Any|Any|
|strategy_impression_pacing_type|Any|Any|
|strategy_max_bid|Any|Any|
|strategy_max_bid_wm|Any|Any|
|strategy_min_bid|Any|Any|
|strategy_name|Any|Any|
|strategy_pacing_amount|Any|Any|
|strategy_pacing_interval|Any|Any|
|strategy_pacing_optimization_amount|Any|Any|
|strategy_pacing_optimization_type|Any|Any|
|strategy_pacing_type|Any|Any|
|strategy_roi_target|Any|Any|
|strategy_site_restriction_transparent_urls|Any|Any|
|strategy_start_date|Any|Any|
|strategy_statusActive Status|Any|Any|
|strategy_targeting_segment_exclude_op|Any|Any|
|strategy_targeting_segment_include_op|Any|Any|
|strategy_updated_on|Any|Any|
|strategy_use_campaign_end|Any|Any|
|strategy_use_campaign_start|Any|Any|
|strategy_use_mm_freq|Any|Any|
|strategy_use_optimization|Any|Any|
|Metrics|
|average_bid_amount_cpm|Any|Any|
|average_win_amount_cpm|Any|Any|
|bid_rate|Any|Any|
|bids|Any|Any|
|matched_bid_opportunities|Any|Any|
|max_bid_amount_cpm|Any|Any|
|max_win_amount_cpm|Any|Any|
|min_bid_amount_cpm|Any|Any|
|min_win_amount_cpm|Any|Any|
|pacing_matched_bid_opportunities|Any|Any|
|total_bid_amount_cpm|Any|Any|
|total_win_amount_cpm|Any|Any|
|win_rate|Any|Any|
|wins|Any|Any|

### Pageable
Yes

### Time Windows
current_day, last_X_hours, last_X_days, yesterday, month_to_date

### Rollups
all, by_hour, by_day, by_week, by_month


### Data Retention / Lookback Window
1 year

Endpoint: POST /win-loss
Version: 1.0.0
Security: Auth0

## Request fields (application/json):

  - `end_time` (string,null)

  - `fields` (array, required)

  - `filters` (array, required)

  - `filters.field` (string)

  - `filters.filters` (array,null)

  - `filters.filters.field` (string)

  - `filters.filters.filters` (array)
    An array of filters. Required if op is and or or.

  - `filters.filters.op` (string)
    * =: Equals or contains if value is an array
* !=: Not equals
* >: Greater than
* >=: Greater than or equals
* <: Less than
* <=: Less than or equals
* =~: Text contains (case-insensitive)
* and: All filters must match
* or: At least one filter must match
* isNull: Is null
* isNotNull: Is not null

  - `filters.filters.value` (any)

  - `filters.op` (string)
    * =: Equals or contains if value is an array
* !=: Not equals
* >: Greater than
* >=: Greater than or equals
* <: Less than
* <=: Less than or equals
* =~: Text contains (case-insensitive)
* and: All filters must match
* or: At least one filter must match
* isNull: Is null
* isNotNull: Is not null

  - `filters.value` (any)

  - `full_entities` (array,null)

  - `max_results` (integer,null)
    Maximum number of results to return. Only applicable for streaming responses. No limit if absent or null.

  - `order` (array)

  - `order.desc` (boolean)

  - `order.field` (string, required)

  - `order.nulls_last` (boolean)

  - `pagination` (object,null)
    Streaming response if absent or null, Paginated response otherwise

  - `pagination.page_index` (integer)

  - `pagination.page_size` (integer)

  - `rollup` (string, required)

  - `start_time` (string)

  - `time_window` (string)

  - `time_zone` (string)
    Only in supported datasets: campaign, UTC or a time zone name defined in https://www.iana.org/time-zones

## Response 200 fields (application/json):

  - `meta` (object)

  - `meta.items_count` (integer)

  - `meta.page_index` (integer)

  - `meta.status` (string)
    Enum: "OK"

  - `meta.total_items_count` (integer)

  - `meta.total_pages` (integer)

  - `results` (array)

## Response 400 fields (application/json):

  - `error_code` (string)
    Example: "BadRequest"

  - `message` (string)
    Example: "field does not exist in this dataset: campaign_id_test"

  - `request_id` (string)
    Example: "74K33s47Yd1ns97E9RZsfFhn1Gj0ehYs"

## Response 401 fields (application/json):

  - `error_code` (string)
    Example: "BadRequest"

  - `message` (string)
    Example: "field does not exist in this dataset: campaign_id_test"

  - `request_id` (string)
    Example: "74K33s47Yd1ns97E9RZsfFhn1Gj0ehYs"

## Response 5XX fields (application/json):

  - `error_code` (string)
    Example: "BadRequest"

  - `message` (string)
    Example: "field does not exist in this dataset: campaign_id_test"

  - `request_id` (string)
    Example: "74K33s47Yd1ns97E9RZsfFhn1Gj0ehYs"


