Communitygithub.com

mardab96/tiktok-ads-claude-skills

Sequences planned TikTok edits around the learning phase, separating urgent repairs from optimisation, naming which edits TikTok itself labels as affecting learning, and ordering one observable action at a time with rollback. Use when someone types "can I edit this ad group during learning", "will this reset the learning phase", "campaign is in learning, what can we change", "sequence these changes", or "the client wants five edits this week".

What is tiktok-ads-claude-skills?

tiktok-ads-claude-skills is a Claude Code agent skill that sequences planned TikTok edits around the learning phase, separating urgent repairs from optimisation, naming which edits TikTok itself labels as affecting learning, and ordering one observable action at a time with rollback. Use when someone types "can I edit this ad group during learning", "will this reset the learning phase", "campaign is in learning, what can we change", "sequence these changes", or "the client wants five edits this week".

Works with✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mardab96/tiktok-ads-claude-skills/tree/HEAD/learning-phase-guard-tiktok-ads

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Documentation

Learning Phase Guard

Use this skill when

A conversions campaign or ad group is new, recently changed, or still showing a learning status, and several edits are waiting. This skill decides what goes first, what waits, and what evidence clears each gate. It sits between diagnosis and any live proposal.

Common requests:

  • "Ad group is in learning. Can we raise budget today?"
  • "Does swapping creative reset learning?"
  • "Client sent five edits. What order do we use?"
  • "Is it safe to pause the weak ad group?"
  • "How do we know learning is over?"

Do not use this skill for these jobs:

  • Picking a bid strategy: bid-strategy-check-tiktok-ads.
  • Sizing and staging a budget increase: budget-scaling-planner-tiktok-ads.
  • Fixing events: pixel-events-api-check-tiktok-ads.
  • Finding why CPA moved: cpa-spike-diagnosis-tiktok-ads.

Required input

Work from pasted exports and screenshots. Claude's TikTok for Business MCP connector is optional.

Required

  • Planned edits, one line each: what, level (campaign, ad group, ad), why, who asked, urgency claim.
  • Screenshots of the campaign and ad group tables showing learning status, results count, and budget, as labelled in your Ads Manager.
  • Learning entry date for each ad group. Take it from change history or campaign activity history.
  • Objective, optimization goal, bid strategy label, daily budget, target CPA.
  • Dated change log for the last 14 days and the conversion lag in days.
  • Events Manager diagnostics capture.

Optional

  • Smart+ flag per campaign.
  • Promo or launch calendar with fixed dates.
  • Results export by ad group with date, spend, reported conversions, CPA.

Export route: campaign table, ad group table, and change history. See ../tiktok-ads-shared/references/getting-your-data.md.

Before analysis

  1. Record the status shown on screen for each entity. Account status is stronger evidence than any assumed reset rule.
  2. Count results since entry for each ad group, and days since entry. T05 treats a conversions entity as learning-sensitive until about 25 campaign results or 7 days since entry.
  3. Note that TikTok pages disagree on the count. A June 2026 Learning Phase page says volatility tends to decline after about 25 campaign results or 7 days. A Learning Phase FAQ dated February 2025 and a Smart+ page cite 50 conversions. Record which page you relied on and trust the account status when it differs.
  4. Check whether duplicate or misfiring events inflated the results count. A count built on double-firing is not progress.
  5. List edits already made since entry. Earlier edits may already be spending the observation window.

Analysis workflow

  1. List each proposed edit with level and type: budget, bid or strategy, target, audience, schedule, creative, conversion event, status change, name.
  2. Record learning evidence per entity and label it with T05: learning-sensitive or cleared, with the page or screen relied on.
  3. Split urgent repairs from optimisation. Urgent means broken event delivery, a rejected or non-compliant ad, a wrong price or claim, a brand safety issue, or an offer that ended. Everything else is optimisation.
  4. Classify each edit by TikTok labelling (see Decision rules). Where TikTok publishes no label, the class is unlabelled and the verdict is needs_data.
  5. Check conflicts: two edits to one variable, edits that stack on one day so the read is impossible, and edits that fight Smart+ automation.
  6. Sequence: Slot 0 holds the smallest urgent repair set. Each later slot holds one optimisation action, opens only after the observation window closes (at least the conversion lag), and needs evidence that the prior action is readable (T04 floor of 10 reported conversions per window when you compare CPA).
  7. Allow parallel actions only on independent entities that share no budget, audience, or event.
  8. Write rollback, owner, and check date per slot. A rollback restores the recorded prior value. It does not promise the prior CPA returns.
  9. Produce the change ledger and the hold list. Live edits stop at approval_needed.

Decision rules

TikTok labelling, from its own help pages (confirm current wording in your Ads Manager):

