Ad Groups

Retrieve an Ad Group

Retrieves a single ad group.

get/ad_groups/{id}

Query parameters

stats_fromstring

Start of the stats window.

stats_tostring

End of the stats window.

time_zonestring

IANA timezone the stats window is interpreted in. Defaults to UTC.

Response

ad group retrieved

added_to_cartsnumber required

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

audiencesobject required

Saved-audience targeting: { include, exclude } arrays of audience IDs.

bid_type'minimum_cost' | 'average_target' | 'maximum_target' | 'null' nullable required

Bid strategy.

budget_amountnumber nullable required

Ad-set budget; null when the campaign owns budget (CBO).

budget_type'daily' | 'lifetime' | 'null' nullable required

Whether the budget is daily or lifetime.

click_through_ratenumber required

Clicks divided by impressions, between 0 and 1.

clicksnumber required

The number of clicks.

completed_registrationsnumber required

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

contactsnumber required

Whop pixel-attributed contact events, last-click.

conversion_location'website' | 'profile' | 'messaging' | 'on_ad' | 'instant_forms' | 'instant_forms_and_messenger' | 'website_and_instant_forms' | 'null' nullable required

Where results happen: website, profile (IG/FB), messaging (DM), on_ad (engagement), or the lead destinations (instant_forms, instant_forms_and_messenger, website_and_instant_forms).

cost_per_added_to_cartnumber nullable required

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

cost_per_clicknumber required

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

cost_per_completed_registrationnumber nullable required

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

cost_per_contactnumber nullable required

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

cost_per_leadnumber nullable required

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

cost_per_millenumber required

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

cost_per_purchasenumber nullable required

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

cost_per_resultnumber nullable required

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

cost_per_schedulenumber nullable required

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

cost_per_submitted_applicationnumber nullable required

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

cost_per_viewed_contentnumber nullable required

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

created_atstring required

When the ad group was created, ISO 8601.

custom_conversionsnumber required

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

custom_event_countsobject required

Whop pixel-attributed custom conversions broken out by merchant-defined event name, last-click, as a { event_name => count } map over the stats window. 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.

delivery_status'all_ads_rejected' | 'rejected' | 'draft' | 'no_ads' | 'campaign_paused' | 'paused' | 'processing' | 'issues' | 'scheduled' | 'completed' | 'ads_off' | 'learning_limited' | 'learning' | 'active' required

The current delivery state, mirroring the Delivery column in the ads dashboard. When several states apply at once, the highest-precedence one is returned.

demographicsobject required

Demographic targeting: automatic (Advantage+), age range, gender.

desired_cost_per_resultnumber nullable required

Target/cap cost for average_target / maximum_target.

devicesobject required

Device targeting: platforms and operating systems.

dynamic_creativeboolean required

Whether ads within this ad group have their creatives and copy dynamically AB tested.

ends_atstring nullable required

Schedule end, ISO 8601.

frequencynumber nullable required

Platform-reported impressions divided by reach.

frequency_capobject nullable required

Impression cap; only valid for reach optimization.

idstring required

Unique identifier for the ad group.

impressionsnumber required

The number of impressions.

languagesstring[] required
leadsnumber required

Whop pixel-attributed leads, last-click.

message_appsstring[] required
minimum_daily_spendnumber nullable required

Daily spend floor within the budget.

optimization_goalstring nullable required

What the ad group optimizes for.

placementsobject[] required
purchase_valuenumber required

USD value of pixel-attributed purchases.

purchasesnumber required

Whop pixel-attributed purchases, last-click.

reachnumber required

The number of unique people who saw this.

regionsobject required

Geo targeting: include/exclude countries, regions (ISO 3166-2 states, e.g. US-CA), cities, zips.

result_event'purchase' | 'lead' | 'schedule' | 'submit_application' | 'contact' | 'complete_registration' | 'view_content' | 'add_to_cart' | 'custom' | 'null' nullable 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.

result_event_namestring nullable required

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

resultsnumber nullable 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.

return_on_ad_spendnumber required

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

schedulesnumber required

Whop pixel-attributed schedule events, last-click.

spendnumber required

The amount charged, in spend_currency.

spend_currencystring nullable required

The ISO 4217 currency code of all monetary metrics.

starts_atstring nullable required

Schedule start, ISO 8601.

status'active' | 'paused' | 'rejected' required

Delivery status of the ad group.

submitted_applicationsnumber required

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

titlestring nullable required

The display title of the ad group.

unique_click_through_ratenumber nullable required

Unique clicks divided by impressions, between 0 and 1.

unique_clicksnumber required

The number of unique clicks.

updated_atstring required

When the ad group was last updated, ISO 8601.

viewed_contentsnumber required

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

Example response

{
  "bid_type": "minimum_cost",
  "budget_type": "daily",
  "conversion_location": "website",
  "delivery_status": "all_ads_rejected",
  "issues": [
    {
      "resource_type": "ad_campaign"
    }
  ],
  "result_event": "purchase",
  "status": "active"
}

Changes