Create an Ad
Creates an ad in an ad group. Any campaign status other than draft launches the campaign, which requires an ads payment method on the account.
Authorizations
An Account API key, an App API key, an account access token, an account-scoped user token, or a user OAuth token. Prepend the key or token with Bearer, for example Bearer ***************************. See Auth & API keys for how to get each one.
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-11-04-1"
Body
An inline ad group to create (same shape as POST /ad_groups, including ad_campaign_id). Creates the ad group and the ad together. Provide this OR ad_group_id.
The existing ad group to create the ad in. Provide this OR ad_group, not both.
"adgrp_xxxxxxxxxxxxxx"
The call-to-action button shown on the ad.
apply_now, book_now, call_now, contact_us, donate_now, download, get_directions, get_offer, get_quote, learn_more, listen_now, message_page, no_button, open_link, order_now, request_time, see_details, see_menu, see_more, send_updates, shop_now, sign_up, subscribe, visit_site, watch_more "shop_now"
The ad's creative assets. Each entry is an uploaded file id with an optional format; omit format for the original asset. Entries with no format become a carousel's ordered cards, sharing the ad's copy.
The description shown on the ad.
The headline shown on the ad.
The primary text shown in the ad body. Several entries make text variations.
The display name of the ad.
"Ceramic coating — spring hook"
The URL the ad links to. Query parameters are merged into url_parameters, so the stored URL is always bare.
"https://shinetime.example/ceramic-coating"
Query parameters to append to the destination URL, keyed by parameter name. Merged with any query string on url. Whop adds its own click-attribution parameters; those are reserved, and setting one returns an error that names it.
Response
ad created together with its ad group
The ad campaign this ad belongs to.
The ad group this ad 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.
1850
Whop pixel-attributed add-to-cart events, last-click.
74
The call-to-action button shown on the ad.
learn_more, shop_now, sign_up, subscribe, get_started, book_now, apply_now, contact_us, download, order_now, buy_now, get_quote, message_page, whatsapp_message, instagram_message, call_now, get_directions, send_updates, get_offer, watch_more, listen_now, play_game, open_link, no_button, get_offer_view, get_event_tickets, see_menu, request_time, event_rsvp, see_details, view_instagram_profile, donate_now, see_more, visit_site, null "learn_more"
Clicks divided by impressions, between 0 and 1.
0.0261
The number of clicks.
1337
USD value attributed to complete-registration events. Sums the value sent with each event, normalized to USD; events without a value contribute 0.
95
Whop pixel-attributed complete-registration events, last-click.
19
USD value attributed to contact events. Sums the value sent with each event, normalized to USD; events without a value contribute 0.
175
Whop pixel-attributed contact events, last-click.
27
Whop's content review of this ad: whether it has finished, which ad networks it is recommended for, and the content rules it breaks.
Spend divided by attributed add-to-cart events; null when they are not the goal and none are attributed.
6.515675675675676
Spend divided by clicks; 0 when there are no clicks.
0.36
Spend divided by attributed complete-registration events; null when they are not the goal and none are attributed.
25.37684210526316
Spend divided by attributed contact events; null when contacts are not the goal and none are attributed.
17.85777777777778
Spend divided by attributed leads; null when leads are not a goal and none are attributed.
3.984793388429752
Spend per 1,000 impressions; 0 when there are no impressions.
9.42
Spend divided by attributed purchases; null when purchases are not a goal and none are attributed.
12.68842105263158
Spend divided by Whop pixel-attributed results; null when nothing Whop-attributable is being optimized for.
7.653333333333333
Spend divided by attributed schedule events; null when schedules are not the goal and none are attributed.
10.48173913043478
Spend divided by attributed submit-application events; null when they are not the goal and none are attributed.
40.18
Spend divided by unique clicks; null when there are no unique clicks.
0.48
Spend divided by attributed view-content events; null when they are not the goal and none are attributed.
0.2253084112149533
When the ad 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.
63
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 the ad is delivering right now, and if not, why. When several states apply at once, the highest-precedence one is returned.
in_appeal, rejected, in_review, draft, campaign_paused, ad_group_paused, paused, processing, issues, scheduled, learning_limited, learning, active "paused"
Impressions divided by reach.
null
Unique identifier for the ad, prefixed ad_.
"ad_xxxxxxxxxxxxxx"
The number of impressions.
51204
USD value attributed to lead events. Sums the value sent with each event, normalized to USD; events without a value contribute 0.
1180
Whop pixel-attributed leads, last-click.
121
Page views on your destination from people who clicked the ad, recorded by the Whop pixel. Counted the same way on every ad platform.
1071
USD value of pixel-attributed purchases.
9462
Whop pixel-attributed purchases, last-click.
38
The number of unique people who saw this.
0
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.
"booked_detail"
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.
63
Purchase value divided by spend, both in USD (a currency-neutral ratio); 0 when there is no spend.
19.62419113987058
USD value attributed to schedule events. Sums the value sent with each event, normalized to USD; events without a value contribute 0.
640
Whop pixel-attributed schedule events, last-click.
46
The amount charged, in spend_currency.
482.16
The ISO 4217 currency code of all monetary metrics.
"usd"
Whether the ad is enabled. active and paused are set by you; in_review and rejected come from ad review.
active, paused, in_review, rejected "paused"
USD value attributed to submit-application events. Sums the value sent with each event, normalized to USD; events without a value contribute 0.
300
Whop pixel-attributed submit-application events, last-click.
12
Display title of the ad.
"Ceramic coating — spring hook v2"
Unique clicks divided by impressions, between 0 and 1.
null
People who clicked, reported by the Whop pixel, counted once per person.
1012
When the ad was last updated, as an ISO 8601 timestamp.
"2026-01-01T12:00:00.000Z"
The URL the ad links to, without its query string. Parameters belong in url_parameters; any you send on url are moved there.
"https://shinetime.example/ceramic-coating"
Query parameters appended to url, keyed by name. Whop's click-attribution parameters are reserved.
USD value attributed to view-content events. Sums the value sent with each event, normalized to USD; events without a value contribute 0.
0
Whop pixel-attributed view-content events, last-click.
2140

