Communitygithub.com

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.

tiktok-ads-claude-skills 是什么?

tiktok-ads-claude-skills is a Claude Code agent skill that 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.

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mardab96/tiktok-ads-claude-skills/tree/HEAD/pixel-events-api-check-tiktok-ads

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Pixel and Events API Check: TikTok Ads

Use this skill when

A buyer needs to know whether TikTok receives the conversion signal it optimises toward, before anyone acts on CPA, ROAS, or learning-phase behaviour. Diagnosis runs from Events Manager screenshots plus an Ads Manager export. A TikTok for Business connector in Claude helps when present and is never required.

Typical requests:

  • "Purchases in TikTok fell off a cliff yesterday but traffic looks normal."
  • "We added Events API through our Shopify app. Are we double counting now?"
  • "Events Manager shows a warning on CompletePayment. Does it matter?"
  • "Purchase value in TikTok is far off our order totals."
  • "Before we change bidding, confirm tracking is clean."

Do not use this skill when:

  • TikTok and GA4, Shopify, or CRM disagree while each source looks internally healthy. Run attribution-gap-check-tiktok-ads.
  • CPA rose and event counts still track clicks. Run cpa-spike-diagnosis-tiktok-ads.
  • Event volume holds and conversion rate fell after a page or offer change. Run landing-page-match-tiktok-ads.
  • A TikTok Shop order and fee question sits behind the request. Run gmv-max-profit-check-tiktok-ads.

Required input

Tracking diagnosis needs both sides: what the site sent and what TikTok received. Screenshots are enough.

From Events Manager (start in Assets or Events Manager, as labelled in your account), select the data source and capture:

  1. Overview: data source name, connection method (Pixel, Events API, or both), last received time.
  2. Event list: each event name with volume for the last 14 days, plus the browser and server split where shown.
  3. Diagnostics: every message with its date and the affected event, copied as text where possible.
  4. Matching or event quality view for each primary event, as labelled in your Events Manager.
  5. Event detail or parameter view for each primary event, showing which parameters arrive (value, currency, content_id, content_type).
  6. Test Events view from one fresh test purchase or lead, if the team can run one safely.

From Ads Manager, a daily campaign-level export covering 28 days, with these columns as labelled in your export: Date, Campaign name, Optimization event, Cost, Impressions, Clicks (destination), Conversions, Cost per conversion, and Total purchase value or conversion value where relevant. Twenty-eight days gives a clean seven-day baseline and current window for T10 plus room for lag.

From the business:

  • Site URL and platform (Shopify, WooCommerce, custom build, app).
  • Events treated as primary, with the user action that should fire each one.
  • Conversion lag in days for the primary event.
  • Dated change log: theme, checkout, consent banner, tag manager, Events API partner or gateway changes.

Every missing item becomes needs_data in the output, named, together with the conclusion it blocks.

Optional input

  • Backend order or lead count per day for the same dates (shop_export or analytics_export). It separates a tracking loss from a real demand drop.
  • Developer notes or payload samples showing how event_id is generated on browser and server.
  • Consent banner configuration and the regions it applies to.

Before analysis

  1. Confirm which data source each campaign uses. Accounts with several pixels or a legacy pixel next to a new one often optimise toward a source nobody watches.
  2. Confirm the primary event name per campaign from the ad group setup screenshot, since export column names can hide which event counts as a conversion.
  3. Record the conversion lag and drop lag days from the current window before reading any trend.
  4. Ask whether anyone ran test purchases or test leads in the period; those inflate small counts and belong in the notes.

Analysis workflow

  1. Build the event map. List every event the data source receives, mark which event each campaign optimises toward, and note whether it arrives from browser, server, or both. A campaign optimising toward an event the business does not treat as primary is a finding on its own.
  2. Read diagnostics as dated evidence. Record each message, its date, and the affected event. Diagnostics confirm that an implementation signal exists; they never size lost revenue.
  3. Run the T10 check. Compare the primary event and clicks across two comparable seven-day windows with lag days removed from the current window. Escalate when the event falls at least 30% while clicks stay within 10% of baseline (T10).
  4. Check deduplication wherever Pixel and Events API send the same event. Both payloads need the same event name and the same event_id for one real action. Warning signs: reported events near double the backend count, event_id present on only one side, or an event_id built from a value generated twice (for example a timestamp created separately in browser and server).
  5. Check event match signals. Read the matching or quality view for each primary event and list the customer parameters that arrive (hashed email, hashed phone, external_id, ttclid, IP, user agent, as labelled). A server event with few match parameters can arrive on time and still attribute poorly.
  6. Check parameter completeness. Purchase-type events need value and currency on every event, a currency that matches the store, and a value that follows the order total definition the business uses (with or without tax and shipping). Catalog-linked events need content_id values that match catalog IDs.
  7. Put the change log on the event timeline. A drop that starts on a deploy date is likely tied to it. Confirmation needs a Test Events failure, a matching diagnostic, or a developer check.
  8. Cross-check backend counts when supplied. Backend orders stable while TikTok events fell points at tracking. Backend orders falling by a similar share points at demand, offer, or site, and routes away from this skill.
  9. Write the handoff: what a developer checks, which media actions a buyer holds, and which counts will prove the fix.

Decision rules

