VI | EN
Message us on Messenger
Developer resources

Get Upgraded Smart+ Ad Groups — TikTok Business API

Get Upgraded Smart+ Ad Groups · call it through Quantri360 with one API key for your own accounts / assets that you connected and authorized — 360 handles request signing and refreshing the authorization you granted.

Get Upgraded Smart+ Ad Groups

GET/smart_plus/adgroup/get/Via 360: GET https://partner.quantri360.com/v1/tiktok_business/smart_plus/adgroup/get/
Description

Use this endpoint to retrieve Upgraded Smart+ Ad Groups within an ad account.

Request

Endpoint

GET https://partner.quantri360.com/v1/tiktok_business/smart_plus/adgroup/get/

Authentication & shop

NameInTypeSampleDescription
AuthorizationheaderheaderBearer q360_live_ab12cd34_…Khóa API của brand (tạo ở mục API key). Bắt buộc với mọi request. Brand suy từ key — không truyền mã brand.
platform_shop_idquerystring7000000000000000001Tài sản TikTok Business đã kết nối — "Mã tài sản" ở trang Nền tảng hoặc GET /v1/platforms (tài khoản quảng cáo cho Marketing API, tài khoản TikTok cho Organic / Messaging). Có thể bỏ khi chỉ kết nối một tài sản.

Request parameters

NameInTypeRequiredSampleDescription
fieldsquerystring[]NoFields that you want to get. When this field is not specified, all fields are returned by default. For allowed fields, see the fields under list in the Response section.
include_effective_statusquerybooleanNoWhether to include the parameter effective_status in the response. Supported values: true, false. Default value: false.
filteringqueryobjectNoFiltering conditions. Example: filtering={"objective_type":"APP_PROMOTION"}
pagequerynumberNoCurrent page number. Default value: 1. Value range: ≥ 1.
page_sizequerynumberNoPage size. Default value: 10. Value range: 1-1,000.

Request examples

curl -s "https://partner.quantri360.com/v1/tiktok_business/smart_plus/adgroup/get/" \
  -H "Authorization: Bearer $KEY"
Python
import requests

KEY = "q360_live_..."  # khóa API của brand
r = requests.get(
    "https://partner.quantri360.com/v1/tiktok_business/smart_plus/adgroup/get/",
    params={},
    headers={"Authorization": f"Bearer {KEY}"},
    timeout=60,
)
print(r.status_code)
print(r.json())
Node.js
const KEY = 'q360_live_...'; // khóa API của brand
const url = new URL('https://partner.quantri360.com/v1/tiktok_business/smart_plus/adgroup/get/');
for (const [k, v] of Object.entries({})) url.searchParams.set(k, typeof v === 'object' ? JSON.stringify(v) : String(v));
const r = await fetch(url, {
  method: 'GET',
  headers: { Authorization: `Bearer ${KEY}` },
});
console.log(r.status, await r.json());
PHP
<?php
$key = 'q360_live_...'; // khóa API của brand
$url = 'https://partner.quantri360.com/v1/tiktok_business/smart_plus/adgroup/get/' . '?' . http_build_query([]);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer ' . $key]);
$res = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
echo $status, "\n", $res;

Response

Response fields (as returned by TikTok Business)

