# Create a TikTok Ads Smart+ ad group

Create DISABLED upgraded Smart+ TikTok adgroup. Works on your own TikTok Ads account, connected through Get MCP Ads. The preview is free; the change costs $0.05 when you confirm it. Needs advertiser id and configuration.

Create DISABLED upgraded Smart+ TikTok adgroup. No option to launch active. Native objective/format eligibility is enforced by TikTok. Local preview by default. No automatic retry; advertiser ownership is checked before applying. Agentik price: free to preview; $0.05 when the change is applied (confirm: true without validateOnly).

- Tool ID: `tiktok-ads/create-smart-plus-adgroup`
- Name in the catalog: TikTok: Create smart plus adgroup
- Provider: [TikTok Ads](/providers/tiktok-ads.md)
- Capability: [TikTok Ads campaign management](/tools/tiktok-ads/campaign-management.md)
- Price: free preview, $0.05 per applied change
- Workspace access is automatic. Connect a platform using the link and notice returned to your AI assistant; an owner or admin completes platform consent and returns to the conversation; see the [guide](/docs/getmcpads.md).
- Authentication: an authorised Agentik workspace is required for execution, including zero-price tools.

## Pricing contract

The provider’s price, with no markup. Billed for measured usage.


```json
{
  "model": "per_call",
  "amountUsd": 0,
  "multipliers": [
    {
      "all": [
        {
          "field": "confirm",
          "equals": true
        },
        {
          "field": "validateOnly",
          "truthy": false
        }
      ],
      "setUsd": 0.05
    }
  ]
}
```

## Complete input schema