ClassWhat TikTok saysSource and date
Named as affecting learningPausing campaigns or ad groups; edits that retrigger learning status; unreasonable budget or creative volumeLearning Phase page, June 2026
Reset by TikTok's wordingChanging the conversion event at campaign level resets existing ad groups and ads informationEdit ad settings page, November 2025
Named in contextIn the first 7 days of a Smart+ Web campaign, bid, audience, and creative edits may impact learningSmart+ Web best practices, April 2025
Review onlySome edits put an ad or ad group back under review while delivery continuesEdit ad settings page, November 2025
UnlabelledAny other edit, including strategy switches and schedule changesNo label found; ask for an in-product notice screenshot

TikTok does not list on the Learning Phase page which edits retrigger learning. Do not fill that gap from memory.

Editability, per the same edit page: campaign level allows name and budget; ad group level allows name, audience targeting, budget and schedule, and bidding and optimization; ad level allows all settings. Other settings need a new campaign or ad group, which starts its own learning.

ConditionVerdictNext step
Optimisation edit on an entity under about 25 results and 7 days (T05)holdGate: T05 cleared and window closed
Urgent repair, entity in learningapproval_neededSmallest fix first; recount results after (T05)
Pause of an ad group in learning, not urgentholdTikTok names pausing as affecting learning; keep running
Conversion event change at campaign levelholdTreat as a rebuild; new campaign with a defined test
Budget increase while learningpossible impactStay within the per-adjustment ceiling on TikTok's budget page; T06 covers post-learning only
New or swapped creative in the first 7 dayspossible impactAdd after T05 clears unless creative is the urgent repair
Edit with no TikTok labelneeds_dataTreat as learning-sensitive until a notice or screenshot says otherwise
Several edits queued for one dayhold for all but Slot 0Re-slot one per window
Entity cleared (T05), CPA readable (T04 floor met)approval_neededOne action per window; budget via budget-scaling-planner-tiktok-ads (T06)
Status on screen says learning, count says 25 or moremonitorTrust the screen; re-check next window
Event diagnostics show a T10 patternhold on all optimisationpixel-events-api-check-tiktok-ads

Output format

Fill this template.

## Learning guard: [account or campaign], [timezone], [currency]
Strategy label: [as labelled] | Lag: [days] | T05 page relied on: [page, date]

### Learning evidence
| Entity | Status on screen | Results since entry | Days since entry | T05 state | Evidence tag |
|---|---|---|---|---|---|

### Change ledger
| Edit | Level | TikTok label class | Urgency | Verdict | Prerequisite | Rollback value | Owner | Earliest date |
|---|---|---|---|---|---|---|---|---|

### Sequence
| Slot | Date | Single action | Observe until | Gate to open next |
|---|---|---|---|---|

### Findings
| Finding | Evidence | Verdict | Severity | Confidence | Business impact | Next step |
|---|---|---|---|---|---|---|

### Data gaps
[missing status, entry date, notice screenshot, and the verdict each would firm up]

Practical example

Illustrative numbers only. A conversions ad group A entered learning on 2026-09-14 and shows 11 results on 2026-09-18 (day 4). Lag is 7 days. Another ad group B in the same campaign shows 60 results. Client queues five edits.

  1. Purchase event fires twice on the thank-you page. Urgent, measurement impact. Slot 0, approval_needed. After the fix, recount A results because 11 may include duplicates.
  2. Raise A budget by 50%. hold: A is learning-sensitive (T05) and the size is above the T06 step. Re-plan through budget-scaling-planner-tiktok-ads after clearing.
  3. Swap three creatives in A. possible impact on learning, optimisation, hold until T05 clears, then add new ads rather than swapping.
  4. Narrow A audience. TikTok lists audience edits as editable, but publishes no reset label here, so the class is unlabelled, needs_data, hold.
  5. Pause B for weak CPA. B is past learning, but it shares the campaign budget with A, so a pause may move budget into a learning ad group. hold until Slot 0 is read, then one action.

Sequence: Slot 0 event fix on 2026-09-18, observe 7 days, then Slot 1 one budget step if A has cleared and CPA is readable. Rollback for Slot 0 is the previous event configuration, owned by the tracking lead.

Common failure modes

  • Assuming a fixed list of resetting edits. TikTok's Learning Phase page does not publish one.
  • Mixing up a review cycle with a learning reset. A review does not affect delivery per TikTok's edit page.
  • Stacking budget, bid, and creative edits on one day, which makes the next read uninterpretable.
  • Editing to chase early CPA noise. TikTok says performance may fluctuate during learning.
  • Counting results that include duplicate event firing.
  • Pausing and unpausing to restart learning. TikTok names pausing as an operation that can prevent exit.
  • Duplicating an ad group to escape learning. A copy starts its own learning.
  • Setting a budget too small for the CPA, then blaming the algorithm. TikTok names unreasonable budget setting as a blocker; route to bid-strategy-check-tiktok-ads.
  • Treating a Smart+ campaign's learning status as a normal ad group status. Read its own screens.

