Draft a Reddit ad group
draft_reddit_ad_groupDraft a new Reddit ad group (created PAUSED) — returns a PREVIEW.
Required: campaign_id, ad_group_name, conversion_pixel_id and at least one targeting list (geolocations, communities, interests or keywords — ids/names from search_reddit_targeting). For non-CBO campaigns also daily_budget (or lifetime_budget + end_time), bid_strategy and bid_type. Budgets are checked against max_daily_budget; keywords and geolocations are pre-validated with Reddit. Returns a preview with a plan_id, the payload and warnings; nothing changes until confirm_and_apply applies it.
Reddit Ads API: https://ads-api.reddit.com/docs/v3/
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| gender | No | FEMALE or MALE; empty means all genders. | |
| devices | No | Device targets, objects like {"type": "MOBILE", "os": "IOS", "min_version": "16"} (type DESKTOP or MOBILE; optional os ANDROID or IOS, major OS versions with iOS at least 14, and label_map {make: [models]} with makes/models from search_reddit_targeting kind "devices"). Omitted means every device; APP_INSTALLS campaigns take exactly one. | |
| bid_type | No | CPC, CPM, CPV, CPV6 or CPV15. Required for non-CBO campaigns. | |
| carriers | No | Mobile carrier ids (from search_reddit_targeting kind "carriers", e.g. "O2_DEUTSCHLAND"), checked against Reddit's carrier list. Omitted means every carrier. | |
| end_time | No | End, same formats as start_time. | |
| keywords | No | Keywords to target; Reddit refuses keywords that are not brand-safe. | |
| schedule | No | Weekly delivery windows ("time of day" in Ads Manager), a list of blocks like {"days": "MON-FRI", "start_hour": 13, "end_hour": 23} (day names, hours 0-23, end_hour inclusive) or the native {"start_day": "FRI", "start_hour": 22, "end_day": "SAT", "end_hour": 3}. Omitted means delivery at any time. Hours apply in each viewer's local time, not the account time zone. Not allowed in CBO campaigns, whose schedule overrides every ad group. | |
| bid_value | No | Bid in account currency; MANUAL_BIDDING and TARGET_CPX (target cost per result) need it. | |
| interests | No | Interest ids to target. | |
| languages | No | Language codes (ISO 639-1, upper-cased automatically, e.g. "DE"). Empty means every language. | |
| locations | No | Placements, FEED and/or COMMENTS_PAGE (conversation pages); cannot be an empty list. | |
| platforms | No | ALL, DESKTOP, DESKTOP_LEGACY, MOBILE_NATIVE, MOBILE_WEB, MOBILE_WEB_3X or SHREDTOP. | |
| start_time | No | Start, ISO 8601 (e.g. 2026-10-01T00:00:00Z); a bare YYYY-MM-DD means 00:00 UTC that day. Empty means now. | |
| view_modes | No | Feed layouts: ALL, CARD, CLASSIC, COMPACT or IMMERSIVE. Omitted uses Reddit's default. | |
| campaign_id | Yes | Reddit campaign id (from get_reddit_campaigns). | |
| communities | No | Community (subreddit) names to target. | |
| bid_strategy | No | BIDLESS, MANUAL_BIDDING, MAXIMIZE_VOLUME or TARGET_CPX. Required for non-CBO campaigns; in CBO campaigns it must match the campaign's. | |
| daily_budget | No | Daily budget in account currency (positive). Required for non-CBO campaigns unless lifetime_budget is given; not allowed in CBO campaigns. Mutually exclusive with lifetime_budget. | |
| geolocations | No | Geolocation ids to target (e.g. "DE" or "DE:2874225"). | |
| ad_account_id | No | Reddit ad account id (from list_reddit_accounts). Empty uses reddit.ad_account_id from the config. | |
| ad_group_name | Yes | Name of the new ad group. | |
| lifetime_budget | No | Lifetime budget in account currency (positive); requires end_time and is compared to max_daily_budget by its per-day share. | |
| expand_targeting | No | Whether Reddit may expand delivery beyond the targeting; omitted uses Reddit's default. | |
| excluded_keywords | No | Keywords to exclude. | |
| optimization_goal | No | The pixel event to optimize for (PURCHASE, SIGN_UP, LEAD, PAGE_VISIT, ...). Empty in a CBO campaign inherits the campaign's. | |
| excluded_interests | No | Interest ids to exclude (Reddit marks this field deprecated). | |
| conversion_pixel_id | Yes | Pixel id (Reddit rule; from get_reddit_pixels). | |
| custom_audience_ids | No | Custom audiences to target (from get_reddit_audiences), e.g. website visitors for retargeting. | |
| excluded_communities | No | Community names to exclude. | |
| excluded_geolocations | No | Geolocation ids to exclude. | |
| excluded_custom_audience_ids | No | Custom audiences to exclude, e.g. people who already bought. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||