---
title: "Retrieve a campaign"
method: GET
path: "/ads/{connection_id}/campaign/{id}"
tags: ["ads", "campaign"]
---

# Retrieve a campaign

`GET /ads/{connection_id}/campaign/{id}`

## Request

- Base URL: `http://api.unified.to`
- URL: `http://api.unified.to/ads/{connection_id}/campaign/{id}`
- Auth: API key in header `authorization`

## Path parameters

- `connection_id` string, required
- `id` string, required

## Query parameters

- `fields` string[]
- `raw` string

## Response `200`

Successful

- AdsCampaign
  - `id` string
  - `created_at` string, date-time: (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
  - `updated_at` string, date-time: (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
  - `name` string
  - `organization_id` string
  - `status` 'UNSPECIFIED' | 'ACTIVE' | 'PAUSED' | 'ARCHIVED' | 'DRAFT' | 'SCHEDULED_FOR_DELETION' | 'PROCESSING' | 'PROCESSING_FAILED'
  - `effective_status` 'UNSPECIFIED' | 'SERVING' | 'LIMITED' | 'LEARNING' | 'PAUSED' | 'PENDING' | 'ENDED' | 'MISCONFIGURED' | 'NOT_ELIGIBLE' | 'ARCHIVED' | 'REMOVED': read-only; controlled by the provider (whether/why the campaign can serve), unlike the user-managed status
  - `start_at` string, date-time: (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
  - `end_at` string, date-time: (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
  - `budget_amount` number
  - `budget_period` 'DAILY' | 'MONTHLY' | 'TOTAL' | 'LIFETIME'
  - `budget_unit` 'UNSPECIFIED' | 'CURRENCY' | 'IMPRESSIONS'
  - `total_spend_amount` number
  - `targeting` AdsCampaignTargeting
    - `geographic` AdsCampaignTargetingGeographic
      - `countries` TargetRef[]
        - `id` string
        - `name` string
      - `regions` TargetRef[]
        - `id` string
        - `name` string
      - `cities` CityTarget[]
        - `id` string, required
        - `name` string
        - `radius` number
        - `radius_unit` 'MILES' | 'KILOMETERS'
      - `postal_codes` TargetRef[]
        - `id` string
        - `name` string
      - `us_dmas` TargetRef[]
        - `id` string
        - `name` string
      - `excluded_countries` TargetRef[]
        - `id` string
        - `name` string
      - `excluded_regions` TargetRef[]
        - `id` string
        - `name` string
      - `excluded_cities` CityTarget[]
        - `id` string, required
        - `name` string
        - `radius` number
        - `radius_unit` 'MILES' | 'KILOMETERS'
      - `excluded_postal_codes` TargetRef[]
        - `id` string
        - `name` string
      - `excluded_us_dmas` TargetRef[]
        - `id` string
        - `name` string
      - `location_types` string[]
      - `presence_type` 'PRESENCE' | 'PRESENCE_OR_INTEREST'
    - `demographic` AdsCampaignTargetingDemographic: Demographic targeting (Meta: age_min, age_max, genders)
      - `age_min` number
      - `age_max` number
      - `male` boolean
      - `female` boolean
    - `audience` AdsCampaignTargetingAudience
      - `custom_audiences` TargetRef[]
        - `id` string
        - `name` string
      - `excluded_custom_audiences` TargetRef[]
        - `id` string
        - `name` string
      - `lookalike_audiences` LookalikeAudience[]
        - `id` string, required
        - `name` string
        - `similarity` number
        - `source_audience_id` string
      - `interests` TargetRef[]
        - `id` string
        - `name` string
      - `excluded_interests` TargetRef[]
        - `id` string
        - `name` string
      - `behaviors` TargetRef[]
        - `id` string
        - `name` string
      - `excluded_behaviors` TargetRef[]
        - `id` string
        - `name` string
      - `combination_spec` AudienceCombination[]
        - `interests` TargetRef[]
          - `id` string
          - `name` string
        - `behaviors` TargetRef[]
          - `id` string
          - `name` string
        - `references` TargetRef[]
          - `id` string
          - `name` string
        - `life_events` TargetRef[]
          - `id` string
          - `name` string
    - `placement` AdsCampaignTargetingPlacement
      - `platforms` string[]
      - `facebook_positions` string[]
      - `instagram_positions` string[]
      - `messenger_positions` string[]
      - `audience_network_positions` string[]
    - `device` AdsCampaignTargetingDevice
      - `types` TargetRef[]
        - `id` string
        - `name` string
      - `user_device` TargetRef[]
        - `id` string
        - `name` string
      - `user_os` TargetRef[]
        - `id` string
        - `name` string
      - `carriers` TargetRef[]
        - `id` string
        - `name` string
    - `language` TargetRef[]
      - `id` string
      - `name` string
    - `content` AdsCampaignTargetingContent
      - `keywords` AdsKeyword[]
        - `text` string, required
        - `match_type` 'BROAD' | 'PHRASE' | 'EXACT'
      - `excluded_keywords` AdsKeyword[]
        - `text` string, required
        - `match_type` 'BROAD' | 'PHRASE' | 'EXACT'
      - `topics` TargetRef[]
        - `id` string
        - `name` string
      - `excluded_topics` TargetRef[]
        - `id` string
        - `name` string
      - `urls` string[]
      - `excluded_urls` string[]
      - `video` AdsCampaignTargetingContentVideo
        - `youtube_videos` string[]
        - `excluded_youtube_videos` string[]
        - `youtube_channels` string[]
        - `excluded_youtube_channels` string[]
        - `positions` string[]
        - `player_sizes` string[]
        - `durations` string[]
    - `brand_safety` AdsCampaignTargetingBrandSafety: Brand safety (Meta: excluded_publisher_categories, etc.; Google
      - `excluded_publisher_categories` string[]
      - `excluded_content_labels` string[]: Google Ads ContentLabelType
      - `brand_safety_content_filter_levels` string[]
      - `publisher_visibility_categories` string[]
      - `block_list_ids` string[]
    - `schedule` AdSchedule[]
      - `day_of_week` 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY', required
      - `start_hour` number, required: 0-23
      - `start_minute` number: 0, 15, 30, 45
      - `end_hour` number, required: 0-24 (24 = end of day)
      - `end_minute` number: 0, 15, 30, 45
      - `bid_modifier` number: 0.1-10.0
    - `optimization` AdsCampaignTargetingOptimization: Optimization (Meta: targeting_automation; Google: observation vs targeting mode)
      - `mode` 'TARGETING' | 'OBSERVATION': Google: bid_only falsetrue
      - `advantage_audience` boolean
      - `advantage_placements` boolean
      - `targeting_optimization_expansion_all` boolean
  - `goal` 'UNSPECIFIED' | 'BRAND_AWARENESS' | 'ENGAGEMENT' | 'REACH' | 'WEBSITE_TRAFFIC' | 'LEADS' | 'SALES' | 'APP_PROMOTION'
  - `planned_spend_amount` number
  - `frequency_cap` AdsCampaignFrequencyCap
    - `is_unlimited` boolean
    - `time_unit` 'UNSPECIFIED' | 'LIFETIME' | 'MONTHS' | 'WEEKS' | 'DAYS' | 'HOURS' | 'MINUTES'
    - `time_unit_count` number
    - `max_impressions` number
    - `max_views` number
  - `advertising_channel_type` 'TEXT' | 'IMAGE' | 'VIDEO' | 'RESPONSIVE' | 'SHOPPING' | 'APP' | 'CALL' | 'CAROUSEL' | 'SOCIAL' | 'DISPLAY' | 'SEARCH' | 'AUDIO' | 'YOUTUBE' | 'NATIVE' | 'CTV' | 'DOOH' | 'PERFORMANCE_MAX'
  - `campaign_budget_identifier` string: Resource name for existing/shared budget (Google)
  - `currency` string
  - `category` string: Housing, employment, credit, NONE (Meta)
  - `has_eu_political_ads` boolean
  - `labels` string[]
  - `kpi` AdsCampaignKpi
    - `type` 'UNSPECIFIED' | 'CPM' | 'CPC' | 'CPA' | 'CTR' | 'VIEWABILITY' | 'CPIAVC' | 'CPE' | 'CPV' | 'CLICK_CVR' | 'IMPRESSION_CVR' | 'VCPM' | 'VTR' | 'AUDIO_COMPLETION_RATE' | 'VIDEO_COMPLETION_RATE' | 'CPCL' | 'CPCV' | 'TOS10' | 'MAXIMIZE_PACING' | 'CUSTOM_IMPRESSION_VALUE_OVER_COST' | 'OTHER'
    - `amount` number
    - `percentage` number
    - `string_value` string
    - `algorithm_id` string
  - `metadata` AdsMetadata[]
    - `id` string
    - `slug` string
    - `value` unknown
    - `namespace` string
    - `format` 'TEXT' | 'NUMBER' | 'DATE' | 'BOOLEAN' | 'FILE' | 'TEXTAREA' | 'SINGLE_SELECT' | 'MULTIPLE_SELECT' | 'MEASUREMENT' | 'PRICE' | 'YES_NO' | 'CURRENCY' | 'URL'
    - `extra_data` unknown
  - `raw` unknown

---

[API](https://skmtc.dev/unified/apis/unified-to-api-2.md) · [All operations](https://skmtc.dev/unified/apis/unified-to-api-2/llms.txt) · [OpenAPI document](https://skmtc.dev/unified/apis/unified-to-api-2/revisions/7a38bdd7f089?raw)
