TOOL API

campaign_create

Creates a campaign at /open_api/v1.3/campaign/create/. Each ad account can have up to 999 campaigns, and a campaign can contain one or more ad groups. Review the v1.2 to v1.3 migration differences before upgrading; v1.3 renames `budget_optimize_switch` to `budget_optimize_on`, `industry_types` to `special_industries`, changes `advertiser_id` from number to string, adds fields such as `app_id`, `campaign_type`, `app_promotion_type`, `campaign_app_profile_page_state`, `rf_campaign_type`, `request_id`, `campaign_product_source`, `postback_window_mode`, `is_advanced_dedicated_campaign`, `rta_id`, `rta_product_selection_enabled`, `disable_skan_campaign`, `catalog_enabled`, `rta_bid_enabled`, `virtual_objective_type`, `sales_destination`, `is_search_campaign`, and `po_number`, and deprecates `budget_optimize_switch`, `bid_type`, `deep_bid_type`, `roas_bid`, and `optimize_goal`. By using this endpoint, you agree to TikTok's Online Data Terms, including the Business Products (Data) Terms and Controller to Controller Data Terms. Allowlist- or eligibility-gated features documented here include App Pre-Registration, Website and App Optimization with `sales_destination=WEB_AND_APP`, Search Ads Campaigns, TikTok Pulse (`rf_campaign_type=PULSE`), Product Sales campaigns, disabling SKAN attribution for Dedicated Campaigns, RTA, certain special-ad-category shopping scenarios, and some CBO / dynamic daily budget cases. Post-creation immutability applies to fields including `is_search_campaign`, `is_advanced_dedicated_campaign`, `disable_skan_campaign`, `rf_campaign_type`, `catalog_enabled`, and `postback_window_mode`. This endpoint also has cross-API prerequisites in some flows: app IDs and advanced dedicated campaign eligibility come from `/app/list/`; campaign status can later be changed with `/campaign/status/update/`; Reach & Frequency Pulse campaigns require compatible ad group configuration in `/adgroup/rf/create/` and `/adgroup/rf/update/`.E-commerce Partner plugin connects e-commerce platforms / website such Shopify, WooCommerce, BigCommerce, Adobe Real-time CDP, nuvemshop, Tray store,Cafe 24,ECWID_RESELLER (includes but not limited to these). Install the plugin to sync your catalog and Pixel. Use this when you already have a store website or product link in chat. If no link, but related to e-commerece, ask user whether have store/product link. Go to below link for plugin setup. Example: Shopify: https://apps.shopify.com/tiktok Woo Commerce: https://woocommerce.com/products/tiktok-for-woocommerce/ Big Commerce: https://www.bigcommerce.com/apps/tiktok/ Adopbe: https://commercemarketplace.adobe.com/tiktok-tiktok.html Tray: https://tray.com.br/tiktok Wix: https://www.wix.com/app-market/tiktok The following does not have a app page for TT. The link above is a help center instruction Cafe 24: Set Up TikTok on Cafe24 | TikTok For Business ECWID_RESELLER : https://support.ecwid.com/hc/en-us/articles/12514209194524-Connecting-Ecwid-to-TikTok

ecommerceOAuth1 credits

Call information

Tool slug
tiktok-ads.campaign_create
Provider
TikTok for Business
Average response
0 ms
Calls in 7 days
0

Input parameters

advertiser_idrequired

Advertiser ID.

app_id

Required when `campaign_type=IOS14_CAMPAIGN` and either `objective_type=PRODUCT_SALES`, or `objective_type=APP_PROMOTION` with `app_promotion_type=APP_INSTALL`. Application ID of the promoted app. You cannot use an app that has not activated the SAN module on your MMP to create iOS Dedicated Campaigns.

app_promotion_type

Required when `objective_type` is `APP_PROMOTION`. App promotion type. `APP_INSTALL` gets new users to install your app and can be used in an iOS14 Dedicated Campaign. `APP_RETARGETING` re-engages existing users and cannot be used in an iOS14 Dedicated Campaign. `APP_PREREGISTRATION` gets new users to pre-register before launch and also cannot be used in an iOS14 Dedicated Campaign. App Pre-Registration is allowlist-only.

budget

Required when `budget_mode` is `BUDGET_MODE_DAY`, `BUDGET_MODE_DYNAMIC_DAILY_BUDGET`, or `BUDGET_MODE_TOTAL`. Campaign budget.

budget_mode

