Docs menu
Get started
What is Opus GrowthQuickstartAdd to your AIHow it worksSafety and approvalCreditsPlansFAQAI apps
All AI appsChatGPTClaudeGrokPerplexityClaude CodeCodexGemini CLIOpenClawCursorVS CodeWindsurfOther MCPConnect ad platforms
Google AdsMeta AdsLinkedIn AdsMicrosoft AdvertisingTikTok AdsChatGPT AdsAgencies and MCCConnect data sources
Search ConsoleGoogle AnalyticsYouTubeBusiness ProfileTag ManagerWebsites and SEO
AI ServerWordPressSEO IntelligenceClick fraudTool reference
All toolsGoogle AdsMeta AdsTikTok AdsLinkedIn AdsMicrosoft AdvertisingChatGPT AdsSearch ConsoleGoogle AnalyticsYouTubeBusiness ProfileTag ManagerWordPressAI ServerSEO IntelligenceClick fraudCross-channelAccount and billingLanguage
Create TikTok Ad
Creates a TikTok ad (within an ad group).
- Type
- Makes changes
- Credits
- 8
- Platform
- TikTok Ads
- Approval
- Preview first, applied after you approve
What it does
Creates a TikTok ad (within an ad group). identity_id is REQUIRED (from list_tiktok_identities). Exactly ONE creative source is required: - tiktok_item_id — an ORGANIC TikTok post promoted as-is (Spark ad; get it from list_tiktok_posts, or reuse the one a running ad uses via list_tiktok_ads). The post supplies the video, caption and display name, so ad_text/display_name are not used on this path, and the identity must be the TikTok account that owns the post: TT_USER or BC_AUTH_TT (a business account authorised to the Business Center). The identity given is kept as-is; it is never swapped for another account. video_id: an uploaded video (list_tiktok_videos / upload_tiktok_video), with ad_text + landing_page_url. TikTok requires a cover image on a video ad: pass image_ids, or leave it empty and the video's own cover frame is uploaded and used automatically.
WHATSAPP (click-to-WhatsApp, "Instant messaging apps" destination; see create_tiktok_adgroup): in an ad group with messaging_app_type=IM_URL, whatsapp_number (with country code) and optional whatsapp_message (text pre-filled in the user's chat) make the ad's link https://wa.me/<number>?text=..., so tapping the ad opens WhatsApp directly with no website in between; a raw chat link in landing_page_url works too, and a website link is refused there. In ad groups with messaging_app_type WHATSAPP / MESSENGER / LINE / ZALO TikTok fills the destination from the ad group itself, so no link is sent on the ad (TikTok's rule). TikTok RETIRED custom (brand-name) identities: an ad now has to run under the account's own TikTok identity. For a BC_AUTH_TT identity TikTok also demands the Business Center id; it is resolved automatically when the account has exactly one Business Center, and identity_bc_id only has to be given when there are several. - image_ids — comma-separated uploaded images. identity_type: TT_USER (a real TikTok account), BC_AUTH_TT (a TikTok account authorised to the Business Center) or CUSTOMIZED_USER (name+avatar only, retired by TikTok); leave empty and the identity's own type is used. call_to_action: LEARN_MORE|SHOP_NOW|SIGN_UP|CONTACT_US|BOOK_NOW|... — use SEND_MESSAGE on Direct Message (messaging) ad groups. Starts DISABLE (paused). confirm=false is a preview, confirm=true applies.
landing_page_url is ignored for Direct Message (messaging) ad groups — there the destination is the chat itself.
auto_message_id: REQUIRED by TikTok for Direct Message (messaging) ad groups — the welcome-chat template the conversation starts with (list_tiktok_auto_messages / create_tiktok_auto_message). Leave empty and it is filled in automatically when the account has exactly one approved template.
ai_generated: TikTok has REQUIRED an AI-generated content disclosure since 21 July 2026; an undisclosed ad with AI-made visuals, voice or avatars is rejected. "auto" (default) turns the disclosure on when the uploaded video or image is recorded as AI-made. Pass "yes" when the creative was made with an AI tool, "no" only for real camera footage and photos.
automation: AUTO (default) reads the parent campaign and uses the matching endpoint — a Smart+ campaign refuses classic ad creation, so this is what lets an ad exist there at all; MANUAL or SMART_PLUS force one path. A Smart+ ad is MODULAR: the text, the call to action and the landing page are supplied as separate ingredients and TikTok assembles and tests the combinations itself. One difference to plan for: a Smart+ VIDEO ad also needs a cover image, so pass image_ids alongside video_id (the first image is used as the cover).
MCP: create_tiktok_ad
How to use it
You don't call tools by name. Write what you want in ChatGPT, Claude or another assistant connected to Opus Growth, in your own words; it picks this tool when it fits.
Parameters
| Name | Type | Required | Default | |
|---|---|---|---|---|
| advertiser_id | string | Required | · | TikTok advertiser account ID to query or change. Use the exact ID returned by list_tiktok_advertisers or list_tiktok_bc_advertisers. |
| adgroup_id | string | Required | · | Exact adgroup identifier to target. Use the ID returned by an Opus Growth list or create operation, not a display name. |
| name | string | Required | · | Human-readable name for the resource being created or updated. |
| identity_id | string | Required | · | Exact identity identifier to target. Use the ID returned by an Opus Growth list or create operation, not a display name. |
| ad_text | string | Optional | · | Exact ad text value for create tiktok ad. Supply text in the provider's required format; when it selects an existing resource, use the exact identifier returned by the relevant list or search operation. |
| landing_page_url | string | Optional | · | Landing-page URL users should reach after clicking the ad. |
| video_id | string | Optional | · | Exact video identifier to target. Use the ID returned by an Opus Growth list or create operation, not a display name. |
| image_ids | string | Optional | · | One or more exact image identifiers to target. Use identifiers returned by an Opus Growth list or create operation, not display names. |
| call_to_action | string | Optional | LEARN_MORE | Call-to-action value accepted by the provider for the selected ad or creative. |
| display_name | string | Optional | · | Public-facing display name to show for the selected identity, user, or creative. |
| auto_message_id | string | Optional | · | Exact auto message identifier to target. Use the ID returned by an Opus Growth list or create operation, not a display name. |
| tiktok_item_id | string | Optional | · | Exact tiktok item identifier to target. Use the ID returned by an Opus Growth list or create operation, not a display name. |
| identity_type | string | Optional | · | Provider-specific identity type accepted by this operation. Use a supported value from the tool documentation or returned provider data. |
| identity_bc_id | string | Optional | · | Exact identity bc identifier to target. Use the ID returned by an Opus Growth list or create operation, not a display name. |
| whatsapp_number | string | Optional | · | Exact whatsapp number value for create tiktok ad. Supply text in the provider's required format; when it selects an existing resource, use the exact identifier returned by the relevant list or search operation. |
| whatsapp_message | string | Optional | · | Exact whatsapp message value for create tiktok ad. Supply text in the provider's required format; when it selects an existing resource, use the exact identifier returned by the relevant list or search operation. |
| automation | string | Optional | AUTO | AUTO · MANUAL · SMART_PLUS · Automation setting or mode accepted by the provider for the selected campaign or ad group. |
| ai_generated | string | Optional | auto | auto · yes · no · Exact ai generated value for create tiktok ad. Supply text in the provider's required format; when it selects an existing resource, use the exact identifier returned by the relevant list or search operation; matching the schema pattern. |
| confirm | boolean | Optional | false | Safety confirmation for a state-changing operation. Leave false to preview or validate; set true only after the user explicitly approves the shown change. |
Related tools
connect_tiktok_adsCreate TikTok Ad Groupcreate_tiktok_adgroupCreate TikTok Welcome-Chat Templatecreate_tiktok_auto_messageCreate TikTok Campaigncreate_tiktok_campaignCreate TikTok Customer-List Audiencecreate_tiktok_customer_file_audienceCreate TikTok Ad Identitycreate_tiktok_identityCreate TikTok Lookalike Audiencecreate_tiktok_lookalike_audienceCreate TikTok Pixelcreate_tiktok_pixelDownload TikTok Leadsdownload_tiktok_leads