/** * @example * { * objective: "awareness", * platform: "whop", * title: "Now hiring mobile detailers \u2014 Austin" * } */ export interface CreateAdCampaignsRequest { /** The account to create the campaign under. Defaults to the account-scoped key's own account. */ account_id?: string; /** How delivery bids in the ad auction: `minimum_cost` gets the most results for the budget, `average_target` holds an average cost per result, `maximum_target` never bids above a cap. Only for campaigns that own the budget. */ bid_type?: CreateAdCampaignsRequest.BidType; /** The campaign's budget in USD, which is what it is stored and billed in. Required when budget_optimization is `ad_campaign` (or send budget_amount_local instead); omit when each ad group sets its own budget. */ budget_amount?: number; /** The campaign's budget stated in the account's ads reporting currency (`budget_currency` on the response) instead of USD. Converted to USD at the current exchange rate and stored as budget_amount. Provide this or budget_amount, not both. */ budget_amount_local?: number; /** Which level owns the budget: the whole campaign (`ad_campaign`) or each ad group individually (`ad_group`). Defaults to `ad_group`. */ budget_optimization?: CreateAdCampaignsRequest.BudgetOptimization; /** Whether the budget is spent per day (`daily`) or over the campaign's full run (`lifetime`). Defaults to `daily`. */ budget_type?: CreateAdCampaignsRequest.BudgetType; /** The kind of campaign to create. `standard` is the ad network's standard campaign; `search` shows text ads on search results for the ad groups' keywords. Defaults to `standard`. Can't be changed after creation. */ campaign_type?: CreateAdCampaignsRequest.CampaignType; /** The cost per result, in USD, you want 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. Ad groups set cost and bid caps with their own `desired_cost_per_result`. Omit or send `null` for no target. */ desired_cost_per_result?: number | null; /** When the campaign stops delivering, as an ISO 8601 timestamp. Only for campaigns that own the budget. */ ends_at?: string; /** The goal the campaign optimizes toward. */ objective: CreateAdCampaignsRequest.Objective; /** The ad network the campaign runs on. */ platform: CreateAdCampaignsRequest.Platform; /** Regulated categories the campaign falls under. Ads in these categories are subject to extra targeting restrictions. */ special_ad_categories?: CreateAdCampaignsRequest.SpecialAdCategories.Item[]; /** When the campaign starts delivering, as an ISO 8601 timestamp. Only for campaigns that own the budget. */ starts_at?: string; /** The title of the campaign. */ title: string; } export declare namespace CreateAdCampaignsRequest { /** How delivery bids in the ad auction: `minimum_cost` gets the most results for the budget, `average_target` holds an average cost per result, `maximum_target` never bids above a cap. Only for campaigns that own the budget. */ const BidType: { readonly MinimumCost: "minimum_cost"; readonly AverageTarget: "average_target"; readonly MaximumTarget: "maximum_target"; }; type BidType = (typeof BidType)[keyof typeof BidType]; /** Which level owns the budget: the whole campaign (`ad_campaign`) or each ad group individually (`ad_group`). Defaults to `ad_group`. */ const BudgetOptimization: { readonly AdCampaign: "ad_campaign"; readonly AdGroup: "ad_group"; }; type BudgetOptimization = (typeof BudgetOptimization)[keyof typeof BudgetOptimization]; /** Whether the budget is spent per day (`daily`) or over the campaign's full run (`lifetime`). Defaults to `daily`. */ const BudgetType: { readonly Daily: "daily"; readonly Lifetime: "lifetime"; }; type BudgetType = (typeof BudgetType)[keyof typeof BudgetType]; /** The kind of campaign to create. `standard` is the ad network's standard campaign; `search` shows text ads on search results for the ad groups' keywords. Defaults to `standard`. Can't be changed after creation. */ const CampaignType: { readonly Standard: "standard"; readonly Search: "search"; }; type CampaignType = (typeof CampaignType)[keyof typeof CampaignType]; /** The goal the campaign optimizes toward. */ const Objective: { readonly Awareness: "awareness"; readonly Traffic: "traffic"; readonly Engagement: "engagement"; readonly Leads: "leads"; readonly Sales: "sales"; }; type Objective = (typeof Objective)[keyof typeof Objective]; /** The ad network the campaign runs on. */ const Platform: { readonly Whop: "whop"; }; type Platform = (typeof Platform)[keyof typeof Platform]; type SpecialAdCategories = SpecialAdCategories.Item[]; namespace SpecialAdCategories { const Item: { readonly Housing: "housing"; readonly Employment: "employment"; readonly FinancialProducts: "financial_products"; readonly Politics: "politics"; }; type Item = (typeof Item)[keyof typeof Item]; } }