Creative Fields

The creative object is returned by every Creative Library endpoint, and is the request body of Create a creative and Update a creative.

Which fields are required, optional or not allowed depends on creative_type. See Creating a creative.

{
  "id": 4321000001,
  "name": "Summer sale hero",
  "account_id": "demo-advertiser",
  "status": "ACTIVE",
  "creative_type": "STATIC_IMAGE",
  "url": "https://www.demo-advertiser.com/summer-sale",
  "thumbnail_url": "https://cdn.demo-advertiser.com/thumbnails/summer-sale.jpg",
  "title": "Summer sale: up to 50% off",
  "description": "Limited-time offer on the full summer collection",
  "display_data": null,
  "creative_crop": null,
  "performance_video_data": null,
  "cta": {
    "cta_type": "SHOP_NOW"
  },
  "rating": null,
  "create_time_in_utc": "2026-09-01 10:15:30",
  "disclaimer": null,
  "orientation": "HORIZONTAL",
  "logo": null,
  "ads": {
    "ads": [
      {
        "id": 8765000101,
        "campaign_id": 33,
        "campaign_name": "Summer sale - US",
        "creative_id": 4321000001
      }
    ]
  },
  "app_install": null,
  "ai_disclosure": null,
  "custom_id": "SS-2026-HERO"
}

Fields

FieldModifierTypeDescription
idRead-onlyNumberThe creative ID. Use it as creative_id when assigning the creative to a campaign.
nameOptional. Required for DISPLAYStringA name for the creative, shown in the library. Maximum 300 characters.
account_idRead-onlyStringThe account the creative belongs to. Required in the request body of the cross-account bulk upsert and bulk delete endpoints only.
statusRead-onlyString (enum)The creative status: ACTIVE, CRAWLING, NEED_TO_EDIT or TERMINATED.
creative_typeRequired on create. Cannot be changedString (enum)STATIC_IMAGE, PERFORMANCE_VIDEO or DISPLAY.
urlRequiredStringThe landing page URL. Copied to each ad on assignment; each ad's URL can then be changed independently. See Assigning creatives to campaigns.
thumbnail_urlRequired for STATIC_IMAGE. Not allowed for PERFORMANCE_VIDEO and DISPLAYStringThe image URL. Maximum 1000 characters. See Managing images.
titleRequired for STATIC_IMAGE and PERFORMANCE_VIDEO. Not allowed for DISPLAYStringThe ad title.
descriptionOptional. Not allowed for DISPLAYStringThe ad description. Maximum 250 characters.
display_dataRequired for DISPLAY. Not allowed otherwiseObjectThe display asset or tag and its dimensions. See Display data.
creative_cropOptional, STATIC_IMAGE onlyObjectPer-aspect-ratio images or crop areas. Same structure as the campaign item creative_crop field.
performance_video_dataRequired for PERFORMANCE_VIDEO. Not allowed otherwiseObjectThe video and fallback image. See Performance video data.
ctaOptional. Not allowed for DISPLAYObject{ "cta_type": "..." }. Same values as the campaign item CTA.
ratingOptional. Not allowed for DISPLAY. Read-only when app_install is setObject{ "rating": 4.5 }. A number between 0.0 and 5.0.
create_time_in_utcRead-onlyStringCreation time, yyyy-MM-dd HH:mm:ss in UTC.
disclaimerOptional. Not allowed for DISPLAYObject{ "disclaimer_url": "..." }. Requires the disclaimer permission on the account.
orientationRead-onlyString (enum)HORIZONTAL or VERTICAL. Derived from the media.
logoOptional. Not allowed for DISPLAY. Read-only when app_install is setObject{ "logo": "<logo image URL>", "position": "..." }. Maximum 300 characters. Requires the logo feature on the account.
adsRead-onlyObjectThe ads created from this creative. null when the creative is not assigned to any campaign. See Ads.
app_installOptional on create only. Not allowed for DISPLAYObjectApp install details. See App install.
ai_disclosureOptionalObject{ "status": "AI_GENERATED" } or { "status": "NOT_AI_GENERATED" }. Owned by the creative and applied to every ad created from it. See AI Disclosure Object.
custom_idOptionalStringA free-text external identifier for your own reference.
verification_pixelOptionalObjectThird-party verification pixels. Same structure and rules as the campaign item verification_pixel field. See Tracking and scheduling.
viewability_tagOptionalObjectThird-party viewability tags. Same structure and rules as the campaign item viewability_tag field. See Tracking and scheduling.
start_dateOptionalStringWhen ads created from this creative start serving, yyyy-MM-dd HH:mm:ss. Same rules as the campaign item start_date field. See Tracking and scheduling.
end_dateOptionalStringWhen ads created from this creative stop serving, yyyy-MM-dd HH:mm:ss. Same rules as the campaign item end_date field. See Tracking and scheduling.
activity_scheduleOptionalObjectThe time zone for start_date and end_date. Same structure as the campaign item activity_schedule field. See Tracking and scheduling.
creative_consolidationRead-onlyObjectReturned only when a create or update was merged into an existing identical creative. See Creative consolidation.
🚧

