Skip to main content
POST
TypeScript

Authorizations

Authorization
string
header
required

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

Idempotency-Key
string

A unique key that makes this request safe to retry. See Idempotent requests.

Maximum string length: 255
Example:

"d9105228-4a08-46b1-8b91-42fed586d383"

Api-Version-Date
string

Pins the request to a dated API version.

Example:

"2026-10-29-2"

Path Parameters

id
string
required

The ad campaign ID.

Response

payment retry queued on earlier API versions

added_to_cart_value
number
required

USD value attributed to add-to-cart events. Sums the value sent with each event, normalized to USD; events without a value contribute 0.

Example:

12650

added_to_carts
number
required

Whop pixel-attributed add-to-cart events, last-click.

Example:

165

budget_amount
number | null
required

The campaign's budget in USD, which is what it is stored and billed in. null when each ad group sets its own budget instead.

Example:

25

budget_amount_local
number | null
required

The same budget stated in budget_currency at today's exchange rate, for display in the account's ads reporting currency. null when budget_amount is.

Example:

25

budget_currency
string
required

The ISO 4217 code budget_amount_local is in: the account's ads_reporting_currency preference. usd unless the account changed it.

Example:

"usd"

budget_optimization
enum<string> | null
required

Which level owns the budget: the whole campaign (ad_campaign) or each ad group individually (ad_group).

Available options:
ad_campaign,
ad_group,
null
Example:

"ad_campaign"

budget_type
enum<string> | null
required

Whether budget_amount is spent per day (daily) or over the campaign's full run (lifetime).

Available options:
daily,
lifetime,
null
Example:

"daily"

campaign_type
enum<string>
required

The kind of campaign, fixed at creation. standard runs image and video ads; search shows text ads on search results for the ad groups' keywords.

Available options:
standard,
search
Example:

"standard"

click_through_rate
number
required

Clicks divided by impressions, between 0 and 1.

Example:

0.025

clicks
number
required

The number of clicks.

Example:

5500

completed_registration_value
number
required

USD value attributed to complete-registration events. Sums the value sent with each event, normalized to USD; events without a value contribute 0.

Example:

1650

completed_registrations
number
required

Whop pixel-attributed complete-registration events, last-click.

Example:

55

contact_value
number
required

USD value attributed to contact events. Sums the value sent with each event, normalized to USD; events without a value contribute 0.

Example:

2640

contacts
number
required

Whop pixel-attributed contact events, last-click.

Example:

88

cost_per_added_to_cart
number | null
required

Spend divided by attributed add-to-cart events; null when they are not the goal and none are attributed.

Example:

8

cost_per_click
number
required

Spend divided by clicks; 0 when there are no clicks.

Example:

0.24

cost_per_completed_registration
number | null
required

Spend divided by attributed complete-registration events; null when they are not the goal and none are attributed.

Example:

24

cost_per_contact
number | null
required

Spend divided by attributed contact events; null when contacts are not the goal and none are attributed.

Example:

15

cost_per_lead
number | null
required

Spend divided by attributed leads; null when leads are not a goal and none are attributed.

Example:

10

cost_per_mille
number
required

Spend per 1,000 impressions; 0 when there are no impressions.

Example:

6

cost_per_purchase
number | null
required

Spend divided by attributed purchases; null when purchases are not a goal and none are attributed.

Example:

30

cost_per_result
number | null
required

Spend divided by Whop pixel-attributed results; null when nothing Whop-attributable is being optimized for.

Example:

40

cost_per_schedule
number | null
required

Spend divided by attributed schedule events; null when schedules are not the goal and none are attributed.

Example:

22

cost_per_submitted_application
number | null
required

Spend divided by attributed submit-application events; null when they are not the goal and none are attributed.

Example:

120

cost_per_unique_click
number | null
required

Spend divided by unique clicks; null when there are no unique clicks.

Example:

0.4

cost_per_viewed_content
number | null
required

Spend divided by attributed view-content events; null when they are not the goal and none are attributed.

Example:

1.1

created_at
string
required

When the campaign was created, as an ISO 8601 timestamp.

Example:

"2026-01-01T12:00:00.000Z"

custom_conversions
number
required

Whop pixel-attributed custom (merchant-defined) conversion events, last-click, across all custom event names.

Example:

41

custom_event_counts
object
required

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.

Example:
custom_event_values
object
required

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.

Example:
delivery_status
enum<string>
required

Whether the campaign's ads are delivering right now, and if not, why. Content review is in_review; a campaign waiting to start is processing. Account billing failures set payment_failed without changing the configured status. Successful payment retry clears that block and recalculates delivery. When several states apply at once, the highest-precedence one is returned.

