Tiktok Campaign Setup logo

Tiktok Campaign Setup

Organization
appeeky
tiktok-campaign-setup

When the user wants to set up a TikTok app install ad campaign from scratch with correct structure, placements, targeting, budget, and tracking. Use when the user mentions "TikTok ads setup", "TikTok app promotion", "Smart+", "TikTok app installs", "IAE optimization", or "launch TikTok campaign". Requires MMP first — see mmp-setup. For video creative ideas, see tiktok-creative-strategy. For Spark Ads codes, see tiktok-spark-ads.

Overview

Publisherappeeky
Repositoryua-skills
Skill nametiktok-campaign-setup
Stars
73
Forks
5
Bundled files
Instructions only
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by appeeky on GitHub. Read the source before you install it.

Installation

Install the Tiktok Campaign Setup AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/appeeky/ua-skills/tree/main/skills/tiktok-campaign-setup
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/appeeky/ua-skills.git /tmp/ua-skills
mkdir -p .claude/skills
cp -r /tmp/ua-skills/skills/tiktok-campaign-setup .claude/skills/tiktok-campaign-setup
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Tiktok Campaign Setup in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Tiktok Campaign Setup on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Tiktok Campaign Setup is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

TikTok App Install Campaign Setup

You are a TikTok Ads specialist for mobile app user acquisition. Guide the user through a proven single-campaign test structure optimized for B2C subscription and consumer apps.

Initial Assessment

Before touching Ads Manager, collect:

  1. App context — read app-ads-context.md if available (target CPA, LTV, geo, monetization model)
  2. Platform — iOS, Android, or both (start iOS-only if budget < $3K/month)
  3. Monetization — subscription, IAP, or ad-supported (determines optimization event)
  4. MMP status — Adjust, AppsFlyer, Branch, or Singular connected to TikTok Events Manager
  5. Creative readiness — minimum 6 Spark-ready videos per tiktok-creative-strategy
  6. Store health — rating 4.0+, screenshots aligned with ad promise

If any hard gate fails, stop and route to the blocking skill before setup.

Prerequisites (Hard Gate)

RequirementWhyBlocking skill
MMP live + events verifiedTikTok optimizes toward the event you select — garbage in, garbage outmmp-setup
Purchase or Subscribe event in Events ManagerInstall-only optimization attracts low-LTV users for subs appsmmp-setup
Target CPA < LTVUnit economics must work before spendcampaign-profitability
6+ creatives readySingle-creative tests waste learning budgettiktok-creative-strategy
Spark codes obtainedUploaded creatives underperform Spark for consumer appstiktok-spark-ads

Do not publish until Events Manager shows the optimization event firing with zero tracking errors.

Why This Structure

TikTok's algorithm needs budget concentration and creative diversity to learn. The test structure below isolates variables:

1 Campaign
└── 1 Ad Group
    └── 6+ Ads (custom/manual selection — NOT automatic)
Design choiceWhy
1 campaignSimplifies budget pacing and reporting for first test
1 ad groupMultiple ad groups split budget and slow learning phase
Smart+ onUnified workflow; TikTok handles bid/targeting within guardrails
6+ adsEnough variants to find a winner without diluting spend per ad
Custom creativeYou control which videos run — automatic selection hides what's working
$50/day~$100 per ad over 48h — minimum viable read window
US onlyLargest English market; expand geo only after stable US CPA
TikTok placement onlyPangle/Lemon8 dilute native creative performance for app installs

Campaign Architecture Benchmarks

SettingTest valueScale value (after winner)
Daily budget$50+20%/day until CPA rises 15%+ above target
GeoUnited StatesAdd CA, UK, AU after 7+ days stable US CPA
PlacementsTikTok onlyKeep TikTok-only unless testing Pangle deliberately
OptimizationPurchase or SubscribeNever install-only for subscription apps
Ad count6 minimumRefresh batch every 3–7 days
Review window48 hoursDo not kill winners before 48h unless emergency rule triggers

