# Performance Hourly

Standard Aggregated Performance Report in Campaign Currency

### 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|
|flight_id|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|
|prisma_campaign_id|Any|Any|
|prisma_campaign_name|Any|Any|
|prisma_client_product_estimate|Any|Any|
|prisma_io_number|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|
|clicks|Any|Any|
|ctcCTC|Any|Any|
|ctrCTR|Any|Any|
|general_invalid_clicks|Any|Any|
|impressions|Any|Any|
|in_viewIn View Impressions|Any|Any|
|in_view_100_percent100% In View Impressions|Any|Any|
|in_view_15_seconds|Any|Any|
|in_view_15_seconds_rate|Any|Any|
|in_view_5_seconds|Any|Any|
|in_view_5_seconds_rate|Any|Any|
|measurability_rateMeasurability Rate|Any|Any|
|measurableMeasurable Impressions|Any|Any|
|post_click_aovPost-Click AOV|Any|Any|
|post_click_conversionsPost-Click Conversions|Any|Any|
|post_click_revenuePost-Click Revenue|Any|Any|
|post_click_revenue_usd|Any|Any|
|post_click_total_spend_roiPost-Click Total Spend ROI|Any|Any|
|post_view_aovPost-View AOV|Any|Any|
|post_view_conversionsPost-View Conversions|Any|Any|
|post_view_revenuePost-View Revenue|Any|Any|
|post_view_total_spend_roiPost-View Total Spend ROI|Any|Any|
|rr_per_1k_impsResponse Rate/1K Imps|Any|Any|
|total_aovTotal AOV|Any|Any|
|total_clicks|Any|Any|
|total_conversions|Any|Any|
|total_revenue|Any|Any|
|total_spend|Any|Any|
|total_spend_cpaTotal Spend eCPA|Any|Any|
|total_spend_cpcTotal Spend eCPC|Any|Any|
|total_spend_cpcvTotal Spend eCPCV|Any|Any|
|total_spend_cpmTotal Spend eCPM|Any|Any|
|total_spend_pc_cpaTotal Spend PC CPA|Any|Any|
|total_spend_pv_cpaTotal Spend PV CPA|Any|Any|
|total_spend_roiTotal Spend ROI|Any|Any|
|total_spend_usd|Any|Any|
|total_spend_vcpmTotal Spend vCPM |Any|Any|
|video_closeClose|Any|Any|
|video_collapseCollapse|Any|Any|
|video_companion_clicksCompanion Clicks|Any|Any|
|video_companion_ctrCompanion CTR|Any|Any|
|video_companion_impressionsCompanion Impressions|Any|Any|
|video_complete100% Completed Views|Any|Any|
|video_complete_rate100% Completed Rate|Any|Any|
|video_complete_rate_impression_basedVCR (Impression Based)|Any|Any|
|video_engaged_impressionsEngaged Impressions|Any|Any|
|video_engaged_rateEngaged Rate|Any|Any|
|video_expandExpand|Any|Any|
|video_first_quartile25% Completed Views|Any|Any|
|video_first_quartile_rate25% Completed Rate|Any|Any|
|video_first_quartile_rate_impression_based25% Completed Rate - Impressions Based|Any|Any|
|video_fullscreenFullscreen|Any|Any|
|video_midpoint50% Completed Views|Any|Any|
|video_midpoint_rate50% Completed Rate|Any|Any|
|video_midpoint_rate_impression_based50% Completed Rate - Impressions Based|Any|Any|
|video_mute|Any|Any|
|video_pausePause|Any|Any|
|video_play_ratePlay Rate|Any|Any|
|video_resumeResume|Any|Any|
|video_rewindRewind|Any|Any|
|video_skipSkip|Any|Any|
|video_skippable_impressionsSkippable Impressions|Any|Any|
|video_skipped_impressionsSkipped Impressions|Any|Any|
|video_skipped_rateSkipped Rate|Any|Any|
|video_startStart|Any|Any|
|video_third_quartile75% Completed Views|Any|Any|
|video_third_quartile_rate75% Completed Rate|Any|Any|
|video_third_quartile_rate_impression_based75% Completed Rate - Impressions Based|Any|Any|
|video_unmute|Any|Any|
|viewability_rateViewability Rate|Any|Any|
|viewability_rate_100_percent100% In View Rate|Any|Any|

### Pageable
Yes

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

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


### Data Retention / Lookback Window
90 days
### Time Zones
UTC, campaign

Endpoint: POST /performance-hourly
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"