ConditionEvidenceVerdictNext step
Primary event down at least 30% while clicks stay within 10% of baseline, mature windows (T10)ads_export + events_diagnosticslikely tracking loss; confirmed only with a Test Events failure or matching diagnosticDeveloper handoff; hold budget, bid, and creative kills on affected campaigns
T10 met and backend orders fell by a similar shareads_export + shop_exportpossible tracking issue, demand or site cause strongerRoute to cpa-spike-diagnosis-tiktok-ads or landing-page-match-tiktok-ads
Browser and server send one action without a shared event_idscreenshot of setup or payloadconfirmed dedup gapapproval_needed from site owner for event_id fix before value-based bidding work
Reported-to-backend ratio jumps on the day Events API went liveevents_diagnostics + shop_export + change_loglikely double countingSame as above; remeasure one full week after fix
value or currency missing or wrong on purchase eventsevents_diagnostics or screenshotconfirmedhold value-based bid decisions; route to bid-strategy-check-tiktok-ads after fix
Diagnostic warning present while events track clicksevents_diagnosticsmonitorLog it in the normal developer queue
Fewer match parameters than the implementation claims to sendscreenshot of matching viewpossible attribution lossDeveloper check of advanced matching and server payload
Diagnostics capture or click export missingnoneneeds_dataRequest the named capture

T10 opens an investigation. Revenue lost stays unsized unless a backend comparison supplies it.

Output format

## Pixel and Events API Check: [data source], [dates], [timezone]

**Verdict:** [shared verdict label] because [strongest evidence]
**Primary event(s):** [names] | **Connection:** [Pixel / Events API / both] | **Lag excluded:** [days]

### Event map
| Event | Source (browser / server / both) | Optimised by | Business meaning | Status |
|---|---|---|---|---|

### T10 window check
| Window | Dates | Clicks | Primary events | Change vs baseline |
|---|---|---|---|---|
| Baseline | | | | |
| Current | | | | |
T10 result: [met / not met / needs_data]

### Deduplication and parameters
- event_id on browser: [yes / no / unknown]; on server: [yes / no / unknown]; shared per action: [yes / no / unknown]
- value and currency on purchase events: [finding + evidence tag]
- content_id matches catalog: [finding + evidence tag]
- Match parameters seen: [list]

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

### Developer handoff
1. [check] | owner: [name] | verify by: [Test Events run or count comparison]

### Media actions on hold
- [campaign and action] held until [condition]

### Remeasurement plan
[windows, counts, and ratio that will show the fix worked]

### Data gaps
- [missing item]: blocks [conclusion]

Practical example

Illustrative numbers for a fictional store, not a benchmark. A Shopify skincare brand optimises one campaign toward CompletePayment. Baseline week: 4,210 clicks and 162 CompletePayment events. Current week: 4,050 clicks (down 3.8%) and 88 events (down 45.7%). T10 is met. Shopify shows 151 orders in the current week against 158 in the baseline, so demand held.

Change log shows a new checkout extension deployed on day two of the current week. Events Manager lists a diagnostic on CompletePayment dated that same day. Event source view shows server events continuing while browser events stopped.

Output: tracking loss is likely, severity high, impact measurement. Developer handoff asks to confirm the browser purchase event fires on the new checkout and that browser and server share one event_id once restored, so the repair does not swing into double counting. Media actions on hold: no budget cut, no creative kills, and no bid change on that campaign, because its CPA for the affected days is inflated by missing events. Remeasurement: one full seven-day window after the fix, with the TikTok-to-Shopify ratio back inside its pre-change range.

Common misreads

  • Calling tracking broken from CPA alone. CPA rises for auction, creative, and page reasons; T10 needs the click comparison.
  • Treating a diagnostics warning as proof of lost sales. Some warnings coexist with healthy volume.
  • Celebrating a jump in conversions in the week Events API launched. A missing or mismatched event_id can double the count overnight.
  • Expecting TikTok events to equal Shopify orders. Click and view windows make them differ; ratio stability over time is what matters, and that belongs to attribution-gap-check-tiktok-ads.
  • Including lag days in the current window, which makes any week look like a drop.
  • Missing a consent banner change in one region, which can cut browser events while server events continue.
  • Reading website pixel events and TikTok Shop orders under GMV Max as one stream.

Route to next

  • Tracking confirmed healthy, CPA still up: cpa-spike-diagnosis-tiktok-ads (T04).
  • Events healthy, gap with Shopify, GA4, or CRM moved: attribution-gap-check-tiktok-ads (T07).
  • Fix shipped and campaigns need edits afterwards: learning-phase-guard-tiktok-ads (T05) before any live change.
  • Value parameters repaired and the team wants a value-based bid change: bid-strategy-check-tiktok-ads.

Guardrails

  • Do not change pixel, Events API, consent, or site code. Output stops at a developer handoff.
  • Do not label tracking confirmed broken without a Test Events failure, a diagnostic message, or a backend comparison.
  • Do not estimate revenue lost from diagnostics alone.
  • Do not recommend budget, bid, or creative changes on a campaign whose primary event met T10 until remeasurement is done.
  • Do not ask for raw customer emails, phone numbers, or IP addresses; parameter coverage screenshots are enough.
  • Do not invent Events Manager menu or metric names; quote what the screenshot shows.

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

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".

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.

相关技能