> ## Documentation Index
> Fetch the complete documentation index at: https://docs.markifact.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Campaign

> Create TikTok Ads campaigns for manual, Search, and Upgraded Smart+ campaign types

Create TikTok Ads campaigns for manual, Search, and Upgraded Smart+ campaign types.

|                       |                              |
| --------------------- | ---------------------------- |
| **App**               | TikTok Ads                   |
| **Operation ID**      | `tiktok_ads_create_campaign` |
| **Type**              | Action                       |
| **Connection**        | `tiktok_ads` (required)      |
| **Credits per run**   | 2                            |
| **Agent / MCP tool**  | Yes                          |
| **Requires approval** | Yes (write operation)        |

## Inputs

| Field                             | Type                                | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                              |
| --------------------------------- | ----------------------------------- | -------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `account`                         | DynamicAccount                      | Yes      | -       | Select TikTok Ads account (advertiser) to create the campaign in.                                                                                                                                                                                                                                                                                                                                        |
| `campaign_mode`                   | string or SelectableOption          | Yes      | -       | Campaign creation path. Use upgraded\_smart\_plus for Smart+ campaigns; Smart+ requires a campaign-level budget and uses CBO automatically. Use search for Search Ads campaigns; Search does not support CBO, so Markifact sends budget\_optimize\_on false. Use manual for regular campaigns.                                                                                                           |
| `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. Smart+ supports APP\_PROMOTION, WEB\_CONVERSIONS, and LEAD\_GENERATION. Manual/search can use the regular TikTok objectives supported by this node.                                                                                                                                                                                                                                  |
| `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       | -       | Manual campaigns only. Set true to use one campaign budget across ad groups; set false when ad groups manage budget. Do not set for Search or Smart+: Markifact sends false for Search and true for Smart+.                                                                                                                                                                                              |
| `budget_mode`                     | string or SelectableOption          | No       | -       | Manual/search only. For Search, CBO is always off: use BUDGET\_MODE\_INFINITE for no campaign-level budget or BUDGET\_MODE\_DAY/BUDGET\_MODE\_TOTAL for a campaign cap. For manual CBO, use BUDGET\_MODE\_DYNAMIC\_DAILY\_BUDGET for daily campaign budget or BUDGET\_MODE\_TOTAL for lifetime budget. Do not set for Smart+: Markifact treats Smart+ as daily campaign budget and omits this API field. |
| `budget`                          | number                              | No       | -       | Campaign budget amount in account currency. Required for Smart+ campaigns. For manual, provide it when budget\_mode is daily, lifetime, or dynamic daily. For Search, provide it only with BUDGET\_MODE\_DAY or BUDGET\_MODE\_TOTAL; omit when budget\_mode is BUDGET\_MODE\_INFINITE.                                                                                                                   |
| `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+ only, used when catalog\_enabled is true. Use ECOMMERCE for product catalogs, TRAVEL\_ENTERTAINMENT for travel/entertainment, or MINI\_SERIES for mini series. Defaults to ECOMMERCE.                                                                                                                                                                                                             |
| `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.                                                                                                                                                                                                                                                                                             |

### SelectableOption

| Field   | Type   | Required | Default | Description |
| ------- | ------ | -------- | ------- | ----------- |
| `value` | string | Yes      | -       |             |
| `label` | string | Yes      | -       |             |

## Output

**Type**: `Dict`

Returns created TikTok campaign details.

**Fields**: `campaign_id`, `campaign_name`, `campaign_mode`