NameTypeSampleDescription
codenumberResponse code. For the complete list of response codes and descriptions, see Appendix-Return Code.
messagestringResponse message. For details, see Appendix - Return Codes.
request_idstringThe log ID of a request, which uniquely identifies the request.
dataobjectReturned data.
listobject[]A list of Upgraded Smart+ ad groups within an ad account.
advertiser_idstringAdvertiser ID.
campaign_idstringCampaign ID.
campaign_namestringThe name of the campaign that the ad group belongs to.
adgroup_idstringAd group ID.
adgroup_namestringAd group name.
operation_statusstringOperation status. Enum values: - `ENABLE` : The ad group is enabled (in 'ON' status). - `DISABLE`: The ad group is disabled (in 'OFF' status).
effective_statusstringReturned only when `effective_status` is `true` in the request. The status of the ad group. Enum values: - `UNDER_REVIEW`: Under review. - `NOT_DELIVERED`: Not delivered. - `SCHEDULED`: Scheduled. - `PARTIAL_DELIVERY`: Partial delivery. - `ACTIVE`: Active. - `ENDED`: Ended. - `PAUSED`: Paused. - `DELETED`: Deleted.
secondary_statusstringAd group secondary status. For enum values, see Enumeration- Ad group Status - Secondary Status.
catalog_idstringReturned when `catalog_enabled` is `true` at the campaign level. The ID of the catalog used in the ad group.
catalog_authorized_bc_idstringReturned when `catalog_enabled` is `true` at the campaign level. The ID of the Business Center that the catalog (`catalog_id`) belongs to.
product_sourcestringProduct source where you want to get products for promotion. Enum value: `CATALOG` (catalog).
promotion_typestringPromotion type (Optimization location). You can decide where you'd like to promote your products using this field. Currently, we support `APP_ANDROID`, `APP_IOS`, `WEBSITE`, `MINI_GAME`, `NATIVE_SERIES`, `LEAD_GENERATION`, and `LEAD_GENERATION_MULTI_DESTINATION`. - When `objective_type` is `APP_PROMOTION` and `app_promotion_type` is `APP_INSTAL`, this field will be `APP_ANDROID` or `APP_IOS`. - When `objective_type` is `APP_PROMOTION` and `app_promotion_type` is `MINIS`, this field will be `MINI_APP`, `MINI_GAME`, or `NATIVE_SERIES`. - When `objective_type` is `WEB_CONVERSIONS`: - If `sales_destination` is `WEBSITE`, this field will be `WEBSITE`. - If `sales_destination` is `APP`, this field will be `APP_ANDROID` or `APP_IOS`. - When `objective_type` is `LEAD_GENERATION`, this field will be any of the following values: - `LEAD_GENERATION` - `LEAD_GEN_CLICK_TO_TT_DIRECT_MESSAGE` - `LEAD_GEN_CLICK_TO_SOCIAL_MEDIA_APP_MESSAGE` - `LEAD_GEN_CLICK_TO_CALL` - `LEAD_GENERATION_MULTI_DESTINATION`
optimization_locationsobject[]Returned when `promotion_type` is `LEAD_GENERATION_MULTI_DESTINATION`. A list of optimization locations for the Lead Generation ad group. To learn about the ad type where this field can be used, see Create an Upgraded Smart+ Lead Generation Campaign with multiple location selection.
promotion_typestringPromotion type (Optimization location). You can decide where you want audiences to convert or complete an action. Enum values: `LEAD_GENRATION`, `LEAD_GEN_CLICK_TO_TT_DIRECT_MESSAGE`.
promotion_target_typestringThe optimization location for Lead Generation objective. Enum values: - `INSTANT_PAGE`: Instant Form. To create a fast-loading in-app TikTok Instant Form to collect more leads. - `EXTERNAL_WEBSITE`: Website Form. To use a landing page that has the Website Form or the TikTok Instant Page that redirects to the website with the Website Form to collect more leads.
optimization_eventstringOptimization event. Enum values: - `ON_WEB_REGISTER`: Complete registration. - `CONSULT`: Contact. - `FORM`: Submit form. - `ON_WEB_SUBSCRIBE`: Subscribe.
promotion_website_typestringTikTok Instant Page type. Currently, we only support `TIKTOK_NATIVE_PAGE`(To use TikTok Instant Page).
promotion_target_typestringThe optimization location for Lead Generation objective. Enum values: - `INSTANT_PAGE`: Instant Form. To create a fast-loading in-app TikTok Instant Form to collect more leads. - `EXTERNAL_WEBSITE`: Website Form. To use a landing page that has the Website Form or the TikTok Instant Page that redirects to the website with the Website Form to collect more leads.
optimization_goalstringThe measurable results that you'd like to drive your ads with. For enum values, see Enumeration - Optimization Goal.
app_idstringThe App ID of the app to promote. To get a list of App IDs, use /app/list/.
gaming_ad_compliance_agreementstringReturned only in any of the following scenarios: - Scenario 1: When the following conditions are both met at the campaign level: - `objective_type` is `APP_PROMOTION`. - `app_promotion_type` is `APP_RETARGETING`. - Scenario 2: When the following conditions are all met at the campaign level: - `objective_type` is `APP_PROMOTION`. - `app_promotion_type` is `APP_INSTALL`. - `campaign_type` is `REGULAR_CAMPAIGN`. Whether to agree to the Compliance Assurance Policy for Gaming Advertisers on TikTok. The policy is as follows: Yo confirms and attest that any gaming application, product or service (game) you desire to advertise on TikTok, including any associated URL(s), (a) complies with all applicable laws and regulations of the jurisdictions where the game can be accessed or played, and upon request, can provide supporting documentation as evidence of why the game is not considered illegal gambling or lottery; and (b) has not been and is not part of any investigation or lawsuit regarding the game's legality or regulatory compliance. Enum values: - `ON`: To agree to the policy. - `OFF`: To leave the policy not accepted.
pixel_idstringPixel ID.
app_configobject[]Returned when `sales_destination` is `WEB_AND_APP`. Details of the app or apps to promote.
app_idstringThe App ID of the app to promote.
minis_idstringReturned when `promotion_type` is `MINI_APP` or `MINI_GAME`. The ID of the TikTok Mini.
optimization_eventstringConversion event for the ad group. See Conversion events for more. Note: If you enable Value-Based Optimization during ad group creation by setting your `optimization_event` to either `IMPRESSION_LEVEL_AD_REVENUE` or `AD_REVENUE_VALUE`(note that both enums are equivalent and have the exact same effect), you will always receive `IMPRESSION_LEVEL_AD_REVENUE` as the `optimization_event` in the response.
custom_conversion_idstringThe ID of the Custom Conversion used in the ad group.
deep_funnel_optimization_statusstringWith deep funnel optimization, you can select a secondary event alongside the primary optimization event, which can help improve campaign effectiveness. Enum values: - `ON`: enabled. - `OFF`: disabled.
deep_funnel_event_sourcestringReturned when `deep_funnel_optimization_status` is `ON`. The event source type. Enum values: - `PIXEL`: Pixel. - `OFFLINE`: Offline Event Set. - `CRM`: CRM Event Set.
deep_funnel_event_source_idstringReturned when `deep_funnel_optimization_status` is `ON`. Event Source ID. - When `deep_funnel_event_source` is `PIXEL` , this field represents a Pixel ID. - When `deep_funnel_event_source` is `OFFLINE`, this field represents an Offline Event Set ID. - When `deep_funnel_event_source` is `CRM`, this field represents a CRM Event Set ID.
deep_funnel_optimization_eventstringReturned when `deep_funnel_optimization_status` is `ON`. Deep funnel optimization event. Example: `SHOPPING`.
app_attribution_sourcestringAttribution source for your app. The attribution source you choose will be used for optimization, bidding, and reporting. Enum values: - `MMP`: MMP (mobile measurement partner) attribution. Signals from your selected MMP will be used for attribution. - `SAN`: SAN (self-attribution network) attribution. Signals from TikTok SAN will be used for attribution.
app_data_sourcestringData source for your app. The attribution signals you select will be used for reporting. Enum values: - `MMP`: MMP signals. Signals from your MMP will be used for reporting. - `EVENT_SDK`: App Events SDK signals. Signals from TikTok App Events SDK will be used for reporting. - `EVENT_API`: Events API signals. Signals from TikTok Events API will be used for reporting.
identity_idstringReturned only in any of the following scenarios: - Scenario 1: When `promotion_type` is `NATIVE_SERIES`. - Scenario 2: When `promotion_type` is `LEAD_GEN_CLICK_TO_TT_DIRECT_MESSAGE` and your ad account is allowlisted for selecting a TikTok account at the ad group level in TikTok Direct Messaging Ads. Identity ID.
identity_typestringReturned only in any of the following scenarios: - Scenario 1: When `promotion_type` is `NATIVE_SERIES`. - Scenario 2: When `promotion_type` is `LEAD_GEN_CLICK_TO_TT_DIRECT_MESSAGE` and your ad account is allowlisted for selecting a TikTok account at the ad group level in TikTok Direct Messaging Ads. Identity type. Enum values: - `TT_USER` : TikTok Business Account User. - `BC_AUTH_TT`: The TikTok account that a Business Center is authorized to access. See Identities for details.
identity_authorized_bc_idstringReturned when `identity_type` is `BC_AUTH_TT`. ID of the Business Center that a TikTok Account User in Business Center identity is associated with.
native_series_idstringThe ID of a TikTok Series. Series offers exclusive and premium video packages produced by creators. Access to Series is available to purchase through the creator's profile and links attached to TikTok videos.
messaging_app_typestringThe type of instant messaging app or customized URL to use in the Instant Messaging Ad Group. Enum values: - `MESSENGER`: Messenger. - `WHATSAPP`: WhatsApp. - `ZALO`: Zalo. - `LINE`: Line. - `IM_URL`: Instant Messaging URL. To learn more about how to create Upgraded Smart+ TikTok Instant Messaging Ads, see Create an Upgraded Smart+ Lead Generation Campaign with optimization location as instant messaging apps.
zalo_id_typestringThe type of Zalo contact format. Enum values: - `ZALO_OFFICIAL_ACCOUNT`: Zalo Official Account ID. - `ZALO_PHONE_ACCOUNT`: Zalo phone number.
messaging_app_account_idstringThe ID of the instant messaging app account. - When `messaging_app_type` is `MESSENGER`, this field represents the Facebook Page ID. - When `messaging_app_type` is `LINE`, this field represents the LINE Business ID. - When `zalo_id_type` is `ZALO_OFFICIAL_ACCOUNT`, this field represents the Zalo Official Account ID. - When `messaging_app_type` is `WHATSAPP` or when `zalo_id_type` is `ZALO_PHONE_ACCOUNT`, this field represents the WhatsApp or Zalo phone number automatically populated based on the specified `phone_info`.
message_event_set_idstringThe ID of the message event set to be used in the Instant Messaging Ad Group. If the instant messaging app account, either the Messenger account or Zalo Official Account specified via `messaging_app_account_id` or the WhatsApp or Zalo phone account matched from the specified `phone_info`, in your ad group settings matches an existing event set, this field will be automatically populated with the unique message event set associated with the instant messaging app account you choose.
phone_infoobjectDetails of WhatsApp or Zalo phone number.
phone_region_codestringThe region code for WhatsApp or Zalo phone number. Example: `US`.
phone_region_calling_codestringThe region calling code for the WhatsApp or Zalo phone number. Example: `+1`.
phone_numberstringThe WhatsApp or Zalo phone number.
bid_typestringBidding strategy. For enum values and their descriptions, see Enumeration - Bidding Strategy.
bid_pricefloatThe target cost per click. The system will aim to get the most results while keeping the average cost per result around or lower than the specified amount.
conversion_bid_pricefloatThe target cost per conversion or cost per landing page view. The system will aim to get the most results while keeping the average cost per result around or lower than the specified amount.
deep_bid_typestringBidding strategy for in-app events. For enum values and their descriptions, see Enumeration - Deep Event Bidding Strategy.
roas_bidfloatTarget ROAS for Value-Based Optimization.
value_rule_set_idstringID of the value rule set associated with the ad group.
incentive_offer_typestringThe type of incentive offer applicable to the Upgraded Smart+ Ad Group. If your ad group meets the eligibility criteria and exceeds certain CPA or Minimum ROAS/Target ROAS thresholds, you will be incentivized with ad credits to use within the same ad account. To learn more about the incentive offer eligibility criteria and the calculation of incentive amount, see Smart+ Platform Incentive Offer (Cost Cap/Minimum ROAS/Target ROAS). Enum values: - `INELIGIBLE`: The ad group is ineligible for any incentive offer. - `COST_CAP_AND_MIN_ROAS`: The ad group uses the Cost Cap or Minimum ROAS/Target ROAS bidding strategy and is eligible for the incentive offer. - To check the bid protection (incentive offer) eligibility for a list of Upgraded Smart+ Campaigns or Upgraded Smart+ Ad Groups, use /report/bid_protection/status/get/. - To retrieve the bid protection history and ad credit from the past 60 days for a list of Upgraded Smart+ Campaigns or Upgraded Smart+ Ad Groups, use /report/bid_protection/detail/get/.
vbo_windowstringThe time window of the specified bidding strategy for VBO IAA (Value-Based Optimization for in-app advertising) or VBO IAP (Value-Based Optimization for in-app purchase). Enum values: - `SEVEN_DAYS`: The first seven days (day 7). - `ZERO_DAY`: The current day (day 0).
click_attribution_windowstringClick-through window. This attribution window is the time between when a person clicks your ad and then takes an action. Enum values: - `OFF`: Off. - `ONE_DAY`: 1-day click. - `SEVEN_DAYS`: 7-day click. - `FOURTEEN_DAYS`: 14-day click. - `TWENTY_EIGHT_DAYS`: 28-day click. - `THIRTY_DAYS`: 30-day click. - `THIRTY_TWO_DAYS`: 32-day click. - `ONE_HUNDRED_EIGHTY_DAYS`: 180-day click.
engaged_view_attribution_windowstringEngaged view-through window. This attribution window is the time after someone watches at least 6 seconds of your video ad that a conversion is counted. Enum values: - `OFF`: off. - `ONE_DAY`: 1-day engaged view. - `SEVEN_DAYS`: 7-day engaged view. - `FOURTEEN_DAYS`: 14-day engaged view. - `TWENTY_EIGHT_DAYS`: 28-day engaged view.
view_attribution_windowstringView-through window. This attribution window is the time between when a person views your ad and then takes an action. Enum values: - `OFF`: Off. - `ONE_DAY`: 1-day view. - `SEVEN_DAYS`: 7-day view.
attribution_event_countstringEvent count (Statistic type). The way that people's actions are counted after only viewing or clicking an ad. Enum values: - `UNSET`: Unset. - `EVERY`: Every. To count multiple events from someone as separate conversions. - `ONCE`: Once. To count multiple events from someone as 1 conversion.
billing_eventstringBilling event. For enum values, see Enumerations - Billing event.
pacingstringDelivery type. Your choice of ad delivery type determines the speed at which your daily budget is used. Enum values: - `PACING_MODE_SMOOTH`: Standard. Your budget will be used as evenly as possible depending on market demand and peaktime rates. This delivery type is suitable for advertisers who prefer steady spending.
automated_keywords_enabledbooleanWhether to enable automated keywords and let the system find relevant keywords to expand reach and improve results. Supported values: `true`, `false`.
search_keywordsobject[]Returned only for Search Ads Campaigns. A list of search keywords, that is, words or phrases that are used to match your ads with the terms people are searching for.
keywordstringThe search keyword.
match_typestringThe match type for the search keyword. Enum values: - `PRECISE_WORD`: exact match. Ads only show when a search includes the exact phrase or close variations, with additional words allowed before or after. - `PHRASE_WORD`: phrase match. Ads only show when a search exactly matches your keyword or a very close variation. - `BROAD_WORD`: broad match. Ads are shown for a wide range of relevant searches to offer the widest reach.
audit_statusstringThe review status of the search keyword. Enum values: - `AUDITING`: The keyword is under review. - `PASS`: The keyword has passed review and can be delivered. - `REJECTED`: The keyword failed to pass the review and cannot be delivered.
reject_infoobject[]Returned only when `audit_status` is `REJECTED`. Details about the rejection.
forbidden_locationstringThe targeted region that failed the review. For enum values, see Appendix - Location codes.
reject_reasonsobject[]List of rejection reasons.
reasonstringThe rejection reason.
budget_modestringAd group budget mode. Enum values: - `BUDGET_MODE_TOTAL`: Lifetime budget. - `BUDGET_MODE_DYNAMIC_DAILY_BUDGET`: Dynamic daily budget. It is the average daily budget over a week. Daily costs will not exceed 125% of the average daily budget. Weekly costs will not exceed the average daily budget * 7.
budget_auto_adjust_strategystringReturned only when the following conditions are both met: - At the campaign level: `budget_optimize_on` is `false`. - At the ad group level: `budget_mode` is `BUDGET_MODE_DYNAMIC_DAILY_BUDGET`. The ad group budget strategy for custom ad group budget. Enum values: - `AUTO_BUDGET_INCREASE`: To enable Goal-based udget increase. Allow your budget to automatically increase when your ads are performing well and target CPA, Day 0 target ROAS, and budget requirements are met. - When `budget_auto_adjust_strategy` is `AUTO_BUDGET_INCREASE`, the specified `budget` will be the initial daily budget. Your daily budget will be allowed to automatically increase by 20%, up to 10 times per day, when your budget utilization reaches 90% or more. Your daily budget will reset to your original daily budget each day. - `UNSET`: To disable Goal-based budget increase.
budgetfloatFixed ad group budget or initial ad group budget. - When `budget_auto_adjust_strategy`  is `UNSET`, this field represents your fixed ad group budget. - When `budget_auto_adjust_strategy`  is `AUTO_BUDGET_INCREASE`, this field represents your initial ad group budget. To retrieve the current campaign budget, check the returned `current_budget`.
current_budgetfloatReturned only when `budget_auto_adjust_strategy`  is `AUTO_BUDGET_INCREASE`. Current ad group budget for an ad group with Goal-based budget increase enabled.
min_budgetfloatAd group minimum budget. The system will aim to spend at least this amount, but it is not guaranteed.
schedule_typestringSchedule type. Enum values: - `SCHEDULE_FROM_NOW`: To run the ad group continuously after the scheduled start time. - `SCHEDULE_START_END`: To run the ad group between the scheduled start time and end time.
schedule_start_timestringAd group delivery start time, in the format of `YYYY-MM-DD HH:MM:SS` (UTC+0).
schedule_end_timestringAd group delivery end time, in the format of`YYYY-MM-DD HH:MM:SS` (UTC+0).
movie_premiere_datestringThe theatrical release date, in the format of `YYYY-MM-DD` (UTC+0). Providing the movie release date allows the system to incorporate this timing into performance enhancements.
daypartingstringAd delivery arrangement, in the format of a string that consists of 48 x 7 characters. Each character is mapped to a 30-minute timeframe from Monday to Sunday. Each character can be set to either 0 or 1. 1 represents delivery in the 30-minute timeframe, and 0 stands for non-delivery in the 30-minute timeframe. The first character is mapped to 0:01-0:30 of Monday; The second character is mapped to 0:31-1:00 of Monday, and the last character represents 23:31-0:00 Sunday. Note: All-0 and all-1 values are considered full-time delivery.
targeting_optimization_modestringAudience targeting optimization mode. Enum values: - `MANUAL`: Custom targeting. You can use custom targeting settings to precisely control who sees your ads. This may limit delivery and impact campaign performance. - `AUTOMATIC`: Automatic targeting. You can use automatic targeting to leverage real-time data and machine learning to target audiences most likely to engage with your ads.
suggestion_audience_enabledbooleanWhether to enable audience suggestions. Audience suggestions guide automatic targeting by choosing additional audience settings. These serve as suggestions only, and delivery to those audiences is not guaranteed. Supported values: `true`, `false`.
targeting_specobjectTargeting settings.
app_targeting_typestringReturned only when the following conditions are all met: - At the campaign level: - `objective_type` is `WEB_CONVERSIONS` - `sales_destination` is `APP`. - `optimization_goal` is `CLICK`, `IN_APP_EVENT`, or `VALUE`. App targeting type. Enum values: - `PROSPECT`: Prospecting. Find prospective customers, including those who have not interacted with your products. - `RETARGETING`: Retargeting. Show ads to people who have already interacted with your business on and off TikTok.
location_idsstring[]IDs of the locations that you want to target.
zipcode_idsstring[]Zip code IDs or postal code IDs of the targeted locations.
spc_audience_agestringThe age group that the ad group targets. Enum values: - `ALL`: all age groups. - `OVER_EIGHTEEN`: 18+. - `OVER_TWENTY_FIVE`: 25+.
languagesstring[]Codes of the languages that you want to target. For the list of language codes supported, see Enumerations - Language Code.
operating_systemsstring[]Device operating systems that you want to target. Enum values: `ANDROID`, `IOS`
excluded_audience_idsstring[]List of audience IDs to be excluded.
age_groupsstring[]Age groups you want to target. For enum values, see Enumeration - Age Group.
genderstringGender that you want to target. Enum values: `GENDER_FEMALE`, `GENDER_MALE`, `GENDER_UNLIMITED`.
audience_idsstring[]A list of audience IDs.
shopping_ads_retargeting_typestringThe retargeting type. Enum values: - `LAB1`: Retargeting audiences who viewed products or added products to cart but didn't purchase products. - `LAB2`: Retargeting audiences who added products to cart but didn't purchase products. - `LAB3`: Retargeting audiences using custom combination. - `OFF`: No retargeting.
shopping_ads_retargeting_actions_daysnumberReturned when `shopping_ads_retargeting_type` is `LAB1` or `LAB2`. The valid time range for the specified audience action. Audiences who have completed the specified action within the time range will be retargeted.
included_custom_actionsobject[]Details of the catalog audience to include. Catalog audience is based on people's interactions with specific products and often drives better performance than custom audience.
codestringThe custom action used to filter the audiences to be retargeted. Enum values: - `VIEW_PRODUCT`: The audience viewed the product. - `ADD_TO_CART`: The audience added the product to the cart. - `PURCHASE`: The audience purchased the product.
daysintegerThe time range used to filter the audiences that completed the specified action.
excluded_custom_actionsobject[]Details of the catalog audience to exclude. Improve ad performance by excluding products that people have already interacted with, ensuring they only see relevant ads from your brand.
codestringThe custom action used to filter out the audiences. Enum values: - `VIEW_PRODUCT`: The audience viewed the product. - `ADD_TO_CART`: The audience added the product to the cart. - `PURCHASE`: The audience purchased the product.
daysintegerThe time range used to filter out the audiences that completed the specified action.
shopping_ads_retargeting_custom_audience_relationstringThe logical relation between the retargeting audience specified by `shopping_ads_retargeting_type` and the custom audience specified by `audience_ids`. Enum values: - `OR`: To combine the retargeting audience and the custom audience to create the targeted audience. The ad group will target anyone in catalog or custom audiences. - `AND`: To intersect between the retargeting audience and the custom audience to create the targeted audience. The ad group will target individuals who belong to both the retargeting audience and the custom audience.
included_pangle_audience_package_idsstring[]IDs of the Pangle audiences that you want to include.
excluded_pangle_audience_package_idsstring[]IDs of the Pangle audiences that you want to exclude.
interest_category_idsstring[]IDs of general interest keywords that you want to use to target audiences.
interest_keyword_idsstring[]IDs of additional interest categories that you want to use to target audience. To search for additional interest categories, use /targeting/search/ (recommended) or /tool/interest_keyword/recommend/.
purchase_intention_keyword_idsstring[]IDs of purchase intention categories that you want to use to target audiences with an interest in purchases related to a content category.
actionsobject[]A list of targeting behavioral category objects.
action_scenestringThe type of user behavior that you want to target. Enum values: - `VIDEO_RELATED`: Video interactions. - `CREATOR_RELATED`: Creator interactions. - `HASHTAG_RELATED`: Hashtag interactions.
action_periodnumberThe time period to include behaviors from.
video_user_actionsstring[]The specific user interactions that you want to target for the user behavior type. - If `action_scene` is `VIDEO_RELATED`, the allowed values are: `WATCHED_TO_END`,`LIKED`,`COMMENTED`,`SHARED`. - If `action_scene` is `CREATOR_RELATED`, the allowed values are: `FOLLOWING`, `VIEW_HOMEPAGE`. - If `action_scene` is `HASHTAG_RELATED`, the allowed value is `VIEW_HASHTAG`.
action_category_idsstring[]IDs of the video interactions categories, creator interactions categories, hashtags, or hashtag bundles that you want to use to target audiences.
smart_interest_behavior_enabledbooleanWhether Smart interests & behaviors is turned on. Supported values: `true`, `false`. To learn more about Smart interests & behaviors and how to turn on Smart interests & behaviors, see Smart Targeting.
smart_audience_enabledbooleanWhether to turn on Smart audience. Supported values: `true`, `false`. To learn more about Smart audience and how to turn on Smart audience, see Smart Targeting.
spending_powerstringSpending power that you want to target. Enum values: `ALL`, `HIGH`. If it is set to `HIGH`, you can target high spending users who typically spend more on purchases on TikTok ads than average users.
household_incomestring[]Household income that you want to target. Enum values: `TOP5`(Top 5% of ZIP codes), `TOP10`(Top 10% of ZIP codes), `TOP10_25`(Top 10% -25% of ZIP codes), `TOP25_50`(Top 25% - 50% of ZIP codes).
min_android_versionstringMinimum Android version. For enum values, see Enumeration - Minimum Android Version.
min_ios_versionstringAudience minimum ios version. For enum values, see Enumeration - Minimum iOS Version.
device_model_idsstring[]List of device model IDs.
network_typesstring[]Network types that you want to target. For enum values, see Enumeration - Connection Type.
carrier_idsstring[]Carriers that you want to target.
isp_idsstring[]IDs of the targeted Internet service providers.
device_price_rangesnumber[]Targeting device price range. 10000 means 1000+. The numbers must be in multiples of 50. Important: The upper limit you set will be added by 50 and the resulting new number will be used as the actual upper limit for device targeting. The actual upper limit is shown in the ad group settings in TikTok Ads Manager. If you set and get the price range of [0, 250], it actually means [0, 300].
saved_audience_idstringReturned when you have specified `saved_audience_id` when creating an ad group. Saved Audience ID.
blocked_pangle_app_idsstring[]Pangle app block ID list.
brand_safety_typestringInventory filter tier for the Smart+ Campaign. Enum values: - `EXPANDED_INVENTORY`: Expanded inventory. Your ads will not appear next to explicitly inappropriate content, but they may appear next to content that features mature themes. - `STANDARD_INVENTORY`: Standard inventory. Your ads will appear next to content that is appropriate for most brands. - `LIMITED_INVENTORY`: Limited inventory. Your ads will not appear next to content that contains mature themes. - `NO_BRAND_SAFETY`: Full inventory without using any brand safety solution, which means your ads may appear next to some content featuring mature themes. Note: The setting is automatically applied based on your Brand Safety Hub configurations. To retrieve the details of such settings for your ad account, use /tiktok_inventory_filters/get/.
category_exclusion_idsstring[]Content exclusion category IDs.
is_hfssbooleanWhether the promoted content is HFSS (High Fat, Salt, Sugar) Product/Brand. Supported values: `true`, `false`.
is_lhf_compliancebooleanWhether the promoted content complies with LHF (Less Healthy Foods) regulations. When `is_lhf_compliance` is `true`, you confirm that any food or drink products you advertise on TikTok in the UK comply with the 2024 Less Healthy Foods Regulations and all other applicable laws. Supported values: `true`, `false`.
placement_typestring[]The placement strategy that decides where your ads will be shown. Enum values: - `PLACEMENT_TYPE_AUTOMATIC`: Automatic placement. - `PLACEMENT_TYPE_NORMAL` : Select placement.
placementsstring[]The apps where you want to deliver your ads. Enum values: - `PLACEMENT_TIKTOK`: TikTok. - `PLACEMENT_PANGLE`: Pangle. - `PLACEMENT_GLOBAL_APP_BUNDLE`: Global App Bundle.
tiktok_subplacementsstring[]The subplacements within TikTok for your ads, allowing you to choose where your ads will appear. Enum values: - `LEMON8`: Lemon8, a community app for lifestyle content, focusing on real-life experiences, tips, guides, and product reviews. By including Lemon8 as a subplacement, your ads will appear in its For You feed, Search feed, and Immersive Video feed. Learn more about Lemon8 for Performance Auction. - `PINE_DRAMA`: PineDrama, an app for watching short-form dramas. Ads will be placed on recommendation pages, within episode streams, and more. Learn more about PineDrama for Performance Auction.
search_result_enabledbooleanWhether to include your ads in Search Ads, namely to show your ads to users when they search for your business on TikTok. Supported values: `true`, `false`.
comment_disabledbooleanWhether to allow comments on your ads on TikTok. Supported values: `true`, `false`.
share_disabledbooleanWhether to disable sharing of the campaign to third-party platforms. Supported values: `true`, `false`.
video_download_disabledbooleanWhether users can download your video ads on TikTok. Supported values: `true`, `false`.
skip_learning_phasebooleanWhether to skip the learning stage. Supported value: `true`.
create_timestringThe time when the ad group was created, in the format of `YYYY-MM-DD HH:MM:SS` (UTC+0). Example: `2025-01-01 00:00:01`.
modify_timestringThe time when the ad group was last modified, in the format of `YYYY-MM-DD HH:MM:SS` (UTC+0). Example: `2025-01-01 00:00:01`.
page_infoobjectPagination information.
pagenumberCurrent page number.
page_sizenumberPage size.
total_numbernumberTotal number of results.
total_pagenumberTotal pages of results.

