campaign_id | string or SelectableOption | Yes | - | Parent campaign ID to create the ad group under (from openai_ads_list_campaigns). |
name | string | Yes | - | Ad group name (3-1000 characters). |
status | string or SelectableOption | Yes | - | Ad group status: ‘active’ or ‘paused’. |
billing_event_type | string or SelectableOption | Yes | - | Bid / billing event type. Must match the parent campaign’s objective: ‘click’ (CPC) for a clicks campaign, ‘impression’ (CPM) for an impressions campaign, ‘conversion’ for a conversions campaign. |
bid_amount | number | Yes | - | Maximum bid in account currency (e.g. US dollars), i.e. 1.50 for $1.50. This value is converted to micros automatically before sending to the API. |
context_hints | string or array of string | No | - | Optional context hints — conversations, topics, or keywords where your products or services may be relevant. These guide matching but aren’t exact-match targeting. Provide one hint per line, or as a list. |
product_feed_id | string | No | - | Product feed ID, shown in the Feeds area of OpenAI Ads Manager (there is no API to list feeds). Required when the parent campaign’s mode is ‘product_feed’; the ad group then advertises items from this feed. |
product_filters | string or array of OpenAIAdsProductFilterItem | No | - | Optional filters narrowing which feed items this ad group advertises (e.g. only a brand, or price above a threshold). A JSON list of {“field”, “operator”, “values”} objects, e.g. [{“field”: “brand”, “operator”: “in”, “values”: [“Acme”]}, {“field”: “price”, “operator”: “gt”, “values”: [“25.00”]}]. Only valid together with product_feed_id; filters are ANDed. |
description | string | No | - | Optional ad group description. |