Skip to main content

TikTok Ads Integration

Reach TikTok’s billion-plus users with AI-powered campaign management. Create In-Feed video and Spark ads, manage campaigns at every level, and analyze performance with 37 specialized tools. Includes rich targeting (interests, behavioral keywords, device, carrier, language), Layer-1 validity checks that catch errors before they reach TikTok’s API, and atomic rollback on creation failures.

Prerequisites

Connecting TikTok Ads

Once you’ve set up Adspirer with your AI client, connect TikTok:
  1. Open your AI assistant (ChatGPT, Claude, Claude Code, etc.)
  2. Say: “Connect my TikTok Ads account”
  3. Adspirer opens your browser for OAuth authorization
  4. Sign in to TikTok Business Center and select the ad account you want to manage
  5. Approve permissions (read campaign data, create ads, manage budgets)
Verify the connection:
You should see your TikTok ad account listed with advertiser name, account ID, and active status.

What You Can Do (37 Tools)

Planning & Objective Selection

  • explain_tiktok_objective — Given your goal (leads, sales, traffic, app installs, video views), returns the correct TikTok campaign objective, recommended ad format, and compatibility constraints. Run this first if you’re unsure which objective to use.

Performance Analysis

  • get_tiktok_campaign_performance — Campaign summary with TikTok-specific video and engagement metrics
  • get_tiktok_ad_performance — Ad-level analysis with hook rate, video completion, and engagement
  • analyze_tiktok_wasted_spend — ROAS-based waste detection with campaign status awareness
  • optimize_tiktok_budget — Budget allocation recommendations based on performance
  • detect_tiktok_creative_fatigue — Hook rate decline as the primary fatigue signal
  • explain_tiktok_anomaly — Diagnose sudden changes in TikTok campaign performance
  • get_tiktok_audience_insights — Age/gender breakdown with CPA ranking
  • analyze_tiktok_geo_performance — Country-level performance analysis

Creative & Pixel Discovery

  • list_tiktok_ad_videos — List the videos already in your TikTok library with the video_id for each, so a second ad from the same video doesn’t mean a second upload
  • list_tiktok_pixels — List your TikTok Pixels with the numeric pixel_id TikTok requires and the exact optimization_event values each pixel supports. Pixels with no events configured are flagged as unusable for conversion optimization.
  • list_tiktok_lead_pages — List your TikTok Instant Forms with the page_id needed to attach one to a lead generation ad, and whether each form is PUBLISHED. Draft forms can’t be used.
  • discover_tiktok_assets — Browse the images in your TikTok Asset Library for reuse
  • validate_and_prepare_tiktok_assets — Verify video files meet TikTok’s requirements (9:16 vertical, 5-60 seconds, MP4/MOV)
  • upload_tiktok_images — Upload images to TikTok Asset Library

Campaign Creation

  • create_tiktok_video_campaign — Launch an In-Feed video campaign (created PAUSED). Takes any of three creative sources: video_url (a public MP4/MOV that Adspirer uploads), video_id (a video already in your library), or tiktok_item_id (an organic post boosted as a Spark Ad).
  • add_tiktok_ad_group — Add ad groups with full targeting to existing campaigns
  • add_tiktok_ad — Add ads to existing ad groups (video, Spark Ads)

Campaign Management

  • list_tiktok_campaigns — List all campaigns with status, objective, and budget
  • get_tiktok_campaign_details — Detailed campaign info
  • update_tiktok_campaign — Update name, budget, budget mode
  • pause_tiktok_campaign / resume_tiktok_campaign — Control campaign status
  • list_tiktok_ad_groups — List ad groups, filter by campaign
  • update_tiktok_ad_group — Update name, budget, targeting, schedule
  • pause_tiktok_ad_group / resume_tiktok_ad_group — Control ad group status
  • list_tiktok_ads — List ads, filter by ad group or campaign
  • pause_tiktok_ad / resume_tiktok_ad — Control ad status

Targeting & Research

  • search_tiktok_targeting — Search interests, keywords, regions, languages, action categories, carriers, and device models. This returns the IDs you then target with — interest keywords, for example, are passed as interest_keyword_ids (numeric IDs from this search), not as plain keyword strings.

Campaign Creation Workflow

TikTok campaigns follow a 5-step workflow:
Running a conversions campaign adds one step at the front: call list_tiktok_pixels to get the numeric pixel_id and a valid optimization_event for that pixel. There is no default event — the valid set is per-pixel, so Adspirer asks rather than guessing.

Adding ads to existing campaigns

Example Prompts

Check Performance

TikTok campaign metrics with video completion analysis.

Open in Cursor

Create a Campaign

TikTok In-Feed campaign with video validation.

Open in Cursor

Upload and Validate Video

Validate video specs for TikTok In-Feed ads.

Open in Cursor

Analyze What’s Working

Creative performance analysis with engagement metrics.

Open in Cursor

Creative Assets: What You Need to Know