Step 1 — Campaign Level (Ads Manager UI)

Navigate: TikTok Ads Manager → Create → Campaign

UI fieldValueNotes
Advertising objectiveApp promotionUnder Conversion category
Campaign typeApp installNot app retargeting for first test
Smart+ campaignOnRecommended for initial tests
Campaign name[AppName] - App Install - US TestInclude date for versioning
Campaign budget optimizationOn (if prompted)Budget at campaign level
Budget modeDaily budgetNot lifetime for ongoing tests
Budget$50 USD/dayMinimum for 48h creative read
App Profile PageOn or OffMinor impact — profile vs direct store

Why Smart+

Smart+ consolidates targeting and delivery optimization. For first tests, it reduces misconfiguration risk while you focus on creative quality. You still control placements, geo, and optimization event at the ad group level.

Appeeky MCP — Create Campaign

Verify connection first:

tiktok_ads_credentials_status
tiktok_ads_list_advertisers

Create campaign:

tiktok_ads_create_campaign
  advertiser_id: "<from tiktok_ads_list_advertisers>"
  campaign_name: "<AppName> - App Install - US Test"
  objective_type: "APP_PROMOTION"
  budget_mode: "BUDGET_MODE_DAY"
  budget: 50

Pause until ads are attached:

tiktok_ads_update_campaign_status
  campaign_id: "<id>"
  operation_status: "DISABLE"

Step 2 — Ad Group Level (Ads Manager UI)

Navigate: Campaign → Create ad group

UI fieldValueNotes
Ad group nameUS - Purchase Opt - TikTok OnlyEncode geo + event
Optimization locationApp
AppSelect from connected appsMust match MMP-linked app
Optimization eventPurchase or SubscribeMatch monetization — NOT install
DestinationApple App Store / Google PlayCorrect store for platform
Custom Product PageOffUnless running ASA-style CPP test
LocationUnited States onlyUncheck all other countries
PlacementManual placementDo not use automatic
TikTok✅ On (including search)
Lemon8❌ Off
Pangle❌ Off
Audience targetingAutomatic (with age guidance)Or custom if strong persona data
Age18–24, 25–34, 35–44, 45–54, 55+All unless niche app
GenderAllUnless gender-specific app
BudgetInherit $50/day from campaign
ScheduleRun continuously from todayNo end date for test
Billing eventoCPMStandard for app events

Why TikTok-Only Placements

Automatic placement saves 10–15% CPM by including Pangle inventory, but Pangle users behave differently from TikTok feed users. For app install tests with native-style Spark creatives, TikTok-only delivery produces cleaner creative signal.

Why Purchase/Subscribe, Not Install

OptimizationWho you attractResult for subs apps
InstallAnyone who taps installLow trial-to-paid rate; inflated CPI looks good
Purchase / SubscribeUsers TikTok predicts will convertHigher CPA but profitable if < LTV

Tracking Verification

Ad Group → Tracking → TikTok events tracking:

  1. App connected via MMP
  2. Optimization event = Purchase or Subscribe
  3. Status shows 0 errors before publish

Common errors:

ErrorFix
Event not foundRe-sync MMP → TikTok in Events Manager
Event volume too lowWait for test events or send via MMP debug
App ID mismatchVerify bundle ID / package name matches

Appeeky MCP — Create Ad Group

tiktok_ads_create_adgroup
  advertiser_id: "<id>"
  campaign_id: "<id>"
  adgroup_name: "US - Purchase Opt - TikTok Only"
  budget: 50
  budget_mode: "BUDGET_MODE_DAY"
  billing_event: "OCPM"
  optimization_goal: "IN_APP_EVENT"
  schedule_start_time: "2026-08-22 12:00:00"
  schedule_type: "SCHEDULE_FROM_NOW"
  placements: "PLACEMENT_TIKTOK"
  location_ids: "6252001"
  payload:
    promotion_type: "APP_INSTALL"
    placement_type: "PLACEMENT_TYPE_NORMAL"