Unknown fields are rejected

A request that contains a field the creative object does not support returns 400 with the message Unknown field name '<field>'. Passing a read-only field returns 400 with Trying to modify a read-only field.

Display data

Used by DISPLAY creatives only.

FieldModifierTypeDescription
display_ad_typeRead-onlyString (enum)HOSTED_IMAGE, HOSTED_HTML, HOSTED_VIDEO, HOSTED_SOCIAL, THIRD_PARTY_TAG or VAST_VIDEO. Derived from the asset or tag.
hosted_display_dataOne of hosted_display_data or ad_tag is requiredObjectA hosted asset. On create, pass either { "id": <asset id> } for an asset already uploaded, or { "asset_url": "https://..." } to upload a new asset from its URL. See Upload display ads by URL. On read, also includes asset_url, mime_type and duration_in_seconds.
ad_tagOne of hosted_display_data or ad_tag is requiredStringA third-party ad tag.
dimensionsRequiredArray of objectsOne { "width": 300, "height": 250 } object.
responsive_modeOptionalString (enum)RESPONSIVE or FIXED.

Performance video data

Used by PERFORMANCE_VIDEO creatives only.

FieldModifierTypeDescription
video_urlRequiredStringURL of the video file (MP4). Maximum 2500 characters.
fallback_urlRequiredStringURL of the fallback image (JPG or PNG). Maximum 1000 characters.
gif_urlRead-onlyStringA GIF preview generated from the video.

App install

FieldModifierTypeDescription
app_urlRequired when app_install is presentStringThe app store URL. Must be an iOS App Store or Google Play URL. Maximum 300 characters.
app_nameOptionalStringThe app name.
downloadsOptionalStringThe number of downloads to display.
ui_versionOptionalStringThe app install layout version.

Ads

The ads object is read-only. It lists the ads created from the creative.

FieldTypeDescription
adsArray of objectsOne entry per ad.
ads[].idNumberThe ad's ID. This is the item_id of the campaign item.
ads[].campaign_idNumberThe campaign the ad belongs to.
ads[].campaign_nameStringThe campaign name.
ads[].creative_idNumberThe creative the ad was created from (this creative).

Tracking and scheduling

verification_pixel, viewability_tag, start_date, end_date and activity_schedule are available for every creative type. They are defaults for new ads, not shared content:

  • When the creative is assigned to a campaign, the new ad gets its own copy of these values.
  • Changing them on the creative later applies to ads created after the change. Existing ads keep their values.
  • Each ad's values can be changed through Update a campaign item. The ad stays linked to the creative.
  • They are not part of the creative's identity, so they do not affect creative consolidation.

For scheduling, provide start_date, end_date and activity_schedule together, with the same date rules as for campaign items. See Item scheduling. A creative whose schedule falls outside a campaign's dates cannot be assigned to that campaign (400).

Creative consolidation

Returned only when a create or update request matched an existing, identical creative in the library. See Updating a creative.

FieldTypeDescription
source_creative_idNumberThe creative that was created or updated by the request, and then merged. null on create.
matched_creative_idNumberThe existing creative the request was merged into. This is the creative returned in the response.
reassigned_ad_idsArray of numbersThe ads that were moved from the source creative to the matched creative. Empty on create.
📘

See also


Did this page help you?