Response sample

{
    "code": 0,
    "message": "OK",
    "request_id": "{{request_id}}",
    "data": {
        "list": [
            {
                "adgroup_id": "{{adgroup_id}}",
                "adgroup_name": "{{adgroup_name}}",
                "advertiser_id": "{{advertiser_id}}",
                "bid_type": "BID_TYPE_NO_BID",
                "billing_event": "CPC",
                "budget": 0,
                "budget_mode": "BUDGET_MODE_INFINITE",
                "campaign_id": "{{campaign_id}}",
                "campaign_name": "{{campaign_name}}",
                "catalog_authorized_bc_id": "{{catalog_authorized_bc_id}}",
                "catalog_id": "{{catalog_id}}",
                "comment_disabled": false,
                "conversion_bid_price": 0,
                "create_time": "{{create_time}}",
                "dayparting": "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
                "modify_time": "{{modify_time}}",
                "operation_status": "ENABLE",
                "optimization_goal": "CLICK",
                "pacing": "PACING_MODE_SMOOTH",
                "placement_type": "PLACEMENT_TYPE_AUTOMATIC",
                "placements": [
                    "PLACEMENT_TIKTOK"
                ],
                "product_source": "CATALOG",
                "promotion_type": "WEBSITE",
                "promotion_website_type": "UNSET",
                "schedule_end_time": "{{schedule_end_time}}",
                "schedule_start_time": "{{schedule_start_time}}",
                "schedule_type": "SCHEDULE_START_END",
                "search_result_enabled": true,
                "secondary_status": "ADGROUP_STATUS_TIME_DONE",
                "share_disabled": false,
                "targeting_optimization_mode": "AUTOMATIC",
                "targeting_spec": {
                    "age_groups": [
                        "AGE_18_24",
                        "AGE_25_34",
                        "AGE_35_44",
                        "AGE_45_54",
                        "AGE_55_100"
                    ],
                    "brand_safety_type": "EXPANDED_INVENTORY",
                    "gender": "GENDER_UNLIMITED",
                    "location_ids": [
                        "3686110"
                    ],
                    "spc_audience_age": "OVER_EIGHTEEN",
                    "spending_power": "ALL"
                },
                "video_download_disabled": false
            },
            {
                "adgroup_id": "{{adgroup_id}}",
                "adgroup_name": "{{adgroup_name}}",
                "advertiser_id": "{{advertiser_id}}",
                "attribution_event_count": "EVERY",
                "bid_type": "BID_TYPE_NO_BID",
                "billing_event": "OCPM",
                "budget": 0,
                "budget_mode": "BUDGET_MODE_INFINITE",
                "campaign_id": "{{campaign_id}}",
                "campaign_name": "{{campaign_name}}",
                "catalog_authorized_bc_id": "{{catalog_authorized_bc_id}}",
                "catalog_id": "{{catalog_id}}",
                "click_attribution_window": "SEVEN_DAYS",
                "comment_disabled": false,
                "conversion_bid_price": 0,
                "create_time": "{{create_time}}",
                "dayparting": "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
                "modify_time": "{{modify_time}}",
                "operation_status": "ENABLE",
                "optimization_event": "ADD_BILLING",
                "optimization_goal": "CONVERT",
                "pacing": "PACING_MODE_SMOOTH",
                "pixel_id": "{{pixel_id}}",
                "placement_type": "PLACEMENT_TYPE_AUTOMATIC",
                "placements": [
                    "PLACEMENT_TIKTOK"
                ],
                "product_source": "CATALOG",
                "promotion_type": "WEBSITE",
                "promotion_website_type": "UNSET",
                "schedule_end_time": "{{schedule_end_time}}",
                "schedule_start_time": "{{schedule_start_time}}",
                "schedule_type": "SCHEDULE_START_END",
                "search_result_enabled": true,
                "secondary_status": "ADGROUP_STATUS_TIME_DONE",
                "share_disabled": false,
                "skip_learning_phase": true,
                "targeting_optimization_mode": "AUTOMATIC",
                "targeting_spec": {
                    "age_groups": [
                        "AGE_18_24",
                        "AGE_25_34",
                        "AGE_35_44",
                        "AGE_45_54",
                        "AGE_55_100"
                    ],
                    "brand_safety_type": "EXPANDED_INVENTORY",
                    "gender": "GENDER_UNLIMITED",
                    "location_ids": [
                        "6252001"
                    ],
                    "spc_audience_age": "OVER_EIGHTEEN",
                    "spending_power": "ALL"
                },
                "video_download_disabled": false,
                "view_attribution_window": "ONE_DAY"
            },
            {
                "adgroup_id": "{{adgroup_id}}",
                "adgroup_name": "{{adgroup_name}}",
                "advertiser_id": "{{advertiser_id}}",
                "app_id": "{{app_id}}",
                "attribution_event_count": "EVERY",
                "bid_type": "BID_TYPE_NO_BID",
                "billing_event": "O

Get started

  1. Sign up for Partner
  2. Enable a data type of the Ads (Marketing API) group on the platform page
  3. Create an API key (tick the TikTok Business channel)
  4. Call it as in the examples above