campaigns_quick_create_batch
Prepare one bounded manual TikTok hierarchy containing 2..20 ads under the same campaign and ad group, preserving batch_items order. Each item requires exactly one creative source; ad_name is required unless the unchanged Spark listing row supplies it. Each item may override item-level ad_params (for example an AUTH_CODE identity for a Spark post). The server validates all items on one advertiser and authorization route, executes serially after confirmation, journals one receipt per created entity, and stops on uncertain outcomes. This tool never publishes by itself; show the sanitized plan and call campaigns_quick_create_confirm once only after explicit approval.
A saved template_id or exact template_name is required to fill shared campaign/ad-group/ad settings. Template identity, app, pixel, CTA portfolio, and tracking bindings are retained only for their source advertiser or after exact current-advertiser asset validation. For Spark items, the exact identity_id, identity_type, tiktok_item_id, and spark_receipt row returned by spark_ads_list_posts may be passed unchanged as item.creative; the server normalizes the TikTok-native identity fields and uses that verified item identity instead of a shared template identity. Local creative items keep the shared template identity only when it is exact advertiser-linked CUSTOMIZED_USER; Spark items use the exact AUTH_CODE row and pass its receipt unchanged when available. TT_USER and BC_AUTH_TT are not regular local-batch identities. CAROUSEL_ADS is compatible only with TRAFFIC, WEB_CONVERSIONS, APP_PROMOTION, LEAD_GENERATION, PRODUCT_SALES, CATALOG_SALES, or REACH; never auto-rewrite an objective. The legacy split shape with item ad_params identity fields remains accepted. Legacy items without a receipt incur one bounded live verification per identity.
Smart+ is intentionally excluded: a Smart+ template returns unsupported_structure and must be passed to campaigns_quick_create with one ad_params.creative_list instead. Maximum 20 ads per approval; prepare another explicit batch for additional ads. Never fan out single-create calls.
REQUIRED: advertiser_id, template_id or exact template_name, and batch_items. Missing selectors return needs_input/template_required before any draft is prepared. Resolved ad_params must include call_to_action or call_to_action_id when the ads can deliver on TikTok. Optional append_mode is new, append-campaign, or append-adgroup with the exact corresponding target and preview receipt.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ad_params | No | ||
| append_mode | No | new | |
| batch_items | Yes | ||
| template_id | No | ||
| adgroup_name | No | ||
| advertiser_id | Yes | ||
| campaign_name | No | ||
| template_name | No | ||
| adgroup_params | No | ||
| campaign_params | No | ||
| call_to_action_id | No | ||
| target_adgroup_id | No | ||
| target_campaign_id | No | ||
| parent_preview_receipt | No |