Route to next

Strategy and budget ratio: bid-strategy-check-tiktok-ads. Staged increase after clearing: budget-scaling-planner-tiktok-ads. Event repair: pixel-events-api-check-tiktok-ads. CPA movement: cpa-spike-diagnosis-tiktok-ads. Automated campaign: smart-plus-audit-tiktok-ads. Client communication of the hold: weekly-client-report-tiktok-ads.

Guardrails

  • Do not make a live account, budget, bid, placement, tracking, Shop, page, or creative change.
  • Do not state that an edit does or does not reset learning unless a dated TikTok page or an in-product notice says so.
  • Do not recommend pausing a learning ad group unless the reason is urgent.
  • Do not queue more than one optimisation action per observation window on the same entity.
  • Do not override the status shown on screen with a count or a rule of thumb.
  • Do not present platform-reported conversions or GMV as profit without the supplied cost stack.
  • Do not hide missing dates, lag, attribution settings, or conversion definitions.
  • Do not claim a result before a controlled measurement exists.

Individual skills in this repo

This repo contains 18 individual skills — each has its own dedicated page.

mardab96/tiktok-ads-claude-skills

Runs an ordered, layer-by-layer triage of an unfamiliar TikTok Ads account (tracking, structure, learning, creative, bidding, landing page) and hands the first blocker to one named sibling skill. Use when the user inherits a TikTok account, onboards a client, asks where to start, says TikTok results dropped with no known cause, asks whether an account is ready to scale, or says "audit this TikTok account" without naming a problem.

mardab96/tiktok-ads-claude-skills

Reconciles TikTok Ads Manager conversions with GA4, Shopify, CRM, or app analytics using a baseline-ratio method, separating click-through from view-through credit, attribution window and timezone differences, and real tracking drift (T07). Use when a TikTok media buyer or client says "TikTok says 200 sales, Shopify says 90", "GA4 does not show our TikTok conversions", "TikTok ROAS looks too good", "the gap got bigger this month", or "which number do we report to the client".

mardab96/tiktok-ads-claude-skills

Checks whether a TikTok ad group's bidding strategy fits its goal, budget, and conversion volume using the labels TikTok currently lists (Maximum Results, Target Cost per Result, value options as shown in the account) and asks for a screenshot before mapping any legacy name. Use when someone types "Maximum Results or Target Cost per Result", "Cost Cap vs Lowest Cost on TikTok", "our target CPA is too low and delivery died", "bid strategy check", or "should we use hybrid bidding".

mardab96/tiktok-ads-claude-skills

Builds a staged TikTok budget plan with entry gates, one change per observation window, stop rules, and a recorded rollback, using T04, T05, T06, and T10 from the shared register. Use when someone types "can we scale this TikTok campaign", "double the budget on the winner", "how fast can I raise the daily budget", "scale before the sale", or "plan the budget increase for next week".

mardab96/tiktok-ads-claude-skills

Strips personal data from TikTok ad comments, clusters them into objections, questions, proof requests, and noise with counts, links each cluster to product facts, and drafts reply options and hook ideas for approval. Use when the user pastes TikTok comments and asks "what are people objecting to", "mine the comments for hooks", "draft replies to these comments", "what do viewers keep asking", or wants an FAQ and creative briefs built from comment themes.

mardab96/tiktok-ads-claude-skills

Diagnoses a TikTok CPA jump by splitting it into CPM, CTR, and CVR movement between a baseline and a current window with the cpa_decompose.py helper, then checking tracking, changes, mix, creative, and landing page in that order. Use when someone types "TikTok CPA doubled", "cost per purchase is up 40%", "why did CPA spike", "CVR dropped but clicks are fine", or "the client wants to know what broke".

mardab96/tiktok-ads-claude-skills

Detects whether a TikTok ad is tiring by comparing the last seven distinct dates with the preceding seven for frequency and CTR, using the bundled fatigue_scan.py script and a 14-date rule, then builds a control-versus-refresh queue. Use when the user asks "is this TikTok ad fatigued", says CTR is dropping while frequency climbs, wants to know when to refresh TikTok creative, or pastes a daily ad export and asks which ads to replace.

mardab96/tiktok-ads-claude-skills

Turns TikTok Shop and GMV Max reporting into a per-product cost-stack ledger with refunds, affiliate commissions, seller-funded coupons, referral fees, ad spend, COGS, and seller-borne shipping, using gmv_profit.py to flag any incomplete cost stack (T09). Use when a TikTok Shop seller or media buyer says "GMV Max ROI looks great but we are not making money", "is this product profitable on TikTok Shop", "check our TikTok Shop margins", "affiliate commissions are eating us", or before raising a GMV Max budget or ROI target.

