Skip to main content
Ad creatives in Adjar are defined inside [[campaigns.ad_groups.ads]] entries, nested within the ad group they belong to. An OpenAI Ads creative is a chat card — a single card shown inside ChatGPT with a title, a body line, an optional price, an image, and a destination URL. Keeping your creative config clean and well-named makes it easy for both humans and AI agents to identify, edit, and test ads without touching the wrong one.

Full Example


[[campaigns.ad_groups.ads]]

Each entry in the ads array represents a single ad within the parent ad group.
string
required
A descriptive internal name for this ad. 3–1000 characters. The name is not shown to users — it exists so that you and your AI agent can reference this specific ad unambiguously in instructions and diffs. Prefer names that reflect the creative angle ("Approvals Angle") over generic labels ("Ad 1").
string
required
Whether the ad is eligible to serve.
A newly created ad also carries a review status on the platform side (in_review, approved, or rejected); an ad serves only once its campaign, ad group, and the ad itself are active and review has approved it. Review status is reported by the platform, not something you set in config.

[campaigns.ad_groups.ads.creative]

The creative is a nested table on the ad. Today Adjar supports the chat_card type.
string
required
The creative format. Currently supported value:
string
required
The card’s headline. 3–50 characters.
string
required
The card’s body line. Maximum 100 characters.
string
Optional price text shown on the card (a display string, e.g. "$19/mo"). Omit if not applicable.
string
required
The destination URL the card links to.
string
required
The ID of the uploaded image used on the card, e.g. file_00000000847481f79653838c61680cea. Upload the image to OpenAI Ads first (via the platform’s file upload) to obtain the ID, then reference it here.

  • Campaigns — campaign budgets, bidding, targeting, and the ad groups these ads live in
  • Account Root — how campaign files (and the ads inside them) are imported