Create an Ad Group
Creates an ad group (ad set) in a campaign.
Authorizations
An Account API key, account-scoped JWT, App API key, or user OAuth token. Prepend the key or token with Bearer, for example Bearer ***************************.
Headers
A unique key that makes this request safe to retry. See Idempotent requests.
255"d9105228-4a08-46b1-8b91-42fed586d383"
Pins the request to a dated API version.
"2026-08-21"
Body
The ad campaign to create the ad group in, prefixed adcamp_.
"adcamp_xxxxxxxxxxxxxx"
Saved audiences to deliver to or exclude. Can't be combined with demographics.automatic.
How delivery bids are set in the ad auction. Target-based strategies use desired_cost_per_result.
minimum_cost, average_target, maximum_target "average_target"
This ad group's budget, in the ad account's currency. Omit when the budget is set on the campaign instead.
40
Whether budget_amount is spent per day (daily) or over the ad group's full run (lifetime).
daily, lifetime "daily"
The pixel event optimized for. A standard event, or any custom pixel event name.
purchase, add_to_cart, initiated_checkout, add_payment_info, complete_registration, lead, content_view, search, contact, customize_product, donate, find_location, schedule, start_trial, submit_application, subscribe "purchase"
Where the outcome being optimized for occurs, such as a website visit, social-profile visit, messaging conversation, ad interaction, or lead-form submission. The lead form itself is set on the ad.
website, profile, instagram_and_facebook, instagram_profile, messaging, on_ad, instant_forms, instant_forms_and_messenger, website_and_instant_forms "website"
Age, gender, and automatic-audience targeting.
Cost per result to aim for (average_target) or never exceed (maximum_target).
35
Interest, behavior, and demographic targeting, using categories from the ad platform's targeting taxonomy. Entries across interests, behaviors, and demographics are OR'd together (anyone matching any entry is reached), matching Ads Manager's detailed-targeting box. At most 100 entries per section. Can't be combined with demographics.automatic, and unavailable to campaigns with special_ad_categories. Send the complete intended state — a section you omit is cleared.
Device platforms and operating systems to target.
Let the ad platform automatically mix and match this ad group's creatives and copy to find the best-performing combinations. Set at creation; can't be changed afterward.
false
When the ad group stops delivering, as an ISO 8601 timestamp. Omit to run until paused.
"2026-01-01T12:00:00.000Z"
Cap on how often one person sees ads from this ad group. Only available on campaigns with the awareness objective.
Languages to target, as ISO 639 codes such as en or es. Empty or omitted targets all languages.
Apps the conversation opens in. Required when setting conversion_location to messaging, and rejected unless the ad group's conversion location is messaging.
messenger, instagram, whatsapp Minimum the ad group tries to spend each day.
20
The result the ad group's delivery is optimized to get the most of.
conversions, link_clicks, landing_page_views, reach, impressions, engagement, conversations, video_views, two_second_views, page_likes, social_profile, ad_recall_lift, event_responses, reminders_set, lead_generation, quality_lead, value, profile_and_page_engagement "reach"
automatic to let the ad platform choose placements, or the list of platforms and positions to target. Omit a platform's positions to target all of them.
Valid positions per platform:
facebook:feed,right_hand_column,marketplace,search,profile_feed,notification,story,instream_video,facebook_reels,facebook_reels_overlay,biz_disco_feedinstagram:stream,story,explore,explore_home,reels,profile_feed,profile_reels,ig_searchmessenger:storyaudience_network:classic,rewarded_videothreads:threads_streamwhatsapp:status
automatic "automatic"
Locations to target and exclude.
When the ad group starts delivering, as an ISO 8601 timestamp. Omit to start as soon as it's active.
"2026-01-01T12:00:00.000Z"
Initial status (default: active).
active, paused "paused"
The display name of the ad group.
"North America — brand prospecting"
Response
ad group created
The ad campaign this ad group belongs to.
USD value attributed to add-to-cart events. Sums the value sent with each event, normalized to USD; events without a value contribute 0.
12650
Whop pixel-attributed add-to-cart events, last-click.
165
Saved audiences this ad group delivers to or excludes.
How delivery bids are set in the ad auction. Target-based strategies use desired_cost_per_result.
minimum_cost, average_target, maximum_target, null "average_target"
This ad group's budget, in the ad account's currency. null when the budget is set on the campaign instead.
60
Whether budget_amount is spent per day (daily) or over the ad group's full run (lifetime).
daily, lifetime, null "daily"
Clicks divided by impressions, between 0 and 1.
0.025
The number of clicks.
5500
USD value attributed to complete-registration events. Sums the value sent with each event, normalized to USD; events without a value contribute 0.
1650
Whop pixel-attributed complete-registration events, last-click.
55
USD value attributed to contact events. Sums the value sent with each event, normalized to USD; events without a value contribute 0.
2640
Whop pixel-attributed contact events, last-click.
88
Spend divided by attributed add-to-cart events; null when they are not the goal and none are attributed.
8
Spend divided by clicks; 0 when there are no clicks.
0.24
Spend divided by attributed complete-registration events; null when they are not the goal and none are attributed.
24
Spend divided by attributed contact events; null when contacts are not the goal and none are attributed.
15
Spend divided by attributed leads; null when leads are not a goal and none are attributed.
10
Spend per 1,000 impressions; 0 when there are no impressions.
6
Spend divided by attributed purchases; null when purchases are not a goal and none are attributed.
30
Spend divided by Whop pixel-attributed results; null when nothing Whop-attributable is being optimized for.
40
Spend divided by attributed schedule events; null when schedules are not the goal and none are attributed.
22
Spend divided by attributed submit-application events; null when they are not the goal and none are attributed.
120
Spend divided by unique clicks; null when there are no unique clicks.
0.4
Spend divided by attributed view-content events; null when they are not the goal and none are attributed.
1.1
When the ad group was created, as an ISO 8601 timestamp.
"2026-01-01T12:00:00.000Z"
Whop pixel-attributed custom (merchant-defined) conversion events, last-click, across all custom event names.
41
Whop pixel-attributed custom conversions, keyed by your event name with its last-click count as the value. Empty when no named custom events are attributed. Custom events fired without a name are counted in custom_conversions but omitted here, so these values sum to at most custom_conversions.
Conversion value attributed to each custom event, keyed by event name like custom_event_counts. Sums the value passed to whop.track, normalized to USD; events fired without a value contribute 0.
Whether ads in this ad group are delivering right now, and if not, why. When several states apply at once, the highest-precedence one is returned.
all_ads_rejected, rejected, draft, no_ads, campaign_paused, paused, processing, issues, scheduled, completed, ads_off, learning_limited, learning, active "no_ads"
Age, gender, and automatic-audience targeting.
Cost per result to aim for (average_target) or never exceed (maximum_target). null for minimum_cost bidding.
40
Interest, behavior, and demographic targeting, using categories from the ad platform's targeting taxonomy. Entries across interests, behaviors, and demographics are OR'd together (anyone matching any entry is reached), matching Ads Manager's detailed-targeting box. Can't be combined with automatic audience targeting, and unavailable to campaigns with special_ad_categories.
Device platforms and operating systems targeted.
When the ad group stops delivering, as an ISO 8601 timestamp. null when it runs until paused.
"2026-01-01T12:00:00.000Z"
Platform-reported impressions divided by reach.
Cap on how often one person sees ads from this ad group. Only available on campaigns with the awareness objective; null when uncapped.
Unique identifier for the ad group, prefixed adgrp_.
"adgrp_xxxxxxxxxxxxxx"
The number of impressions.
220000
Languages targeted, as ISO 639 codes such as en or es. A region-specific locale with no ISO code appears as its numeric platform locale key. Empty targets all languages.
USD value attributed to lead events. Sums the value sent with each event, normalized to USD; events without a value contribute 0.
3960
Whop pixel-attributed leads, last-click.
132
The result the ad group's delivery is optimized to get the most of.
conversions, link_clicks, landing_page_views, reach, impressions, engagement, conversations, video_views, two_second_views, page_likes, social_profile, ad_recall_lift, event_responses, reminders_set, lead_generation, quality_lead, value, profile_and_page_engagement, null "conversions"
USD value of pixel-attributed purchases.
7920
Whop pixel-attributed purchases, last-click.
44
The number of unique people who saw this.
0
Locations targeted and excluded.
The Whop pixel conversion event whose attributed count represents results — the optimization goal, or the highest-volume attributed event for campaigns that budget per ad group. Null when the goal isn't a Whop-attributed event.
purchase, lead, schedule, submit_application, contact, complete_registration, view_content, add_to_cart, custom, messaging_conversation, null "custom"
The merchant-defined event name when result_event is custom; null for the standard events.
"quote_requested"
The Whop pixel-attributed count behind result_event. When a campaign's ad groups optimize different goals there is no single result_event (it is null), and this is instead the sum of each ad group's own attributed results. Null when nothing Whop-attributable is being optimized for.
33
Purchase value divided by spend, both in USD (a currency-neutral ratio); 0 when there is no spend.
6
USD value attributed to schedule events. Sums the value sent with each event, normalized to USD; events without a value contribute 0.
5400
Whop pixel-attributed schedule events, last-click.
60
The amount charged, in spend_currency.
1320
The ISO 4217 currency code of all monetary metrics.
"usd"
When the ad group starts delivering, as an ISO 8601 timestamp. null when it starts as soon as it's active.
"2026-01-01T12:00:00.000Z"
Whether the ad group is enabled. active and paused are set by you; rejected means it failed ad review; duplicating is a copy still being filled in.
active, paused, rejected, duplicating "active"
USD value attributed to submit-application events. Sums the value sent with each event, normalized to USD; events without a value contribute 0.
1320
Whop pixel-attributed submit-application events, last-click.
11
Display name of the ad group.
"Austin ceramic coating — repeat customers"
Unique clicks divided by impressions, between 0 and 1.
People who clicked, reported by the Whop pixel, counted once per person.
3300
When the ad group was last updated, as an ISO 8601 timestamp.
"2026-01-01T12:00:00.000Z"
USD value attributed to view-content events. Sums the value sent with each event, normalized to USD; events without a value contribute 0.
8400
Whop pixel-attributed view-content events, last-click.
1200
The pixel event optimized for. A standard event, or any custom pixel event name.
purchase, add_to_cart, initiated_checkout, add_payment_info, complete_registration, lead, content_view, search, contact, customize_product, donate, find_location, schedule, start_trial, submit_application, subscribe "purchase"
Where the outcome being optimized for occurs, such as a website visit, social-profile visit, messaging conversation, ad interaction, or lead-form submission.
website, profile, instagram_and_facebook, instagram_profile, messaging, on_ad, instant_forms, instant_forms_and_messenger, website_and_instant_forms, null "website"
Whether the ad platform automatically mixes and matches this ad group's creatives and copy to find the best-performing combinations.
false
Apps the conversation opens in when conversion_location is messaging. Empty for other conversion locations.
messenger, instagram, whatsapp Minimum the ad group tries to spend each day. null when no floor is set.
25

