account | DynamicAccount | Yes | - | Select the Reddit Ads account that owns the campaign. |
campaign_id | string or SelectItem | Yes | - | ID of the Reddit Ads campaign to create the ad group in. |
ad_group_name | string | Yes | - | Name of the ad group. |
status | string or SelectableOption | No | PAUSED | Initial ad group status. Options: ‘ACTIVE’, ‘PAUSED’. Default: ‘PAUSED’. |
conversion_pixel_id | string | Yes | - | Reddit Pixel ID used for measurement, for example ‘t2_123456’. Reddit requires this for all ad groups. |
goal_type | string or SelectableOption | No | - | Budget goal type. Options: ‘DAILY_SPEND’, ‘LIFETIME_SPEND’. Leave unset for campaigns with campaign budget optimization (CBO) to inherit the campaign’s setting. |
goal_value | number | No | - | Ad group budget in the account currency (converted to microcurrency automatically), daily or lifetime per goal_type. Leave unset for CBO campaigns; the campaign manages the budget. |
bid_strategy | string or SelectableOption | No | - | Bid strategy. Options: ‘BIDLESS’, ‘MANUAL_BIDDING’, ‘MAXIMIZE_VOLUME’, ‘TARGET_CPX’. In the Reddit Ads UI, ‘BIDLESS’ is called Lowest Cost and ‘MAXIMIZE_VOLUME’ is called Cost Cap. For CBO campaigns leave unset to inherit the campaign’s strategy. |
bid_type | string or SelectableOption | No | - | Bid type, which must fit the optimization goal and campaign objective. Options: ‘CPC’, ‘CPM’, ‘CPV’, ‘CPV6’. For CBO campaigns leave unset to inherit the campaign’s bid type. |
bid_value | number | No | - | Amount to pay per bidding event in the account currency (converted to microcurrency automatically). Reddit requires between 3.50 and 100 USD when bid_type is CPM. |
optimization_goal | string or SelectableOption | No | - | The event to optimize for; cannot be changed later. Must match the campaign’s optimization goal for CBO campaigns, and can be left unset for conversions or app installs objectives to default from the campaign. Common values: ‘PURCHASE’, ‘SIGN_UP’, ‘LEAD’, ‘PAGE_VISIT’, ‘VIDEO_VIEW_6S’. |
start_time | string | No | - | When the ad group starts delivering, as ISO 8601 (for example 2026-08-01T00:00:00Z) or YYYY-MM-DD. When unset, delivery starts immediately (defaults to the current time). For ad groups in a campaign with a future start time, it must match or be later than the campaign start time. |
end_time | string | No | - | When the ad group stops delivering (ISO 8601 or YYYY-MM-DD). When unset, the ad group runs continuously. For CBO campaigns it must match or be earlier than the campaign’s end time. |
targeting | object or string | No | - | Official Reddit Ads v3 ad group targeting object as JSON, sent as-is. Supported keys: geolocations / excluded_geolocations (geolocation IDs), communities / excluded_communities (subreddit names), interests / excluded_interests, keywords / excluded_keywords, custom_audience_ids / excluded_custom_audience_ids, devices (objects with type DESKTOP or MOBILE, os ANDROID or IOS, min_version, max_version), platforms (ALL, DESKTOP, MOBILE_NATIVE, MOBILE_WEB), locations (FEED, COMMENTS_PAGE), carriers, languages (ISO 639-1 codes), gender (FEMALE or MALE), view_modes, and expand_targeting (boolean). Example: {“geolocations”: [“US”, “CA”], “communities”: [“technology”, “programming”], “platforms”: [“MOBILE_NATIVE”], “expand_targeting”: true}. For APP_INSTALLS campaigns exactly one device must be targeted and at least one mobile platform included. |
schedule | array of object or string | No | - | Optional recurring weekly delivery windows as a JSON list, sent as-is. Each window has start_day, start_hour, end_day, end_hour with days 0 (Sunday) to 6 (Saturday) and hours 0-23 in the ad group timezone. Example: [{“start_day”: 1, “start_hour”: 9, “end_day”: 1, “end_hour”: 17}] |
shopping_type | string or SelectableOption | No | - | For shopping ads: the type of ads the ad group contains. Options: ‘DYNAMIC’, ‘STATIC’. |
shopping_targeting | object or string | No | - | Official Reddit Ads v3 shopping targeting object as JSON for dynamic product ads, sent as-is. Keys: targeting_type (PROSPECTING or RETARGETING), conversion_event_types / excluded_conversion_event_types (ADD_TO_CART, ADD_TO_WISHLIST, PURCHASE, SEARCH, VIEW_CONTENT), lookback_window_days. Example: {“targeting_type”: “RETARGETING”, “conversion_event_types”: [“ADD_TO_CART”], “lookback_window_days”: 30} |
product_set_id | string | No | - | Product set ID; required for CATALOG_SALES ads to select products for dynamic ads or link a catalog for static ads. |
saved_audience_id | string | No | - | Optional saved audience ID to apply to the ad group. |
app_id | string | No | - | Apple App Store or Google Play app ID for APP_INSTALLS campaigns. |
optimization_strategy_type | string or SelectableOption | No | - | Optional optimization strategy type. Options: ‘DOWNSTREAM_CONVERSIONS’, ‘APP_INSTALLS’. |
view_through_conversion_type | string or SelectableOption | No | - | Conversion attribution window. Options: ‘SEVEN_DAY_CLICKS’, ‘SEVEN_DAY_CLICKS_ONE_DAY_VIEW’. Must be SEVEN_DAY_CLICKS_ONE_DAY_VIEW for CATALOG_SALES campaigns with the PURCHASE optimization goal; for CBO campaigns it must match the campaign’s setting. |