---
title: "Get targeting analytics for ad groups"
method: GET
path: "/ad_accounts/{ad_account_id}/ad_groups/targeting_analytics"
tags: ["ad_groups"]
---

# Get targeting analytics for ad groups

`GET /ad_accounts/{ad_account_id}/ad_groups/targeting_analytics`

## Request

- Base URL: `https://api.pinterest.com/v5`
- URL: `https://api.pinterest.com/v5/ad_accounts/{ad_account_id}/ad_groups/targeting_analytics`
- Auth: one of:
  - OAuth 2
    - Authorization code: `https://www.pinterest.com/oauth/`
    - Token URL: `https://api.pinterest.com/v5/oauth/token` scopes: `ads:read`
  - OAuth 2
    - Client credentials
    - Token URL: `https://api.pinterest.com/v3/oauth/access_token/` scopes: `ads:read`
- TypeScript: <https://skmtc.dev/pinterest/apis/pinterest-rest-api/docs/ad_accounts/:ad_account_id/ad_groups/targeting_analytics/get.ts> (a function with typed inputs; its response is checked against the schema)

Get targeting analytics for one or more ad groups. For the requested ad group(s) and metrics, the response will include the requested metric information (e.g. SPEND_IN_DOLLAR) for the requested target type (e.g. "age_bucket") for applicable values (e.g. "45-49").

- The token's user_account must either be the Owner of the specified ad account, or have one of the necessary roles granted to them via [Business Access](https://help.pinterest.com/en/business/article/share-and-manage-access-to-your-ad-accounts): Admin, Analyst, Campaign Manager.
- If granularity is not HOUR, you can pull data from up to 90 days before the current date in UTC time, with a maximum time range of 90 days.
- If granularity is HOUR, you can pull data from up to 8 days before the current date in UTC time, with a maximum time range of 3 days.

## Path parameters

- `ad_account_id` string, required

## Query parameters

- `ad_group_ids` AdGroupIdType[], required
- `start_date` string, date, required
- `end_date` string, date, required
- `targeting_types` AdsAnalyticsAdGroupTargetingType[], required
- `columns` ReportingColumnSync[], required
- `granularity` 'TOTAL' | 'DAY' | 'HOUR' | 'WEEK' | 'MONTH', required: Specifies the time interval at which analytics data is broken down. Determines how metrics are grouped within the requested date range. **Note:** The `HOUR` enum no longer provides data for conversion metrics, but it still returns data for non-conversion metrics. All other enums are unchanged.
- `click_window_days` 0 | 1 | 7 | 14 | 30 | 60
- `engagement_window_days` 0 | 1 | 7 | 14 | 30 | 60
- `view_window_days` 0 | 1 | 7 | 14 | 30 | 60
- `conversion_report_time` 'TIME_OF_AD_ACTION' | 'TIME_OF_CONVERSION'
- `attribution_types` ConversionReportAttributionType[]
- `reporting_timezone` 'PINTEREST_TIME_ZONE' | 'AD_ACCOUNT_TIME_ZONE': Specify the timezone to be applied for the reporting.
- `sort_columns` string[]
- `sort_ascending` boolean

## Response `200`

The request has succeeded.

- MetricsResponse
  - `data` MetricsResponseDataItems[]
    - `metrics` object, required: Metrics object containing the requested metric columns and their values. The keys are metric names (e.g., AD_GROUP_ID, DATE, SPEND_IN_DOLLAR) and values are the metric values (strings or numbers).
    - `targeting_type` string, required: The targeting type for this data item (e.g., KEYWORD, APPTYPE, GENDER)
    - `targeting_value` string, required: The targeting value for this data item (e.g., 'christmas decor ideas', 'iphone', 'female')

## Other responses

- `400`: The request could not be understood by the server due to unexpected data.
- `401`: Authentication is required and has either failed or not been provided.
- `403`: The request was valid, but the server is refusing action. The user might not have the necessary permissions for a resource.
- `404`: The requested resource could not be found on this server.
- `429`: The user has sent too many requests in a given amount of time and is being rate limited.
- `default`: An unexpected error response.

## Changes

- **2026-06-04** (v5) `b698c180678a`: 23 info
  - added the new optional `query` request parameter `sort_ascending`
  - added the new optional `query` request parameter `sort_columns`
  - added the enum value `COLLECTION_PIN_ITEM_CLICKTHROUGH_1` to the property `items/` of the `query` request parameter `columns`
  - added the enum value `COLLECTION_PIN_ITEM_CLICKTHROUGH_2` to the property `items/` of the `query` request parameter `columns`
  - …19 more
- **2025-12-11** (v5) `79f62f71f05b`: 2 info
  - added the enum value `TOTAL_APP_INSTALL_CONVERSION_RATE` to the property `items/` of the `query` request parameter `columns`
  - added the enum value `TOTAL_INAPP_APP_INSTALL_CONVERSION_RATE` to the property `items/` of the `query` request parameter `columns`
- **2025-10-16** (v5) `14c297539b64`: 3 breaking, 7 info
  - removed the enum value `HOUSEHOLD` from the `query` request parameter `attribution_types`
  - removed the enum value `INDIVIDUAL` from the `query` request parameter `attribution_types`
  - for the `query` request parameter `attribution_types`, the type changed from `string` to `array`
  - for the `query` request parameter `ad_group_ids`, the maxItems was increased from `100` to `250`
  - …6 more
- …earlier changes not shown

[Operation history](https://skmtc.dev/pinterest/apis/pinterest-rest-api/changes/ad_accounts/:ad_account_id/ad_groups/targeting_analytics/get.md)

---

[API](https://skmtc.dev/pinterest/apis/pinterest-rest-api.md) - [All operations](https://skmtc.dev/pinterest/apis/pinterest-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/pinterest/apis/pinterest-rest-api/revisions/b698c180678a?raw)
