---
title: "Create a new display ad"
method: POST
path: "/measurement/campaigns/{campaign_id}/display_ads"
tags: ["Display ads"]
---

# Create a new display ad

`POST /measurement/campaigns/{campaign_id}/display_ads`

Generates a tag to be fired when DAI exposures occur.

## Path parameters

- `campaign_id` string, required

## Request body

- object
  - `measurementDisplayAd` object, required
    - `name` string, required — The name of the ad.
    - `uid` string — The unique identifier for the ad.
    - `defaultAdServer` 'acast' | 'adarcade' | 'adswizz' | 'amperwave' | 'art19' | 'audioboom' | 'audiohook' | 'audiomeans' | 'barstool' | 'basis' | 'beeswax' | 'beeswax_pod' | 'beeswax_stream' | 'dax' | 'dovetail' | 'dv_360' | 'frequency_ads' | 'gam' | 'gt_impression' | 'iheart_pd' | 'iheart_stream' | 'mediamath' | 'megaphone' | 'omny' | 'podbean' | 'redcircle' | 'sas' | 'simplecast' | 'soundcast' | 'soundstack' | 'spgam' | 'spotify' | 'spreaker' | 'tap' | 'transistor' | 'triton' | 'triton_pd' | 'triton_streaming' | 'ttd' | 'xandr' | 'xandr_pod' | 'xandr_stream'
    - `redirectUrl` string, uri, required — Where Magellan AI will redirect people after their response has been recorded.
    - `flightsAttributes` Flight[]
      - `id` integer
      - `startDate` string, date, required
      - `endDate` string, date, required
      - `expectedImpressions` integer
      - `impressionCap` integer
      - `cpm` number
      - `costPerSpot` number
      - `uid` string
  - `echo` string

## Response `200`

OK

- object
  - `measurementDisplayAd` object
    - `id` string
    - `name` string
    - `uid` string
    - `adServer` 'acast' | 'adarcade' | 'adswizz' | 'amperwave' | 'art19' | 'audioboom' | 'audiohook' | 'audiomeans' | 'barstool' | 'basis' | 'beeswax' | 'beeswax_pod' | 'beeswax_stream' | 'dax' | 'dovetail' | 'dv_360' | 'frequency_ads' | 'gam' | 'gt_impression' | 'iheart_pd' | 'iheart_stream' | 'mediamath' | 'megaphone' | 'omny' | 'podbean' | 'redcircle' | 'sas' | 'simplecast' | 'soundcast' | 'soundstack' | 'spgam' | 'spotify' | 'spreaker' | 'tap' | 'transistor' | 'triton' | 'triton_pd' | 'triton_streaming' | 'ttd' | 'xandr' | 'xandr_pod' | 'xandr_stream'
    - `redirectUrl` string, uri — Where Magellan AI will redirect people after their response has been recorded.
    - `campaign` CampaignWithParent
      - `id` string
      - `name` string
      - `startDate` string, date
      - `endDate` string, date
      - `attributionMethodology` 'last_touch' | 'equal_credit'
      - `operativeId` string
      - `salesforceId` string
      - `customEvents` CustomViewEvent[]
        - `id` integer — Magellan AI's ID for the custom view event.
        - `label` string
        - `pattern` string
      - `pixel` Pixel
        - `id` string
        - `name` string
        - `brand` object
          - `crmBrandId` string
          - `name` string
    - `displayUrl` string, uri — The URL to enter into the ad server (GAM) to deliver impressions to Magellan AI whenever this ad is served.
    - `clickUrl` string, uri — The click-through URL to wrap your ad in, which will redirect people to the provided `redirectUrl`.
    - `meta` Metadata
      - `pagination` object
        - `currentPage` integer
        - `totalPages` integer
        - `count` integer
        - `links` object
          - `first` string, uri
          - `prev` string, uri
          - `next` string, uri
          - `last` string, uri
  - `echo` string

## Other responses

- `401` — Unauthorized
- `404` — Not Found
- `422` — Unprocessable Content

---

[API](https://skmtc.net/magellan/apis/magellan-ai-api.md) · [All operations](https://skmtc.net/magellan/apis/magellan-ai-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/magellan/magellan-ai-api/revisions/a5681791212b/schema)
