TikTok Ads tools
Campaign, ad group and ad management, video/image upload, audiences and performance reports.
Les noms et descriptions des outils sont générés directement depuis le code du serveur ; les descriptions sont le texte anglais d'origine vu par l'assistant.
Outils de lecture9 outils
list_tiktok_advertisers
Lecture1 créditsTikTok ad accounts (advertisers) reachable with the connected TikTok Ads token: id, name, currency, timezone, status. Read only; returns connected=false when no account is linked.
Cet outil ne prend aucun paramètre.
list_tiktok_campaigns
Lecture1 créditsTikTok campaigns of the connected ad account: campaign_id, name, objective_type, budget, budget_mode, operation_status. Use campaign_id values for the other tiktok tools.
| Paramètre | Type | Description |
|---|---|---|
campaign_idsFacultatif | array<string> | — |
statusFacultatif | string | primary status filter, e.g. STATUS_DELIVERY_OK, STATUS_DISABLE |
list_tiktok_ad_groups
Lecture1 créditsTikTok ad groups with budget, bid, optimisation goal, targeting (locations, ages, gender, languages, interests, audiences), placements, schedule and dayparting.
| Paramètre | Type | Description |
|---|---|---|
campaign_idsFacultatif | array<string> | — |
adgroup_idsFacultatif | array<string> | — |
list_tiktok_ads
Lecture1 créditsTikTok ads: ad_id, name, ad group, status, format, text, video_id, landing page, call to action.
| Paramètre | Type | Description |
|---|---|---|
campaign_idsFacultatif | array<string> | — |
adgroup_idsFacultatif | array<string> | — |
ad_idsFacultatif | array<string> | — |
tiktok_performance_report
Lecture2 créditsTikTok performance by campaign, ad group or ad for a date range: spend, impressions, clicks, CTR, CPM, CPC, conversions, cost per conversion, conversion rate, ROAS where available; optional daily breakdown and totals. Real data only; connected=false when no account.
| Paramètre | Type | Description |
|---|---|---|
levelFacultatif | campaign | ad_group | ad | — |
daysFacultatif | integer (1–365) | — |
start_dateFacultatif | string | — |
end_dateFacultatif | string | — |
dailyFacultatif | boolean | one row per day (stat_time_day) |
campaign_idsFacultatif | array<string> | — |
adgroup_idsFacultatif | array<string> | — |
ad_idsFacultatif | array<string> | — |
list_tiktok_audiences
Lecture1 créditsCustom and lookalike audiences of the TikTok ad account: audience_id, name, type, size (cover_num), validity. Use audience_ids in update_tiktok_ad_group to assign them.
Cet outil ne prend aucun paramètre.
list_tiktok_videos
Lecture1 créditsVideos in the TikTok ad account's asset library: video_id, file name, duration, size, preview and cover URLs. Use video_id in create_tiktok_ad or create_tiktok_whatsapp_campaign; add new videos from a public URL with upload_tiktok_video.
| Paramètre | Type | Description |
|---|---|---|
video_idsFacultatif | array<string> | — |
get_tiktok_video_cover
Lecture1 créditsSuggested cover frames for a TikTok library video (file/video/suggestcover): id, preview url (valid one hour), size. Upload the chosen url with upload_tiktok_image to use it as the ad cover (image_ids). Read only.
| Paramètre | Type | Description |
|---|---|---|
video_idObligatoire | string | — |
countFacultatif | integer (1–10) | — |
search_tiktok_targeting
Lecture1 créditsTurn targeting names into TikTok ids: interest (tool/interest_category → interest_category_ids), behavior (tool/action_category → actions[].action_category_ids), interest_keyword (tool/interest_keyword/recommend → interest_keyword_ids), location (tool/targeting/search → location_ids / zipcode_ids, cities and provinces), region (tool/region → targetable countries for the objective). Read only.
| Paramètre | Type | Description |
|---|---|---|
typeObligatoire | interest | behavior | interest_keyword | location | region | — |
queryObligatoire | string | name to look up, e.g. fashion, moda, Istanbul, Turkey |
languageFacultatif | string | names language for interest/behavior/interest_keyword, e.g. tr, en (default: conversation language) |
objective_typeFacultatif | string | for location/region: campaign objective, default TRAFFIC; LEAD_GENERATION for WhatsApp ads |
promotion_typeFacultatif | string | for location/region; default WEBSITE, or LEAD_GEN_CLICK_TO_SOCIAL_MEDIA_APP_MESSAGE with LEAD_GENERATION |
placementsFacultatif | array<string> | default PLACEMENT_TIKTOK |
region_codesFacultatif | array<string> | location: filter by country code, e.g. TR |
geo_typesFacultatif | array<string> | location: COUNTRY | PROVINCE | CITY | DISTRICT | DMA | ZIP_CODE |
limitFacultatif | integer (1–100) | — |
Outils d'écriture13 outils
upload_tiktok_video
Écriture2 créditsUpload a video to the TikTok ad account's asset library from a public URL (file/video/ad/upload, UPLOAD_BY_URL). Preview and approval first; the new video_id is returned in the action result.
| Paramètre | Type | Description |
|---|---|---|
video_urlObligatoire | string | public http(s) URL of an mp4/mov/mpeg/avi file (ideally under 10 MB for URL uploads) |
file_nameFacultatif | string | 1-100 chars, unique in the account; default: URL file name + timestamp |
auto_fixFacultatif | boolean | let TikTok detect and fix low resolution / wrong aspect ratio |
Outil d'écriture : l'appel produit d'abord un aperçu ; la modification n'atteint la plateforme qu'après votre validation.
upload_tiktok_image
Écriture2 créditsUpload an image (image ad or video cover) to the TikTok asset library from a public URL (file/image/ad/upload, UPLOAD_BY_URL). Preview and approval first; the image_id is returned in the action result.
| Paramètre | Type | Description |
|---|---|---|
image_urlObligatoire | string | public http(s) URL of a JPG/PNG (max 1440x2560 total pixels) |
file_nameFacultatif | string | 1-100 chars, unique in the account; default: URL file name + timestamp |
Outil d'écriture : l'appel produit d'abord un aperçu ; la modification n'atteint la plateforme qu'après votre validation.
create_tiktok_campaign
Écriture2 créditsCreate a TikTok campaign end to end (campaign + ad group, optionally the ad) as a paused draft. Writes a ledger draft and opens an approval item with a preview; sent to TikTok only after approval and only with a connected account.
| Paramètre | Type | Description |
|---|---|---|
nameObligatoire | string | — |
objective_typeObligatoire | TRAFFIC | WEB_CONVERSIONS | REACH | VIDEO_VIEWS | LEAD_GENERATION | APP_PROMOTION | PRODUCT_SALES | — |
daily_budgetFacultatif | number | account currency |
budget_modeFacultatif | BUDGET_MODE_DAY | BUDGET_MODE_TOTAL | BUDGET_MODE_INFINITE | — |
goalFacultatif | string | — |
pixel_idFacultatif | string | — |
audienceFacultatif | object | countries (ISO list), age_min, age_max, genders ([1]=male, [2]=female), tiktok_location_ids, tiktok_interest_ids |
ad_groupFacultatif | object | optional ad group overrides; defaults: automatic placement, from now, smooth pacing |
adFacultatif | object | optional ad; needs a library video_id |
Outil d'écriture : l'appel produit d'abord un aperçu ; la modification n'atteint la plateforme qu'après votre validation.
create_tiktok_ad_group
Écriture2 créditsCreate a TikTok ad group under a campaign with budget, bid, targeting, placements, schedule and dayparting. Preview and approval first; created paused unless operation_status=ENABLE.
| Paramètre | Type | Description |
|---|---|---|
campaign_idObligatoire | string | TikTok campaign_id |
nameObligatoire | string | — |
budgetObligatoire | number | daily budget, account currency |
budget_modeFacultatif | BUDGET_MODE_DAY | BUDGET_MODE_TOTAL | — |
placement_typeFacultatif | PLACEMENT_TYPE_AUTOMATIC | PLACEMENT_TYPE_NORMAL | — |
placementsFacultatif | array<string> | PLACEMENT_TIKTOK | PLACEMENT_PANGLE | PLACEMENT_GLOBAL_APP_BUNDLE |
promotion_typeFacultatif | string | WEBSITE | APP_ANDROID | APP_IOS | LEAD_GENERATION |
operation_statusFacultatif | ENABLE | DISABLE | — |
optimization_goalFacultatif | string | CLICK | CONVERT | REACH | VIDEO_VIEW | LEAD | ENGAGEMENT |
billing_eventFacultatif | string | CPC | CPM | OCPM | CPV |
bid_typeFacultatif | string | BID_TYPE_NO_BID | BID_TYPE_CUSTOM |
bid_priceFacultatif | number | — |
conversion_bid_priceFacultatif | number | — |
pacingFacultatif | PACING_MODE_SMOOTH | PACING_MODE_FAST | — |
location_idsFacultatif | array<string> | TikTok location ids (Turkey 298795, US 6252001, UK 2635167, DE 2921044) |
age_groupsFacultatif | array<string> | AGE_13_17 | AGE_18_24 | AGE_25_34 | AGE_35_44 | AGE_45_54 | AGE_55_100 |
genderFacultatif | GENDER_UNLIMITED | GENDER_MALE | GENDER_FEMALE | — |
languagesFacultatif | array<string> | language codes, e.g. tr, en |
interest_category_idsFacultatif | array<string> | — |
operating_systemsFacultatif | array<string> | ANDROID | IOS |
audience_idsFacultatif | array<string> | — |
excluded_audience_idsFacultatif | array<string> | — |
schedule_start_timeFacultatif | string | YYYY-MM-DD HH:MM:SS (UTC) |
schedule_end_timeFacultatif | string | YYYY-MM-DD HH:MM:SS (UTC); sets SCHEDULE_START_END |
daypartingFacultatif | string | 336 chars of 0/1: 7 days x 48 half-hours starting Monday 00:00 |
pixel_idFacultatif | string | — |
optimization_eventFacultatif | string | e.g. COMPLETE_PAYMENT, ON_WEB_CART, FORM |
comment_disabledFacultatif | boolean | — |
share_disabledFacultatif | boolean | — |
search_result_enabledFacultatif | boolean | — |
interest_keyword_idsFacultatif | array<string> | from search_tiktok_targeting(type=interest_keyword) |
actionsFacultatif | array<object> | behaviour targeting: [{action_scene: VIDEO_RELATED|CREATOR_RELATED|HASHTAG_RELATED, action_period: 0|7|15, video_user_actions: [...], action_category_ids: [ids from search_tiktok_targeting(type=behavior)]}] |
Outil d'écriture : l'appel produit d'abord un aperçu ; la modification n'atteint la plateforme qu'après votre validation.
create_tiktok_ad
Écriture2 créditsCreate a TikTok ad in an ad group from a library video (or Spark post). Preview and approval first.
| Paramètre | Type | Description |
|---|---|---|
adgroup_idObligatoire | string | — |
ad_nameFacultatif | string | — |
ad_textObligatoire | string | 1-100 chars |
video_idFacultatif | string | from list_tiktok_videos |
image_idsFacultatif | array<string> | cover image ids / image ad |
ad_formatFacultatif | SINGLE_VIDEO | SINGLE_IMAGE | CAROUSEL | — |
landing_page_urlFacultatif | string | — |
call_to_actionFacultatif | string | LEARN_MORE | SHOP_NOW | SIGN_UP | CONTACT_US | DOWNLOAD … |
identity_idFacultatif | string | — |
identity_typeFacultatif | string | CUSTOMIZED_USER | TT_USER | BC_AUTH_TT |
display_nameFacultatif | string | — |
tiktok_item_idFacultatif | string | Spark Ads post id |
deeplinkFacultatif | string | — |
Outil d'écriture : l'appel produit d'abord un aperçu ; la modification n'atteint la plateforme qu'après votre validation.
update_tiktok_campaign_budget
Écriture2 créditsChange the budget of one or more TikTok campaigns. Goes through preview and approval; the ledger is updated only when TikTok accepts.
| Paramètre | Type | Description |
|---|---|---|
campaign_idsObligatoire | array<string> | TikTok campaign ids (or one Tecrube campaign id) |
amountObligatoire | number | account currency |
Outil d'écriture : l'appel produit d'abord un aperçu ; la modification n'atteint la plateforme qu'après votre validation.
update_tiktok_campaign_status
Écriture2 créditsPause (DISABLE) or enable (ENABLE) TikTok campaigns. Preview and approval first.
| Paramètre | Type | Description |
|---|---|---|
campaign_idsObligatoire | array<string> | — |
operation_statusObligatoire | ENABLE | DISABLE | — |
Outil d'écriture : l'appel produit d'abord un aperçu ; la modification n'atteint la plateforme qu'après votre validation.
update_tiktok_ad_group
Écriture2 créditsUpdate one or many TikTok ad groups at once: budget, bid (bid_type/bid_price), targeting (locations, ages, gender, languages, interests, audiences), schedule and dayparting, comment/share settings. Placements and budget mode cannot change after creation (TikTok rule). Preview and approval first.
| Paramètre | Type | Description |
|---|---|---|
adgroup_idsObligatoire | array<string> | — |
adgroup_nameFacultatif | string | — |
budgetFacultatif | number | — |
optimization_goalFacultatif | string | CLICK | CONVERT | REACH | VIDEO_VIEW | LEAD | ENGAGEMENT |
billing_eventFacultatif | string | CPC | CPM | OCPM | CPV |
bid_typeFacultatif | string | BID_TYPE_NO_BID | BID_TYPE_CUSTOM |
bid_priceFacultatif | number | — |
conversion_bid_priceFacultatif | number | — |
pacingFacultatif | PACING_MODE_SMOOTH | PACING_MODE_FAST | — |
location_idsFacultatif | array<string> | TikTok location ids (Turkey 298795, US 6252001, UK 2635167, DE 2921044) |
age_groupsFacultatif | array<string> | AGE_13_17 | AGE_18_24 | AGE_25_34 | AGE_35_44 | AGE_45_54 | AGE_55_100 |
genderFacultatif | GENDER_UNLIMITED | GENDER_MALE | GENDER_FEMALE | — |
languagesFacultatif | array<string> | language codes, e.g. tr, en |
interest_category_idsFacultatif | array<string> | — |
operating_systemsFacultatif | array<string> | ANDROID | IOS |
audience_idsFacultatif | array<string> | — |
excluded_audience_idsFacultatif | array<string> | — |
schedule_start_timeFacultatif | string | YYYY-MM-DD HH:MM:SS (UTC) |
schedule_end_timeFacultatif | string | YYYY-MM-DD HH:MM:SS (UTC); sets SCHEDULE_START_END |
daypartingFacultatif | string | 336 chars of 0/1: 7 days x 48 half-hours starting Monday 00:00 |
pixel_idFacultatif | string | — |
optimization_eventFacultatif | string | e.g. COMPLETE_PAYMENT, ON_WEB_CART, FORM |
comment_disabledFacultatif | boolean | — |
share_disabledFacultatif | boolean | — |
search_result_enabledFacultatif | boolean | — |
interest_keyword_idsFacultatif | array<string> | from search_tiktok_targeting(type=interest_keyword) |
actionsFacultatif | array<object> | behaviour targeting: [{action_scene: VIDEO_RELATED|CREATOR_RELATED|HASHTAG_RELATED, action_period: 0|7|15, video_user_actions: [...], action_category_ids: [ids from search_tiktok_targeting(type=behavior)]}] |
changesFacultatif | object | any adgroup/update fields as a map |
Outil d'écriture : l'appel produit d'abord un aperçu ; la modification n'atteint la plateforme qu'après votre validation.
update_tiktok_ad_group_status
Écriture2 créditsPause or enable TikTok ad groups (e.g. the ones whose CPA is above target). Preview and approval first.
| Paramètre | Type | Description |
|---|---|---|
adgroup_idsObligatoire | array<string> | — |
operation_statusObligatoire | ENABLE | DISABLE | — |
reasonFacultatif | string | — |
Outil d'écriture : l'appel produit d'abord un aperçu ; la modification n'atteint la plateforme qu'après votre validation.
update_tiktok_ad_status
Écriture2 créditsPause or enable TikTok ads (e.g. a fatigued creative). Preview and approval first.
| Paramètre | Type | Description |
|---|---|---|
ad_idsObligatoire | array<string> | — |
operation_statusObligatoire | ENABLE | DISABLE | — |
reasonFacultatif | string | — |
Outil d'écriture : l'appel produit d'abord un aperçu ; la modification n'atteint la plateforme qu'après votre validation.
create_tiktok_custom_audience
Écriture2 créditsCreate a rule-based TikTok custom audience from pixel, app or engagement events (e.g. added to cart in the last 30 days but did not purchase). Preview and approval first; the audience needs hours to populate.
| Paramètre | Type | Description |
|---|---|---|
nameObligatoire | string | — |
audience_typeFacultatif | PIXEL | APP | ENGAGEMENT | ENGAGEMENT_ORGANIC_VIDEO | BUSINESS_ACCOUNT | LEAD_GENERATION | TIKTOK_SHOP | — |
retention_daysFacultatif | integer (1–365) | — |
eventFacultatif | string | pixel/app event to include, e.g. AddToCart, CompletePayment, ViewContent |
exclude_eventFacultatif | string | event to exclude, e.g. CompletePayment for cart abandoners |
pixel_idFacultatif | string | — |
event_source_idsFacultatif | array<string> | pixel ids / app ids / ad group ids depending on audience_type |
Outil d'écriture : l'appel produit d'abord un aperçu ; la modification n'atteint la plateforme qu'après votre validation.
create_tiktok_lookalike_audience
Écriture2 créditsCreate a TikTok lookalike audience from a custom audience (TikTok sizes: NARROW ≈ closest, BALANCED, BROAD). Preview and approval first.
| Paramètre | Type | Description |
|---|---|---|
nameObligatoire | string | — |
source_audience_idObligatoire | string | — |
audience_sizeFacultatif | NARROW | BALANCED | BROAD | — |
include_sourceFacultatif | boolean | — |
location_idsFacultatif | array<string> | — |
placementsFacultatif | array<string> | — |
Outil d'écriture : l'appel produit d'abord un aperçu ; la modification n'atteint la plateforme qu'après votre validation.
create_tiktok_whatsapp_campaign
Écriture2 créditsCreate a TikTok ad that opens a WhatsApp chat (click-to-WhatsApp): LEAD_GENERATION campaign, ad group with optimisation location Instant Messaging App (WhatsApp) on TikTok placement, and a video ad whose cover is taken from the video automatically. chat_link builds the wa.me link from the phone number; website URLs are refused. Everything is created paused; preview and approval first.
| Paramètre | Type | Description |
|---|---|---|
nameObligatoire | string | — |
phone_numberObligatoire | string | WhatsApp business number with country code, e.g. +90 532 000 00 00 (national format starting with 0 is rejected) |
daily_budgetObligatoire | number | ad group daily budget, account currency (TikTok minimum ≈ USD 20 equivalent) |
video_idObligatoire | string | library video (list_tiktok_videos / upload_tiktok_video) |
ad_textObligatoire | string | 1-100 chars |
connection_methodFacultatif | chat_link | native | chat_link: wa.me link built from the number (CLICK only, no extra setup); native: number connected to TikTok's message management tool (CLICK or allowlisted CONVERSATION) |
prefilled_messageFacultatif | string | chat_link only: text pre-filled in WhatsApp; must name the offer or service in the ad, generic greetings are rejected |
optimization_goalFacultatif | CLICK | CONVERSATION | — |
phone_region_codeFacultatif | string | native only, when the calling code is shared (e.g. US for +1) |
message_event_set_idFacultatif | string | native + CONVERSATION only, when the number matches no event set |
image_idsFacultatif | array<string> | cover image id; omitted = the video's own cover is fetched and uploaded automatically |
call_to_actionFacultatif | string | default SEND_MESSAGE (CALL_NOW not allowed) |
ad_nameFacultatif | string | — |
identity_idFacultatif | string | — |
identity_typeFacultatif | string | CUSTOMIZED_USER | TT_USER | BC_AUTH_TT |
display_nameFacultatif | string | — |
goalFacultatif | string | — |
audienceFacultatif | object | countries (ISO list), age_min (18+), age_max, genders ([1]=male, [2]=female), tiktok_location_ids, tiktok_interest_ids |
ad_groupFacultatif | object | optional ad group targeting/schedule overrides; placements, promotion type and search results are fixed for messaging ads |
landing_page_urlFacultatif | string | NOT accepted: a messaging ad group has no website destination; give phone_number instead |
Outil d'écriture : l'appel produit d'abord un aperçu ; la modification n'atteint la plateforme qu'après votre validation.