TikTok is a video-first platform. All campaigns require video creative.
Adspirer does NOT generate videos. You provide video URLs from Google Drive, Dropbox, S3, or any publicly accessible link. The validate_and_prepare_tiktok_assets tool checks that your video meets TikTok’s specifications before campaign creation.

TikTok’s Creative Requirements

The validate_and_prepare_tiktok_assets tool checks these automatically:
  • Aspect ratio: 9:16 (vertical) — 1080x1920px recommended
  • Duration: 5-60 seconds (9-15 seconds performs best for engagement)
  • Format: MP4 or MOV
  • File size: Under 500MB
  • Resolution: Minimum 720p (1280x720px), 1080p recommended

Supported Asset Sources

  • Google Drive (public or shared links)
  • Dropbox (public links)
  • Amazon S3 (public URLs)
  • Any publicly accessible video URL

Creative Best Practices

  • Hook in the first 2 seconds: TikTok users scroll fast. Grab attention immediately.
  • Native look and feel: Ads that look like organic TikTok content outperform polished commercials
  • Vertical video only: Horizontal or square videos perform significantly worse on TikTok
  • Sound on: Unlike other platforms, most TikTok users watch with sound on. Use music and voiceover.
  • Short and punchy: 9-15 seconds is the sweet spot for In-Feed ads

Ad Formats

In-Feed Ads

TikTok In-Feed ads appear in users’ For You feed and blend with organic content. They support:
  • Traffic objective: Drive users to your website or landing page
  • Conversions objective: Optimize for specific conversion events (requires a TikTok Pixel ID and optimization_event)
  • App installs: Drive mobile app downloads (APP_PROMOTION objective)
In-Feed ads auto-play with sound as users scroll through their feed. Users can like, comment, share, and follow directly from the ad.

Spark Ads

Boost existing TikTok organic posts as ads. Provide the tiktok_item_id of an organic post to promote it with paid reach while keeping all engagement (likes, comments, shares) on the original post.

What TikTok doesn’t allow

Two formats you may expect can’t be built through TikTok’s API, so Adspirer refuses them up front rather than letting TikTok reject a half-built campaign:
  • Image-only in-feed ads. TikTok’s in-feed placement requires a video creative. Images are supporting assets alongside one — upload_tiktok_images and discover_tiktok_assets produce image_ids you pass to a video ad.
  • Carousel ads. Build the carousel in TikTok Ads Manager, then boost that post here as a Spark Ad using its tiktok_item_id.

Conversion tracking

For campaigns with the WEB_CONVERSIONS objective (CONVERSIONS is still accepted as a legacy alias), you need a TikTok Pixel ID and an optimization_event. The optimization_event tells TikTok which conversion action to optimize for. Start with list_tiktok_pixels. It returns the numeric pixel_id — TikTok rejects the alphanumeric Pixel Code that appears in the Events Manager UI — along with the events that specific pixel actually supports. There is no default event, because the valid set differs per pixel. Common optimization_event values: Your pixel may not support all of these. list_tiktok_pixels is the authority for which ones it does. Example prompt:

TikTok conversion campaign with pixel tracking.

Open in Cursor

Lead generation

There are two ways to capture leads on TikTok, and the one most campaigns use is not the one people ask for. Website lead gen (the common path). The ad sends people to your own landing page and a TikTok Pixel records the submission. Run list_tiktok_pixels, pick the pixel, and use optimization_event=FORM. Nothing else is required. Instant Forms (native, hosted by TikTok). The form opens inside TikTok, so there is no landing page and no site visit. Run list_tiktok_lead_pages to get the page_id for each form and to see which are PUBLISHED — TikTok refuses a draft form on a live ad.
A lead generation ad carries either a landing page URL or an Instant Form page_id, never both. With an Instant Form, the form is the destination; TikTok rejects an ad that also carries a URL.
TikTok also requires three things of a lead generation ad group that it will not tell you about — it reports every one of them as the same “There was an error with the Lead Generation advertising objective”. Adspirer sets all three for you: the ad group is promoted as lead generation rather than as a website visit, it carries a custom bid (TikTok refuses its no-bid strategy on this objective), and its placements are named explicitly rather than left automatic.

Launch a TikTok lead generation campaign on an Instant Form.

Open in Cursor

Campaign Budget Optimization (CBO)

TikTok campaigns support campaign-level budget optimization via the budget_optimize_on parameter. CBO is on by default — set to false to manage budgets per ad group manually.

Targeting Options

When creating TikTok campaigns through Adspirer, you can target by:

Demographics

  • Age: 13-17, 18-24, 25-34, 35-44, 45-54, 55+
  • Gender: Male, Female, All
  • Location: Country, state/region, city-level targeting

Interests & Behaviors

  • Interests: Beauty, Fashion, Food & Beverage, Technology, Fitness, Gaming, and 20+ categories
  • Behavioral signals: Video interaction patterns, content engagement history
  • Device: iOS, Android, specific device models