Required when `objective_type` is not `RF_REACH`. When `objective_type=RF_REACH`, only `BUDGET_MODE_INFINITE` is supported. If `budget_optimize_on=true`, supported values are `BUDGET_MODE_TOTAL`, `BUDGET_MODE_DYNAMIC_DAILY_BUDGET`, and `BUDGET_MODE_DAY`. `BUDGET_MODE_DYNAMIC_DAILY_BUDGET` is the average daily budget over a week; daily costs do not exceed 125% of the average daily budget and weekly costs do not exceed average daily budget × 7. When `objective_type` is `TRAFFIC`, `APP_PROMOTION`, `WEB_CONVERSIONS`, `LEAD_GENERATION`, `PRODUCT_SALES` (Video Shopping Ads only), `REACH`, `VIDEO_VIEWS`, or `ENGAGEMENT`, use `BUDGET_MODE_DYNAMIC_DAILY_BUDGET` for a non-lifetime budget. Dynamic daily budget for `REACH`, `VIDEO_VIEWS`, and `ENGAGEMENT` is allowlist-only. If `budget_optimize_on` is not enabled, supported values are `BUDGET_MODE_INFINITE`, `BUDGET_MODE_TOTAL`, and `BUDGET_MODE_DAY`; for non-CBO campaigns, `BUDGET_MODE_DAY` is deprecated for `REACH`, `VIDEO_VIEWS`, and `ENGAGEMENT`.

budget_optimize_on

Whether to enable Campaign Budget Optimization (CBO). Supported value: `true`. CBO for Video Shopping Ads with product source `CATALOG` is allowlist-only.

campaign_app_profile_page_state

Whether to use App Profile Page to optimize delivery. Valid only when `objective_type=APP_PROMOTION` and the campaign is an iOS14 Dedicated Campaign; otherwise an error occurs. Default: `OFF`.

campaign_namerequired

Campaign name. Maximum 512 characters. Emoji is not supported. Each Chinese or Japanese word counts as two characters; each English letter counts as one character.

campaign_product_source

Required when `objective_type=PRODUCT_SALES`. Product source of the campaign. `CATALOG` uses catalog. `STORE` uses TikTok Shop or TikTok Showcase. Product Sales is allowlist-only. For Video Shopping Ads, this setting determines allowed ad-group `product_source`: if `CATALOG`, ad groups must use `CATALOG`; if `STORE`, ad groups must use `STORE` or `SHOWCASE`.

campaign_type

Campaign type. `IOS14_CAMPAIGN` supports `objective_type=PRODUCT_SALES` and `objective_type=APP_PROMOTION` only when `app_promotion_type=APP_INSTALL`. If `app_promotion_type` is `APP_RETARGETING` or `APP_PREREGISTRATION`, `campaign_type` can only be `REGULAR_CAMPAIGN`. For iOS Dedicated Campaigns with other objectives, use `REGULAR_CAMPAIGN`.

catalog_enabled

Whether to use your catalog to automatically advertise relevant products or services. Supported values: `true`, `false`. Default: `false`. Set to `true` only for Automotive Ads for Inventory or Automotive Ads for Models. If `objective_type=PRODUCT_SALES` and `campaign_product_source=CATALOG`, this field is overwritten to `true`. Once set, this field cannot be updated.

disable_skan_campaign

Valid only when all of the following are true: `objective_type=APP_PROMOTION`, `app_promotion_type=APP_INSTALL`, `campaign_type=IOS14_CAMPAIGN`, and `app_id` is an eligible iOS app whose `/app/list/` result has `advanced_dedicated_campaign_allowed`. `true` disables SKAN attribution, removes Dedicated Campaign quota limits, and enables SAN metrics but not SKAN reporting metrics; for an app eligible for Advanced Dedicated Campaigns, you must enable SKAN attribution or Advanced Dedicated Campaign or both, so you cannot disable SKAN attribution and Advanced Dedicated Campaign simultaneously. `false` enables SKAN attribution, applies Dedicated Campaign quota limits, and enables SKAN metrics; if `is_advanced_dedicated_campaign=true` at the same time, both SAN and SKAN reporting metrics are available. Disabling SKAN attribution for Dedicated Campaigns is allowlist-only. If you are allowlisted for disabling SKAN attribution for Dedicated Campaigns, you cannot set ad-group-level `bid_type` to `BID_TYPE_CUSTOM` when `is_advanced_dedicated_campaign=false`, `disable_skan_campaign=false`, and ad-group-level `optimization_goal` is `INSTALL` or `IN_APP_EVENT`. Once set, this field cannot be updated.

is_advanced_dedicated_campaign

Whether the campaign is an Advanced Dedicated Campaign. Supported values: `true`, `false`. Default: `false`. Once set, this field cannot be updated.