```json
{
  "type": "object",
  "properties": {
    "advertiserId": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "Exact TikTok numeric ID as a string, never a rounded JavaScript number."
    },
    "configuration": {
      "type": "object",
      "properties": {
        "adgroup_name": {
          "type": "string",
          "description": "Exact ad group business name."
        },
        "app_id": {
          "type": "string",
          "description": "Native TikTok app id. Check the current entity and applicable objective before supplying it."
        },
        "attribution_event_count": {
          "type": "string",
          "description": "Native TikTok attribution event count. Check the current entity and applicable objective before supplying it."
        },
        "bid_price": {
          "type": "number",
          "description": "Native TikTok bid price. Check the current entity and applicable objective before supplying it."
        },
        "bid_type": {
          "type": "string",
          "description": "Native TikTok bid type. Check the current entity and applicable objective before supplying it."
        },
        "billing_event": {
          "type": "string",
          "description": "Native billing event, e.g. CPC for CLICK, OCPM for CONVERT, CPM for REACH, CPV for ENGAGED_VIEW."
        },
        "budget": {
          "type": "number",
          "description": "Amount in the advertiser currency. Do not multiply by 100. Supply currency outside configuration."
        },
        "budget_mode": {
          "type": "string",
          "description": "Native budget mode; campaign and ad group budget models must be compatible."
        },
        "campaign_id": {
          "type": "string",
          "description": "Existing parent campaign ID in this advertiser."
        },
        "catalog_authorized_bc_id": {
          "type": "string",
          "description": "Native TikTok catalog authorized bc id. Check the current entity and applicable objective before supplying it."
        },
        "catalog_id": {
          "type": "string",
          "description": "Native TikTok catalog id. Check the current entity and applicable objective before supplying it."
        },
        "click_attribution_window": {
          "type": "string",
          "description": "Native TikTok click attribution window. Check the current entity and applicable objective before supplying it."
        },
        "comment_disabled": {
          "type": "boolean",
          "description": "Native TikTok comment disabled. Check the current entity and applicable objective before supplying it."
        },
        "conversion_bid_price": {
          "type": "number",
          "description": "Native TikTok conversion bid price. Check the current entity and applicable objective before supplying it."
        },
        "custom_conversion_id": {
          "type": "string",
          "description": "Native TikTok custom conversion id. Check the current entity and applicable objective before supplying it."
        },
        "dayparting": {
          "type": "string",
          "description": "Exactly 336 binary digits describing half-hour slots across a week, in the advertiser timezone."
        },
        "deep_bid_type": {
          "type": "string",
          "description": "Native TikTok deep bid type. Check the current entity and applicable objective before supplying it."
        },
        "deep_cpabid": {
          "type": "number",
          "description": "Native TikTok deep cpabid. Check the current entity and applicable objective before supplying it."
        },
        "deep_funnel_event_source": {
          "type": "string",
          "description": "Native TikTok deep funnel event source. Check the current entity and applicable objective before supplying it."
        },
        "deep_funnel_event_source_id": {
          "type": "string",
          "description": "Native TikTok deep funnel event source id. Check the current entity and applicable objective before supplying it."
        },
        "deep_funnel_optimization_event": {
          "type": "string",
          "description": "Native TikTok deep funnel optimization event. Check the current entity and applicable objective before supplying it."
        },
        "deep_funnel_optimization_status": {
          "type": "string",
          "description": "Native TikTok deep funnel optimization status. Check the current entity and applicable objective before supplying it."
        },
        "engaged_view_attribution_window": {
          "type": "string",
          "description": "Native TikTok engaged view attribution window. Check the current entity and applicable objective before supplying it."
        },
        "identity_authorized_bc_id": {
          "type": "string",
          "description": "Native TikTok identity authorized bc id. Check the current entity and applicable objective before supplying it."
        },
        "identity_id": {
          "type": "string",
          "description": "Authorized identity ID accessible to this advertiser."
        },
        "identity_type": {
          "type": "string",
          "description": "TikTok identity type. Spark Ads require an authorized TikTok identity/post; CUSTOM eligibility varies."
        },
        "message_event_set_id": {
          "type": "string",
          "description": "Native TikTok message event set id. Check the current entity and applicable objective before supplying it."
        },
        "messaging_app_account_id": {
          "type": "string",
          "description": "Native TikTok messaging app account id. Check the current entity and applicable objective before supplying it."
        },
        "messaging_app_type": {
          "type": "string",
          "description": "Native TikTok messaging app type. Check the current entity and applicable objective before supplying it."
        },
        "min_budget": {
          "type": "number",
          "description": "Native TikTok min budget. Check the current entity and applicable objective before supplying it."
        },
        "movie_premiere_date": {
          "type": "string",
          "description": "Native TikTok movie premiere date. Check the current entity and applicable objective before supplying it."
        },
        "open_api_partner": {
          "type": "string",
          "description": "Native TikTok open api partner. Check the current entity and applicable objective before supplying it."
        },
        "optimization_event": {
          "type": "string",
          "description": "Native TikTok optimization event. Check the current entity and applicable objective before supplying it."
        },
        "optimization_goal": {
          "type": "string",
          "description": "Native optimization goal, e.g. CLICK, CONVERT, REACH or ENGAGED_VIEW. Must match the campaign objective and billing_event."
        },
        "phone_info": {
          "type": "object",
          "properties": {
            "phone_number": {
              "type": "string",
              "description": "Native TikTok phone number. Check the current entity and applicable objective before supplying it."
            },
            "phone_region_calling_code": {
              "type": "string",
              "description": "Native TikTok phone region calling code. Check the current entity and applicable objective before supplying it."
            },
            "phone_region_code": {
              "type": "string",
              "description": "Native TikTok phone region code. Check the current entity and applicable objective before supplying it."
            }
          },
          "additionalProperties": false,
          "description": "Native TikTok phone info. Check the current entity and applicable objective before supplying it."
        },
        "pixel_id": {
          "type": "string",
          "description": "Native TikTok pixel id. Check the current entity and applicable objective before supplying it."
        },
        "placement_type": {
          "type": "string",
          "description": "Native TikTok placement type. Check the current entity and applicable objective before supplying it."
        },
        "placements": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "maxItems": 100,
          "description": "Native TikTok placements. Check the current entity and applicable objective before supplying it."
        },
        "product_source": {
          "type": "string",
          "description": "Native TikTok product source. Check the current entity and applicable objective before supplying it."
        },
        "promotion_target_type": {
          "type": "string",
          "description": "Native TikTok promotion target type. Check the current entity and applicable objective before supplying it."
        },
        "promotion_type": {
          "type": "string",
          "description": "Native TikTok promotion type. Check the current entity and applicable objective before supplying it."
        },
        "promotion_website_type": {
          "type": "string",
          "description": "Native TikTok promotion website type. Check the current entity and applicable objective before supplying it."
        },
        "request_id": {
          "type": "string",
          "pattern": "^[1-9][0-9]{0,18}$",
          "description": "Stable positive 64-bit integer written as a decimal string, not a UUID. Preserve it when reconciling the same operation."
        },
        "roas_bid": {
          "type": "number",
          "description": "Native TikTok roas bid. Check the current entity and applicable objective before supplying it."
        },
        "schedule_end_time": {
          "type": "string",
          "description": "Delivery end: ISO 8601 with offset or native UTC; must follow start."
        },
        "schedule_start_time": {
          "type": "string",
          "description": "Delivery start: ISO 8601 with offset, or native YYYY-MM-DD HH:MM:SS explicitly in UTC. Converted to UTC for TikTok."
        },
        "schedule_type": {
          "type": "string",
          "description": "SCHEDULE_START_END requires both dates. SCHEDULE_FROM_NOW requires a start."
        },
        "share_disabled": {
          "type": "boolean",
          "description": "Native TikTok share disabled. Check the current entity and applicable objective before supplying it."
        },
        "suggestion_audience_enabled": {
          "type": "boolean",
          "description": "Native TikTok suggestion audience enabled. Check the current entity and applicable objective before supplying it."
        },
        "targeting_optimization_mode": {
          "type": "string",
          "description": "Native TikTok targeting optimization mode. Check the current entity and applicable objective before supplying it."
        },
        "targeting_spec": {
          "type": "object",
          "properties": {
            "actions": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "action_category_ids": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "maxItems": 100,
                    "description": "Native TikTok action category ids. Check the current entity and applicable objective before supplying it."
                  },
                  "action_period": {
                    "type": "number",
                    "description": "Native TikTok action period. Check the current entity and applicable objective before supplying it."
                  },
                  "action_scene": {
                    "type": "string",
                    "description": "Native TikTok action scene. Check the current entity and applicable objective before supplying it."
                  },
                  "video_user_actions": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "maxItems": 100,
                    "description": "Native TikTok video user actions. Check the current entity and applicable objective before supplying it."
                  }
                },
                "additionalProperties": false
              },
              "maxItems": 100,
              "description": "Native TikTok actions. Check the current entity and applicable objective before supplying it."
            },
            "age_groups": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "maxItems": 100,
              "description": "Native TikTok age groups. Check the current entity and applicable objective before supplying it."
            },
            "audience_ids": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "maxItems": 100,
              "description": "Native TikTok audience ids. Check the current entity and applicable objective before supplying it."
            },
            "blocked_pangle_app_ids": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "maxItems": 100,
              "description": "Native TikTok blocked pangle app ids. Check the current entity and applicable objective before supplying it."
            },
            "carrier_ids": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "maxItems": 100,
              "description": "Native TikTok carrier ids. Check the current entity and applicable objective before supplying it."
            },
            "device_model_ids": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "maxItems": 100,
              "description": "Native TikTok device model ids. Check the current entity and applicable objective before supplying it."
            },
            "device_price_ranges": {
              "type": "array",
              "items": {
                "type": "number"
              },
              "maxItems": 100,
              "description": "Native TikTok device price ranges. Check the current entity and applicable objective before supplying it."
            },
            "excluded_audience_ids": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "maxItems": 100,
              "description": "Native TikTok excluded audience ids. Check the current entity and applicable objective before supplying it."
            },
            "excluded_pangle_audience_package_ids": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "maxItems": 100,
              "description": "Native TikTok excluded pangle audience package ids. Check the current entity and applicable objective before supplying it."
            },
            "gender": {
              "type": "string",
              "description": "Native TikTok gender. Check the current entity and applicable objective before supplying it."
            },
            "household_income": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "maxItems": 100,
              "description": "Native TikTok household income. Check the current entity and applicable objective before supplying it."
            },
            "included_pangle_audience_package_ids": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "maxItems": 100,
              "description": "Native TikTok included pangle audience package ids. Check the current entity and applicable objective before supplying it."
            },
            "interest_category_ids": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "maxItems": 100,
              "description": "Native TikTok interest category ids. Check the current entity and applicable objective before supplying it."
            },
            "interest_keyword_ids": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "maxItems": 100,
              "description": "Native TikTok interest keyword ids. Check the current entity and applicable objective before supplying it."
            },
            "isp_ids": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "maxItems": 100,
              "description": "Native TikTok isp ids. Check the current entity and applicable objective before supplying it."
            },
            "languages": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "maxItems": 100,
              "description": "Native TikTok languages. Check the current entity and applicable objective before supplying it."
            },
            "location_ids": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "maxItems": 100,
              "description": "Explicit geographic targeting IDs returned by TikTok targeting catalogs; do not invent country IDs."
            },
            "min_android_version": {
              "type": "string",
              "description": "Native TikTok min android version. Check the current entity and applicable objective before supplying it."
            },
            "min_ios_version": {
              "type": "string",
              "description": "Native TikTok min ios version. Check the current entity and applicable objective before supplying it."
            },
            "network_types": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "maxItems": 100,
              "description": "Native TikTok network types. Check the current entity and applicable objective before supplying it."
            },
            "operating_systems": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "maxItems": 100,
              "description": "Native TikTok operating systems. Check the current entity and applicable objective before supplying it."
            },
            "purchase_intention_keyword_ids": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "maxItems": 100,
              "description": "Native TikTok purchase intention keyword ids. Check the current entity and applicable objective before supplying it."
            },
            "saved_audience_id": {
              "type": "string",
              "description": "Native TikTok saved audience id. Check the current entity and applicable objective before supplying it."
            },
            "smart_audience_enabled": {
              "type": "boolean",
              "description": "Native TikTok smart audience enabled. Check the current entity and applicable objective before supplying it."
            },
            "smart_interest_behavior_enabled": {
              "type": "boolean",
              "description": "Native TikTok smart interest behavior enabled. Check the current entity and applicable objective before supplying it."
            },
            "spc_audience_age": {
              "type": "string",
              "description": "Native TikTok spc audience age. Check the current entity and applicable objective before supplying it."
            },
            "spending_power": {
              "type": "string",
              "description": "Native TikTok spending power. Check the current entity and applicable objective before supplying it."
            },
            "zipcode_ids": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "maxItems": 100,
              "description": "Native TikTok zipcode ids. Check the current entity and applicable objective before supplying it."
            }
          },
          "additionalProperties": false,
          "description": "Complete Smart+ targeting specification. Existing targeting must be read before edits; arrays replace supplied fields."
        },
        "vbo_window": {
          "type": "string",
          "description": "Native TikTok vbo window. Check the current entity and applicable objective before supplying it."
        },
        "video_download_disabled": {
          "type": "boolean",
          "description": "Native TikTok video download disabled. Check the current entity and applicable objective before supplying it."
        },
        "view_attribution_window": {
          "type": "string",
          "description": "Native TikTok view attribution window. Check the current entity and applicable objective before supplying it."
        },
        "zalo_id_type": {
          "type": "string",
          "description": "Native TikTok zalo id type. Check the current entity and applicable objective before supplying it."
        }
      },
      "required": [
        "adgroup_name",
        "billing_event",
        "campaign_id",
        "optimization_goal",
        "promotion_type",
        "request_id",
        "schedule_start_time",
        "schedule_type",
        "targeting_spec"
      ],
      "additionalProperties": false,
      "description": "Native TikTok settings. Use tiktok_get_write_context before edits. Advertiser and status fields are controlled separately. Read the schema rather than guessing parameters."
    },
    "currency": {
      "type": "string",
      "pattern": "^[A-Z]{3}$",
      "description": "Actual advertiser currency, required when configuration contains monetary amounts. Verified before any write."
    },
    "confirm": {
      "type": "boolean",
      "description": "Apply only when true. Default is a local preview without any TikTok call. Never retry an uncertain POST automatically."
    },
    "workspace_id": {
      "type": "string",
      "description": "Authorized workspace ID from list_accounts/list_workspaces. Use the user's chosen workspace; never guess between clients. Optional when a unique account identifies it."
    },
    "reason": {
      "type": "string",
      "maxLength": 500,
      "description": "Why, in the person's words or from the evidence (e.g. CPA twice the target for 7 days). Saved with the change in the shared client journal."
    }
  },
  "required": [
    "advertiserId",
    "configuration"
  ]
}
```

## Published example

No example input is published for this tool. Ask for the inputs required by its schema.

## Execute and retrieve

Inspect again before execution, explain the price and obtain the required authority. Use MCP run_tool or POST /v1/run with this tool ID, valid input and an idempotency key. Save the returned run ID and follow the actual state. If Agentik answers that the tool is temporarily unavailable, do not retry it blindly; use discovery to propose an alternative.

A partial or uncertain result can still have consumed provider resources. Consult [billing](/docs/billing.md), [idempotency](/docs/idempotency.md) and [asynchronous results](/docs/async.md).

[REST inspection](https://api.agentik.cc/v1/tools/tiktok-ads/create-smart-plus-adgroup) · [OpenAPI](/openapi.json) · [Connection guide](/connect.md)

---

[HTML page](/providers/tiktok-ads/create-smart-plus-adgroup) · [Agent index](/llms.txt)