Budget Guidelines

  • Minimum: $20/day per campaign (TikTok’s requirement for campaign-level budgets)
  • Ad group minimum: $20/day
  • Recommended: $50+/day for meaningful data collection
  • Testing: Start with $50/day on a single ad group to gauge performance before scaling
  • CPC range: Expect $0.50-2.00 per click (varies by industry and targeting)
  • CPM range: $6-10 per thousand impressions

Best Use Cases for TikTok Ads

  • E-commerce: Products that photograph/film well (fashion, beauty, gadgets, food)
  • Brand awareness: Reaching younger demographics (Gen Z and Millennials) at scale
  • Product launches: New product reveals with authentic, native-feeling video content
  • App installs: Mobile-first audience with high app download intent
  • Direct-to-consumer brands: Brands that can create authentic, engaging short-form video
Not ideal for: B2B lead generation (use LinkedIn Ads), high-intent search capture (use Google Ads), audiences over 45 (limited reach on TikTok).

Troubleshooting

”Ad account not connected” error

Re-authenticate your TikTok Business Center account:
Make sure you select the correct advertiser account during OAuth. If you manage multiple accounts in TikTok Business Center, you may need to reconnect and select the right one.

”Asset validation failed” error

Common causes:
  • Video is not in 9:16 vertical format (horizontal or square videos are rejected)
  • Video duration is outside 5-60 second range
  • File too large (over 500MB)
  • Unsupported format (use MP4 or MOV)
  • Video URL is private or not publicly accessible
Run validation separately to diagnose:

“Invalid media format” or TikTok page URL error

If you pass a TikTok page URL (e.g., https://tiktok.com/@user/video/123) as a video URL, the tool returns an error because that’s a web page, not a downloadable video file. Two options:
  • Spark Ads: Use the tiktok_item_id parameter instead to boost the organic post as a Spark Ad
  • Video ad: Provide a direct link to the video file (MP4 or MOV) from Google Drive, Dropbox, S3, or any publicly accessible URL

”Campaign creation failed” error

Most common reason: skipping the asset validation step. TikTok campaigns require validate_and_prepare_tiktok_assets before create_tiktok_video_campaign. The validation tool uploads and processes the video in TikTok’s system. On a conversions campaign, the other common cause is a pixel or an optimization_event TikTok won’t accept. Run list_tiktok_pixels — it returns the numeric pixel ID and the events that pixel supports, which is usually the mismatch. If you’re using agent skills, the AI enforces the correct workflow automatically.

Low video completion rates

Your creative may not be engaging enough for TikTok’s audience. Common fixes:
  • Stronger hook in the first 2 seconds
  • Use trending sounds or music
  • Make it feel organic, not like a traditional ad
  • Shorter duration (try 9-12 seconds instead of 30+)
  • Test multiple video variations to find what resonates

FAQ

Not as standalone ads — that’s a TikTok rule, not an Adspirer limit. TikTok’s in-feed placement requires a video creative and rejects an image-only ad outright. Images work as supporting assets alongside a video: upload them with upload_tiktok_images (or find existing ones with discover_tiktok_assets) and pass the image IDs to add_tiktok_ad together with a video_url or video_id.Carousel ads have the same answer. They can’t be built through TikTok’s API, so build the carousel in TikTok Ads Manager and boost that post here as a Spark Ad with its tiktok_item_id.
No. Adspirer manages campaigns, not video production. You create videos using your preferred tools (CapCut, Canva, Adobe Premiere, or even your phone) and provide the video URL. For AI-generated video, tools like Runway, Pika, or HeyGen can help. Upload the result to Google Drive or Dropbox and provide the link to Adspirer.
TikTok Ads: Video-first platform with a younger audience (Gen Z, Millennials). Content feels native and authentic. Strong for brand discovery and impulse purchases. Lower CPM but requires video creative.Meta Ads: Supports image, video, and carousel formats. Broader age demographics. More advanced targeting and retargeting options. Better for retargeting and full-funnel campaigns.Many advertisers run both: TikTok for awareness and discovery, Meta for retargeting and conversion optimization.
Yes. Spark Ads let you promote existing organic TikTok posts as paid ads. Provide the tiktok_item_id of the organic post when creating an ad with add_tiktok_ad or create_tiktok_video_campaign. All engagement (likes, comments, shares) stays on the original post.
Adspirer pricing is based on tool calls, not ad spend. Free tier: 15 calls/month. Plus: 49/mofor150calls.Pro:49/mo for 150 calls. Pro: 99/mo for 600 calls. Max: $199/mo for 3,000 calls. A typical TikTok campaign creation uses 4-6 tool calls. See full pricing.
Yes. Adspirer uses OAuth 2.1 authentication — your TikTok credentials are never stored on Adspirer’s servers. All connections are HTTPS-encrypted with strict security protocols. You can revoke access at any time from your TikTok Business Center.
Last modified on August 14, 2026