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: ‘impression’ (CPM) for an impressions campaign, ‘click’ (CPC) for both clicks and conversions campaigns. For a conversions (oCPC) campaign, use ‘click’ — the bid amount is then treated as the target CPA. |
strategy | string or SelectableOption | No | - | Bidding strategy: ‘fixed_bid’ (the default if omitted) bids the bid_amount; ‘maximize_clicks’ / ‘maximize_conversions’ bid automatically, making bid_amount optional. |
bid_amount | number | No | - | Maximum bid in account currency (e.g. US dollars), i.e. 1.50 for 1.50.ThisvalueisconvertedtomicrosautomaticallybeforesendingtotheAPI.Requiredunlessstrategyis′maximizeclicks′or′maximizeconversions′.Foraconversions(oCPC)campaignthisisthetargetCPAperconversion,e.g.100fora100 CPA, even though billing stays per click. |
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 or on the campaign’s product_feed_id field. For ad groups under a product-feed campaign: omit it to inherit the campaign’s feed, or set it (must match the campaign’s feed) when using product_filters. |
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. |
query_string_template | string | No | - | Optional landing-page query string template appended to destination URLs for tracking, e.g. ‘utm_source=chatgpt&utm_campaign={campaign_id}’. |
description | string | No | - | Optional ad group description. |