Available options:
payment_failed,
in_appeal,
all_ads_rejected,
draft,
no_ad_groups,
no_ads,
paused,
in_review,
learning,
processing,
issues,
scheduled,
completed,
ad_groups_off,
active
Example:

"draft"

ends_at
string | null
required

When the campaign stops delivering, as an ISO 8601 timestamp. null when it runs until paused, or when its ad groups set their own schedule.

Example:

"2026-01-01T12:00:00.000Z"

frequency
number | null
required

Impressions divided by reach.

Example:

null

id
string
required

Unique identifier for the ad campaign, prefixed adcamp_.

Example:

"adcamp_xxxxxxxxxxxxxx"

impressions
number
required

The number of impressions.

Example:

220000

issues
object[]
required
lead_value
number
required

USD value attributed to lead events. Sums the value sent with each event, normalized to USD; events without a value contribute 0.

Example:

3960

leads
number
required

Whop pixel-attributed leads, last-click.

Example:

132

Page views on your destination from people who clicked the ad, recorded by the Whop pixel. Counted the same way on every ad platform.

Example:

4400

objective
enum<string> | null
required

The goal the campaign optimizes toward. awareness appears only on campaigns created before it was retired; those campaigns can't launch.

Available options:
awareness,
traffic,
engagement,
leads,
sales,
null
Example:

"leads"

purchase_value
number
required

USD value of pixel-attributed purchases.

Example:

7920

purchases
number
required

Whop pixel-attributed purchases, last-click.

Example:

44

reach
number
required

The number of unique people who saw this.

Example:

0

result_event
enum<string> | null
required

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.

Available options:
purchase,
lead,
schedule,
submit_application,
contact,
complete_registration,
view_content,
add_to_cart,
custom,
messaging_conversation,
null
Example:

"custom"

result_event_name
string | null
required

The merchant-defined event name when result_event is custom; null for the standard events.

Example:

"quote_requested"

results
number | null
required

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.

Example:

33

return_on_ad_spend
number
required

Purchase value divided by spend, both in USD (a currency-neutral ratio); 0 when there is no spend.

Example:

6

schedule_value
number
required

USD value attributed to schedule events. Sums the value sent with each event, normalized to USD; events without a value contribute 0.

Example:

5400

schedules
number
required

Whop pixel-attributed schedule events, last-click.

Example:

60

special_ad_categories
enum<string>[]
required

Regulated categories the campaign is declared under. Ads in these categories are subject to extra targeting restrictions. Empty when none apply.

Available options:
housing,
employment,
financial_products,
politics
spend
number
required

The amount charged, in spend_currency.

Example:

1320

spend_currency
string | null
required

The ISO 4217 currency code of all monetary metrics.

Example:

"usd"

starts_at
string | null
required

When the campaign starts delivering, as an ISO 8601 timestamp. null when it starts as soon as it launches, or when its ad groups set their own schedule.

Example:

"2026-01-01T12:00:00.000Z"

status
enum<string>
required

The configured lifecycle status of the ad campaign. Billing failures preserve active or paused here and set delivery_status to payment_failed.

Available options:
active,
paused,
inactive,
stale,
pending_refund,
payment_failed,
draft,
in_review,
flagged,
importing,
imported,
duplicating
Example:

"draft"

submitted_application_value
number
required

USD value attributed to submit-application events. Sums the value sent with each event, normalized to USD; events without a value contribute 0.

Example:

1320

submitted_applications
number
required

Whop pixel-attributed submit-application events, last-click.

Example:

11

title
string
required

Display name of the ad campaign.

Example:

"Now hiring mobile detailers — Austin"

unique_click_through_rate
number | null
required

Unique clicks divided by impressions, between 0 and 1.

Example:

null

unique_clicks
number
required

People who clicked, reported by the Whop pixel, counted once per person.

Example:

3300

updated_at
string
required

When the campaign was last updated, as an ISO 8601 timestamp.

Example:

"2026-01-01T12:00:00.000Z"

viewed_content_value
number
required

USD value attributed to view-content events. Sums the value sent with each event, normalized to USD; events without a value contribute 0.

Example:

8400

viewed_contents
number
required

Whop pixel-attributed view-content events, last-click.

Example:

1200

bid_type
enum<string> | null

How delivery bids in the ad auction: minimum_cost gets the most results for the budget, average_target holds an average cost per result, and maximum_target never bids above a cap.

Available options:
minimum_cost,
average_target,
maximum_target,
null
Example:

"average_target"

desired_cost_per_result
number | null

The cost per result, in USD, the advertiser wants this campaign to achieve. A target only: it is not a bid, cost cap, or bid cap, and doesn't change how the campaign's ads bid. null when no target is set.

Example:

4.5