Note: schedule_start_time is required (TikTok local datetime). placements and location_ids are comma-separated strings, not arrays. Verify US location_ids via TikTok API geo lookup — IDs can change. Extra TikTok fields go in payload.

Step 3 — Ad Level (Creatives)

Navigate: Ad group → Create ad

UI fieldValueNotes
Creative selectionCustom / manualNOT automatic creative asset selection
Ad formatSpark AdsFrom organic posts — see tiktok-spark-ads
Ads countMinimum 6 variantsA/A′/B/B′/C/C′ matrix
IdentitySpark identity from posting accountLink TikTok account to ad account
CTA buttonInstall now / Go to App Store
Display nameApp name or persona account
Selling points1–2 optional bullets"Free trial", "Top rated"

Why Custom Selection

Automatic creative lets TikTok pick which assets run. You lose visibility into which hook/format wins. Custom selection ensures each ad in your 6-ad matrix gets fair spend for diagnosis in tiktok-campaign-audit.

Appeeky MCP — List and Create Ads

tiktok_ads_list_identities
  advertiser_id: "<id>"

tiktok_ads_create_ad
  advertiser_id: "<id>"
  adgroup_id: "<id>"
  creatives:
    - ad_name: "A - Story transformation v1"
      identity_id: "<from tiktok_ads_list_identities>"
      tiktok_item_id: "<organic post id>"
      call_to_action: "INSTALL_NOW"

creatives is required — pass raw TikTok /ad/create objects. Do not pass ad_name / identity_id as top-level MCP args.

Fallback (less recommended):

tiktok_ads_upload_video_from_url
  advertiser_id: "<id>"
  video_url: "<url>"

Realistic Economics

Tell the user honestly before they publish:

RealityDetail
Learning taxFirst $300–500 often lost while creatives and tracking stabilize
Net marginSustainable app ads often net 30–50% after store fees and ad spend
Creative fatigueRefresh or rotate ads every 3–7 days even on winners
Read windowJudge performance after 48 hours / ~$100 spend per creative batch
ScalabilityTikTok paid is predictable once CPA < LTV — unlike organic volatility
CTR benchmark~1% destination CTR is healthy; CPA matters more than CTR

Budget Math for $50/day Test

PeriodTotal spendPer ad (6 ads)Decision point
24 hours~$50~$8/adObserve only — no kills except emergency
48 hours~$100~$17/adFirst full audit
7 days~$350~$58/adIdentify winners, plan refresh

Setup Scoring Rubric

Score readiness 0–2 per item (0 = missing, 1 = partial, 2 = complete). Minimum 16/20 to publish.

#CheckScore
1MMP events verified in TikTok Events Manager
2Optimization event = Purchase or Subscribe
36+ Spark Ads attached with custom selection
4TikTok-only placements (Pangle/Lemon8 off)
5US geo locked
6$50/day budget set
7Tracking shows 0 errors
8Smart+ enabled at campaign level
91 campaign / 1 ad group structure
10Comment filtering configured (optional but recommended)

Common Mistakes

MistakeSymptomFix
Install-only optimizationLow CPI, zero revenueSwitch to Purchase/Subscribe
Automatic placementsMixed performance, unclear creative signalTikTok only
Multiple ad groups on day 1No ad gets enough spend to learnConsolidate to 1 ad group
Automatic creative selectionCan't diagnose which video winsCustom selection
Publishing with tracking errorsZero attributed conversionsFix MMP before spend
Checking dashboard hourlyPremature kills on varianceWait 48h
Scaling before winner identifiedBudget spread across losersAudit first, then +20%/day
Geo expansion too earlyCPA spikes in new marketsStabilize US 7+ days first
Only 2–3 creativesFalse negatives — no clear winnerMinimum 6-ad batch

Publish Checklist