is_search_campaign

Whether to create a Search Ads Campaign. Supported values: `true`, `false`. Search Ads Campaigns are allowlist-only. Once set, this field cannot be updated.

objective_typerequired

Advertising objective.

operation_status

Status of the campaign when created. Default: `ENABLE`. For Reach & Frequency campaigns, set `operation_status` to `ENABLE` or omit it; do not set `DISABLE`. To update campaign status after creation, use `/campaign/status/update/`.

po_number

PO number for invoice tracking and reconciliation.

postback_window_mode

Valid only when `campaign_type=IOS14_CAMPAIGN` and `operation_status=DISABLE`. You can set this when creating a disabled campaign or when disabling an existing campaign through `/campaign/status/update/`; the recommended practice is to set it when disabling an existing campaign. `POSTBACK_WINDOW_MODE1` secures the first SKAN 4.0 postback (0-2 day attribution window) and releases quota after up to 4 days. `POSTBACK_WINDOW_MODE2` secures the first two postbacks (3-7 day attribution window) and releases quota after up to 13 days. `POSTBACK_WINDOW_MODE3` secures all three postbacks (8-35 day attribution window) and releases quota after up to 41 days. Once set, this field cannot be updated. If `operation_status=ENABLE` or is omitted, this field is ignored. If passed when SKAN 4.0 is not enabled for the app in `app_id`, an error occurs. If omitted while `campaign_type=IOS14_CAMPAIGN`, `operation_status=DISABLE`, and SKAN 4.0 is enabled for the app, it defaults to `POSTBACK_WINDOW_MODE1`. If SKAN 4.0 is enabled for your app, target iOS 16.1+ devices at the ad group level by setting `min_ios_version` to `16.1` to receive SKAN 4.0 postbacks.

request_id

Request ID that lets you create campaigns with duplicate names and provides idempotency. To create campaigns with the same `campaign_name`, send different `request_id` values. If you retry the same request with the same `request_id` within 10 seconds, only one request succeeds. This is different from the response `request_id`, which uniquely identifies an HTTP request. Must be a string representation of a 64-bit integer, for example `123456789`.

rf_campaign_type

Use only when `objective_type=RF_REACH`; do not pass this field otherwise. `STANDARD` creates a standard Reach & Frequency campaign. `PULSE` creates a TikTok Pulse campaign and is allowlist-only. This field cannot be updated after creation. If `rf_campaign_type=PULSE`, then `/adgroup/rf/create/` must use `contextual_tag_ids` of `PREMIUM` type, ad group CPM is fixed, `feed_type` in `/adgroup/rf/create/` cannot be `TOP_FEED`, and targeting locations cannot be updated in `/adgroup/rf/update/`.

rta_bid_enabled

Whether to use RTA bid. Supported values: `true`, `false`. Default: `false`. You can set this to `true` only when `objective_type` is `APP_PROMOTION`, `WEB_CONVERSIONS`, or `PRODUCT_SALES`, and `rta_id` is passed. This feature is allowlist-only.

rta_id

Realtime API (RTA) ID, the RTA strategy identifier. This feature is allowlist-only and requires onboarding before your system can receive and respond to RTA requests.

rta_product_selection_enabled

Whether to use RTA to automatically select products. Supported values: `true`, `false`. Default: `false`. You can set this to `true` only when `objective_type=PRODUCT_SALES`, `campaign_product_source=CATALOG`, and `rta_id` is passed.

sales_destination

Required and valid only when `virtual_objective_type` is specified. Sales destination. `TIKTOK_SHOP` drives sales on TikTok Shop. `WEBSITE` drives sales on your website. `APP` drives sales in your app and requires a product catalog. `WEB_AND_APP` drives sales on both website and app; this Website and App Optimization option is allowlist-only.

special_industries

Special ad categories. Selecting one certifies compliance with TikTok's special ad category policy and limits ad-group-level targeting options for anti-discrimination compliance. `HOUSING` is for housing-related opportunities. `EMPLOYMENT` is for jobs and related opportunities. `CREDIT` is for credit and financing opportunities. Using special ad categories in Shopping Ads with catalog product source and with non-catalog product source are separate allowlist-only features. This field is generally available to advertisers registered in America or Canada; advertisers not registered there but targeting those countries need an additional allowlist. Once selected for a campaign, special ad categories can be removed, but you cannot change them, and you cannot enable them for an existing campaign if they are currently disabled.

virtual_objective_type

New objective type. Use `SALES` to create a campaign with the Sales objective, which combines Website Conversions and Product Sales objectives.