account | DynamicAccount | Yes | - | Select TikTok Ads account (advertiser) to create the campaign in. |
campaign_mode | string or SelectableOption | Yes | - | Campaign creation path: manual for regular campaigns, search for Search Ads, upgraded_smart_plus for Upgraded Smart+. Smart+ supports campaign-level or ad-group budgets; CBO defaults to true unless explicitly disabled. Search uses budget_optimize_on false. |
campaign_name | string | Yes | - | Campaign name to create in TikTok. Keep it human-readable, 512 characters or less, and do not include emoji. |
objective_type | string or SelectableOption | Yes | - | Campaign objective. The Upgraded Smart+ campaign API supports APP_PROMOTION, WEB_CONVERSIONS, and LEAD_GENERATION; Ads Manager Smart+ Traffic availability does not imply API support for objective TRAFFIC. For website clicks or landing-page views under Smart+, use WEB_CONVERSIONS with WEBSITE and the matching ad-group goal. Manual/search availability depends on TikTok objective eligibility. |
operation_status | string or SelectableOption | No | - | Initial campaign status. Use DISABLE to create safely paused campaigns; use ENABLE only when the campaign is ready to run. Defaults to DISABLE. |
budget_optimize_on | boolean | No | - | Use true for one campaign budget across ad groups or false for ad-group budgets, optionally with a campaign cap. Smart+ defaults to true when omitted. Manual defaults to true when a campaign budget or finite budget_mode is supplied, otherwise false. Search always uses false. |
budget_mode | string or SelectableOption | No | - | With CBO enabled, use BUDGET_MODE_DYNAMIC_DAILY_BUDGET (default) or BUDGET_MODE_TOTAL. With CBO disabled, use BUDGET_MODE_INFINITE (default), BUDGET_MODE_DAY, or BUDGET_MODE_TOTAL for an optional campaign cap. Applies to manual and Smart+; Search always has CBO disabled. |
budget | number | No | - | Campaign budget or cap in account currency. Required with BUDGET_MODE_DAY, BUDGET_MODE_TOTAL, or BUDGET_MODE_DYNAMIC_DAILY_BUDGET. Omit with BUDGET_MODE_INFINITE. For Smart+ ad-group budgets, explicitly set budget_optimize_on false and provide budgets on the ad groups. |
budget_auto_adjust_strategy | string or SelectableOption | No | - | Smart+ only, allowlist dependent. Use AUTO_BUDGET_INCREASE only when the campaign uses daily budget and app_promotion_type is not MINIS. |
request_id | string | No | - | Optional numeric idempotency key. Smart+ requires one, and Markifact generates it if omitted. Provide a 64-bit integer string only when you need a stable retry key. |
app_promotion_type | string or SelectableOption | No | - | Required when objective_type is APP_PROMOTION. Choose the app promotion subtype, such as APP_INSTALL for install campaigns or APP_RETARGETING for re-engagement. |
virtual_objective_type | string or SelectableOption | No | - | Manual/search only. Set SALES when the user wants TikTok’s Sales objective; also provide sales_destination. |
sales_destination | string or SelectableOption | No | - | Where sales/conversions happen. Required for Smart+ WEB_CONVERSIONS and when virtual_objective_type is SALES. Use WEBSITE for website sales, APP for app sales, TIKTOK_SHOP for shop sales, or WEB_AND_APP when both apply. |
campaign_type | string or SelectableOption | No | - | App campaign iOS 14 setting. Use IOS14_CAMPAIGN only for eligible iOS app campaigns that need dedicated iOS 14 handling; otherwise omit and Markifact defaults app campaigns to REGULAR_CAMPAIGN. |
app_id | string | No | - | TikTok App ID. Required for iOS14 app promotion or app sales campaigns; omit for website-only campaigns. |
is_advanced_dedicated_campaign | boolean | No | - | Manual/search only. Set true only when the campaign should use TikTok Advanced Dedicated Campaign behavior; otherwise omit. |
disable_skan_campaign | boolean | No | - | Use for eligible iOS14 app campaigns when SKAN attribution should be disabled. Omit for non-iOS14 or website campaigns. |
campaign_app_profile_page_state | string or SelectableOption | No | - | App campaigns only. Set ON to use the app profile page for delivery optimization, OFF to disable it, or omit when not relevant. |
rf_campaign_type | string or SelectableOption | No | - | Manual/search RF_REACH only. Set PULSE for TikTok Pulse campaigns; otherwise omit or use STANDARD for normal reach and frequency. |
campaign_product_source | string or SelectableOption | No | - | Manual/search PRODUCT_SALES only. Use CATALOG for catalog product sales or STORE for TikTok Shop/showcase sales. |
catalog_enabled | boolean | No | - | Smart+ only. Set true when the Smart+ campaign should use a product catalog. For manual catalog campaigns, use objective_type PRODUCT_SALES and campaign_product_source CATALOG instead. |
catalog_type | string or SelectableOption | No | - | Smart+ catalog type. ECOMMERCE (default), TRAVEL_ENTERTAINMENT, MINI_SERIES, or GENERIC for web catalogs; GENERIC for lead catalogs; ONLINE_TO_OFFLINE for app O2O catalogs. Availability depends on campaign objective and advertiser access. |
is_promotional_campaign | boolean | No | - | Smart+ WEB_CONVERSIONS only. Set true when the campaign should use TikTok promotional campaign settings; otherwise omit. |
gaming_ad_compliance_agreement | string or SelectableOption | No | - | Smart+ app install iOS14 gaming campaigns only. Set ON when the advertiser has agreed to TikTok’s gaming policy; omit for non-gaming campaigns. |
special_industries | array of string or SelectableOption | No | - | Use only for regulated campaigns. Select HOUSING, EMPLOYMENT, or CREDIT when the campaign belongs to those special ad categories; otherwise omit. |
postback_window_mode | string or SelectableOption | No | - | iOS14/SKAN campaigns only. Choose the SKAN 4.0 postback window mode when TikTok requires it; otherwise omit. |
po_number | string | No | - | Optional purchase order number for advertiser billing or invoice tracking. Omit when the user does not provide one. |
rta_id | string | No | - | Optional Realtime API strategy ID. Provide only when the advertiser has a TikTok RTA strategy to attach. |
rta_bid_enabled | boolean | No | - | Set true only for eligible campaigns that should use RTA bidding with rta_id; otherwise omit. |
rta_product_selection_enabled | boolean | No | - | Set true only when an eligible RTA campaign should let TikTok select products automatically; otherwise omit. |