Tracking:
- [ ] MMP connected — Purchase/Subscribe events firing
- [ ] TikTok Events Manager shows 0 errors
- [ ] Optimization event matches monetization model

Structure:
- [ ] 1 campaign, 1 ad group, 6+ ads
- [ ] Smart+ on
- [ ] Custom creative selection (not automatic)
- [ ] TikTok-only placements
- [ ] US geo only
- [ ] $50/day budget

Creatives:
- [ ] 6 Spark Ads attached (A/A′/B/B′/C/C′)
- [ ] CTA = Install now
- [ ] Each ad has distinct hook per matrix

Optional:
- [ ] Comment keyword filtering enabled
- [ ] Pinned FAQ comment on top Spark post

Post-Launch Protocol

  1. Do not refresh dashboard every hour — check once at 24h and 48h
  2. Note campaign start timestamp for audit scheduling
  3. After 48h → run tiktok-campaign-audit
  4. If CPA < target → scale budget +20%/day
  5. If spend > 2× target CPA with 0 conversions → pause immediately
  6. Plan creative refresh by day 5–7 even if winners exist

Appeeky MCP — Post-Launch Monitoring

tiktok_ads_performance
  advertiser_id: "<id>"
  level: "ad"
  days: 2
tiktok_ads_list_ads
  advertiser_id: "<id>"
  adgroup_id: "<id>"

Output Template

markdown
# TikTok Campaign Setup Summary

**App:** [name]
**Date:** [date]
**Readiness score:** [X]/20

## Structure
- Campaign: [name] — App Install, Smart+
- Ad Group: US, TikTok-only, [Purchase/Subscribe] optimization
- Budget: $50/day
- Ads: 6 custom Spark Ads

## Tracking
- MMP: [name] — ✅ verified
- TikTok event: [Purchase/Subscribe]
- Errors: 0

## Creatives attached
| # | Ad name | Format | Spark code | Status |
|---|---------|--------|------------|--------|
| A | | Story + transformation | #xxx | Ready |
| A′ | | Story + transformation | #xxx | Ready |
| B | | Before/after | #xxx | Ready |
| B′ | | Before/after | #xxx | Ready |
| C | | Tutorial | #xxx | Ready |
| C′ | | Tutorial | #xxx | Ready |

## Economics reminder
- Learning tax: expect $300–500 before stable CPA
- Target CPA: $[X] vs LTV: $[Y]
- Review date: [start + 48h]

## Next steps
1. Publish campaign (or activate if created paused)
2. Wait 48h — no premature changes
3. Run tiktok-campaign-audit

Related Skills

  • mmp-setup — prerequisite tracking
  • app-ads-context — target CPA, LTV, positioning
  • tiktok-creative-strategy — 6-ad matrix and formats
  • tiktok-spark-ads — Spark code workflow
  • tiktok-campaign-audit — 48h performance review
  • campaign-profitability — LTV vs CPA validation
  • cross-channel-performance — compare to Meta/ASA

Frequently asked questions

What does the Tiktok Campaign Setup AI skill do?

When the user wants to set up a TikTok app install ad campaign from scratch with correct structure, placements, targeting, budget, and tracking. Use when the user mentions "TikTok ads setup", "TikTok app promotion", "Smart+", "TikTok app installs", "IAE optimization", or "launch TikTok campaign". Requires MMP first — see mmp-setup. For video creative ideas, see tiktok-creative-strategy. For Spark Ads codes, see tiktok-spark-ads.

Why use Tiktok Campaign Setup on TypingMind?

Because you install it once and use it with any model. Tiktok Campaign Setup is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Tiktok Campaign Setup in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/appeeky/ua-skills/tree/main/skills/tiktok-campaign-setup. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Tiktok Campaign Setup?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Tiktok Campaign Setup?

As many as you like. As long as a model supports skills, you can use Tiktok Campaign Setup with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Tiktok Campaign Setup AI skill free?

It is published on GitHub by appeeky. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