Ad data model

View field support, webhooks, and list parameters for each integration on the Supported Integrations page.

FieldTypeRequiredDescription
idstringNo
created_atstring (date-time)No(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
updated_atstring (date-time)No(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
namestringNo
campaign_idstringNo
group_idstringNo(reference to AdsGroup)
organization_idstringNo
statusenumNoValues: UNSPECIFIED, ACTIVE, PAUSED, ARCHIVED, DRAFT, SCHEDULED_FOR_DELETION, PROCESSING, PROCESSING_FAILED
ad_typeenumNoValues: TEXT, IMAGE, VIDEO, RESPONSIVE, SHOPPING, APP, CALL, CAROUSEL, SOCIAL, DISPLAY, SEARCH, AUDIO, YOUTUBE, NATIVE, CTV, DOOH, PERFORMANCE_MAX
advertiser_namestringNo
creative_idsstring[]No
creative_asset_urlstringNo
ad_copystringNo
headlinestringNo
descriptionstringNo
ctastringNo
final_urlstringNo
display_urlstringNo
path1stringNo
path2stringNo
promotedAdsPromoted[]No
promoted[].idstringYes
promoted[].namestringNo
promoted[].typeenumYesPromoted entity types for ads_promoted list endpoint Values: PAGE_ID, APP_ID, STORE_URL, PIXEL_ID, CUSTOM_CONVERSION_ID, CATALOG_ID, PRODUCT_SET_ID, PRIORITIZED_SET_ID, EVENT_ID, OFFER_ID, LEAD_FORM_ID, MESSAGING_CHANNEL_ID, PRODUCT_ID, TWEET_ID, AD_GROUP_TYPE
logo_creative_idstringNo

TypeScript

TypeScript
export type AdsAd = {
	id?: string;
	created_at?: string-time; // (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	updated_at?: string-time; // (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	name?: string;
	campaign_id?: string;
	group_id?: string; // (reference to AdsGroup)
	organization_id?: string;
	status?: 'UNSPECIFIED' | 'ACTIVE' | 'PAUSED' | 'ARCHIVED' | 'DRAFT' | 'SCHEDULED_FOR_DELETION' | 'PROCESSING' | 'PROCESSING_FAILED';
	ad_type?: 'TEXT' | 'IMAGE' | 'VIDEO' | 'RESPONSIVE' | 'SHOPPING' | 'APP' | 'CALL' | 'CAROUSEL' | 'SOCIAL' | 'DISPLAY' | 'SEARCH' | 'AUDIO' | 'YOUTUBE' | 'NATIVE' | 'CTV' | 'DOOH' | 'PERFORMANCE_MAX';
	advertiser_name?: string;
	creative_ids?: string[];
	creative_asset_url?: string;
	ad_copy?: string;
	headline?: string;
	description?: string;
	cta?: string;
	final_url?: string;
	display_url?: string;
	path1?: string;
	path2?: string;
	promoted?: [];
	logo_creative_id?: string;
	raw?: any;
} 

Zod

Zod
import { z } from 'zod';

export const ZodAdsAd = z.object({
	id: z.string().optional(),
	created_at: z.string-time().optional().describe("(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	updated_at: z.string-time().optional().describe("(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	name: z.string().optional(),
	campaign_id: z.string().optional(),
	group_id: z.string().optional().describe("(reference to AdsGroup)"),
	organization_id: z.string().optional(),
	status: z.enum("UNSPECIFIED", "ACTIVE", "PAUSED", "ARCHIVED", "DRAFT", "SCHEDULED_FOR_DELETION", "PROCESSING", "PROCESSING_FAILED").optional(),
	ad_type: z.enum("TEXT", "IMAGE", "VIDEO", "RESPONSIVE", "SHOPPING", "APP", "CALL", "CAROUSEL", "SOCIAL", "DISPLAY", "SEARCH", "AUDIO", "YOUTUBE", "NATIVE", "CTV", "DOOH", "PERFORMANCE_MAX").optional(),
	advertiser_name: z.string().optional(),
	creative_ids: z.array().optional(),
	creative_asset_url: z.string().optional(),
	ad_copy: z.string().optional(),
	headline: z.string().optional(),
	description: z.string().optional(),
	cta: z.string().optional(),
	final_url: z.string().optional(),
	display_url: z.string().optional(),
	path1: z.string().optional(),
	path2: z.string().optional(),
	promoted: z.array().optional(),
	logo_creative_id: z.string().optional(),

});

Python

Python
import dataclasses

@dataclasses.dataclass
class AdsAdStatus(str, Enum):
	UNSPECIFIED = 'UNSPECIFIED'
	ACTIVE = 'ACTIVE'
	PAUSED = 'PAUSED'
	ARCHIVED = 'ARCHIVED'
	DRAFT = 'DRAFT'
	SCHEDULED_FOR_DELETION = 'SCHEDULED_FOR_DELETION'
	PROCESSING = 'PROCESSING'
	PROCESSING_FAILED = 'PROCESSING_FAILED'

@dataclasses.dataclass
class AdsAdAd_type(str, Enum):
	TEXT = 'TEXT'
	IMAGE = 'IMAGE'
	VIDEO = 'VIDEO'
	RESPONSIVE = 'RESPONSIVE'
	SHOPPING = 'SHOPPING'
	APP = 'APP'
	CALL = 'CALL'
	CAROUSEL = 'CAROUSEL'
	SOCIAL = 'SOCIAL'
	DISPLAY = 'DISPLAY'
	SEARCH = 'SEARCH'
	AUDIO = 'AUDIO'
	YOUTUBE = 'YOUTUBE'
	NATIVE = 'NATIVE'
	CTV = 'CTV'
	DOOH = 'DOOH'
	PERFORMANCE_MAX = 'PERFORMANCE_MAX'

@dataclasses.dataclass
class AdsAd:
	id: Optional[str]
	"""(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	created_at: Optional[str]
	"""(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	updated_at: Optional[str]
	name: Optional[str]
	campaign_id: Optional[str]
	"""(reference to AdsGroup)"""
	group_id: Optional[str]
	organization_id: Optional[str]
	status: Optional[AdsAdStatus]
	ad_type: Optional[AdsAdAd_type]
	advertiser_name: Optional[str]
	creative_ids: Optional[List[List[str]]]
	creative_asset_url: Optional[str]
	ad_copy: Optional[str]
	headline: Optional[str]
	description: Optional[str]
	cta: Optional[str]
	final_url: Optional[str]
	display_url: Optional[str]
	path1: Optional[str]
	path2: Optional[str]
	promoted: Optional[PropertyAdsAdPromoted]
	logo_creative_id: Optional[str]
Are we missing anything? Let us know
Was this page helpful?