mardab96/tiktok-ads-claude-skills

Scores the opening seconds of TikTok ads by computing 2-second and 6-second view rates and a thumb-stop proxy from ad-level export columns, comparing them with like-for-like ads, and scoring the script opening on a five-point rubric. Use when the user asks "which TikTok hook is weak", "what's my hook rate", "why do people scroll past my ad", wants a hook test plan, or pastes a transcript of the first seconds next to video-view columns.

mardab96/tiktok-ads-claude-skills

Checks TikTok Pixel and Events API health from Events Manager screenshots and an Ads Manager export, covering event match signals, event_id deduplication between browser and server events, parameter completeness on value events, and primary-event drops against stable clicks (T10). Use when a TikTok media buyer says "purchases dropped but clicks are flat", "check our TikTok pixel", "is Events API deduplicating", "Events Manager shows a diagnostic warning", "TikTok value does not match our orders", or before any bid, budget, or scale call that depends on TikTok conversion data.

mardab96/tiktok-ads-claude-skills

Reviews TikTok Ads delivery split between the TikTok placement and Pangle or TikTok Ad Network inventory (as labelled in your Ads Manager), testing CPA and downstream quality per placement against T08 and keeping brand safety and suitability as a separate question. Use when a TikTok media buyer says "should we turn off Pangle", "where is our TikTok spend actually going", "automatic placement is eating budget", "network traffic converts badly", "is our TikTok ad showing next to unsafe content", or when a client asks for a placement and brand safety readout.

mardab96/tiktok-ads-claude-skills

Reviews TikTok Search Ads search terms and keywords and decides what to add as a keyword, add as a negative, or watch, with match handling as labelled in the account and a lag-aware waste floor. Use when someone types "review our TikTok search terms", "negative keyword list for TikTok Search Ads", "which queries should become keywords", "broad match is bringing junk", or "Search Ads spend with zero conversions".

mardab96/tiktok-ads-claude-skills

Audits a TikTok Smart+ campaign by mapping what Smart+ automates against what the media buyer still controls (creative supply, audience exclusions, conversion event, budget, bidding), then ranks the risks. Use when someone types "audit our Smart+ campaign", "what does Smart+ actually control", "Smart+ vs manual", "Smart+ spend is up but results are flat", or "can we trust Smart+ with this budget".

mardab96/tiktok-ads-claude-skills

Compares TikTok Spark Ads with brand-handle ads like-for-like by matching objective, optimization event, audience, offer, placements, bidding label, dates, and concept before any metric is read, then records authorization status and designs a matched test when no clean pair exists. Use when the user asks "do Spark ads perform better than our brand ads", "Spark vs non-Spark", "should we boost creator posts", "why is the creator ad cheaper", or pastes ad-level data with a format column and wants a verdict.

mardab96/tiktok-ads-claude-skills

Writes a complete creator-facing UGC brief for TikTok ads, with viewer situation, one message, three hook options, scene structure, claims allowed and forbidden, do and don't lists, disclosure, usage rights, and a Spark authorization note, plus an internal approval checklist. Use when the user says "write a UGC brief for TikTok", "brief a creator", "I need a creator script with approved claims", "what rights do I need to run this creator video as an ad", or has product facts and needs something a creator can film from.

mardab96/tiktok-ads-claude-skills

Finds mature TikTok campaigns, ad groups, and ads that spent past a CPA-based floor with zero reported conversions, after excluding rows still inside the conversion lag, using the wasted_spend.py helper. Use when someone types "where is the wasted spend on TikTok", "which ad groups burn budget with no conversions", "what can we cut before we scale", "zero conversion ads", or "clean this account before the client call".

mardab96/tiktok-ads-claude-skills

Writes the weekly TikTok Ads client report as a plain-language narrative, a scorecard against the client goal, and next-week decisions with owners and approvals, after an integrity check on tracking, lag, and learning status (T04, T05, T07, T10). Use when an agency or freelance TikTok media buyer says "write the weekly TikTok report", "client update is due", "explain this week's TikTok results to the client", "what do we tell the client about CPA going up", or "set up a repeatable TikTok report format".

mardab96/tiktok-ads-claude-skills

Turns one proven TikTok ad into N distinct angle scripts, each with hook, body beats, CTA, on-screen text, and a shot list, after deconstructing why the winner worked and checking every claim against product facts and rights. Use when the user says "remix my winning TikTok ad", "give me new angles on this winner", "I need five scripts like this one", "my best ad is wearing out, what next", or pastes a winning transcript and asks for variations.

Related Skills