agentleFS
gomarble-aigomarble-ai/marketing-agent/skills/tiktok-ads/SKILL.md

tiktok-ads

Skill15 starsChanged 38 days agoMITView on GitHub

Use for any TikTok Ads work that isn't a new launch: performance and creative reports, audience breakdowns, account balance and quotas, ad review status and rejections, change history, automated rules, Smart+ and Smart Creative campaigns, split tests, Reach & Frequency, offline events, and editing or copying TikTok campaigns, ad groups and ads. For new launches use launch-campaigns.

8 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

1 rule. 0 are common, 0 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 7 edited versions we read keep these.

  • 0

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Read, analyze and operate TikTok Ads through GoMarble.

    line 8

“Common” is measured: kept by at least 6 in 10 of the 7 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

TikTok Ads

Read, analyze and operate TikTok Ads through GoMarble. For new launches, use launch-campaigns (which follows tiktok-create-master-skill).

Beta, and no applied changes through the connector. Tools marked (β) are part of a TikTok tools beta. Accounts outside the beta don't see them at all; if the user asks for something that needs one, say it's in GoMarble's TikTok beta (they can contact GoMarble support). TikTok changes can't be applied through the connector today — the connector can't be granted TikTok write permission. For accounts in the beta, the propose tools still work in dry-run mode, which validates the change; then give the user the exact edit to make in TikTok Ads Manager or the GoMarble web app.

Setup and conventions

  • Accounts: tiktok_list_ad_accounts. Details, currency and timezone: tiktok_get_account_details. Money is in the advertiser's currency, never micros; pass currency_code on changes.
  • Business Centers: tiktok_list_business_centers (β) supplies the bc_id that finance and catalog tools need.
  • Lists paginate. When a response says has_more_pages, call tiktok_fetch_pagination before totaling.
  • Regular list tools don't return Smart+ campaigns. Use tiktok_get_smart_plus (β) for those.

Reporting and analysis

QuestionTool
Campaigns, ad groups, ads and their settingstiktok_get_campaigns, tiktok_get_adgroups, tiktok_get_ads
Performance at any level (sync)tiktok_get_basic_report_enhanced. Include a time dimension for revenue and ROAS metrics, and pick purchase metrics by destination (website, app or TikTok Shop).
Large or long-range reportstiktok_get_async_report (β). If it says still_processing, call again with the task_id.
Age, gender, location and other audience segmentstiktok_get_audience_report
Spend and engagement per creativetiktok_get_creative_report (β), and tiktok_get_ad_creative_url for the media itself
What changed in the accounttiktok_get_change_log (β). Async, at most 30 days per request.
Account balance, or active ad group quotatiktok_get_account_finance (β): BALANCE needs bc_id; QUOTA needs the advertiser ID
Why ads were rejected, and how to fix themtiktok_get_ad_review_info (β). Pass up to 100 ad IDs in one call.
Automated rules and their historytiktok_get_automated_rules (β). Check before proposing budget or status changes so a rule doesn't undo them. Rules can only be created in TikTok Ads Manager.
Tracking setuptiktok_list_pixels (β) and tiktok_list_custom_conversions (β). Offline event sets: tiktok_get_offline_event_sets (β).
Audiences and targetingtiktok_list_audiences (β), tiktok_search_targeting (β, locations only), tiktok_search_interests (β)
Catalogs and TikTok Shop storestiktok_list_catalogs (β)
Identities, musictiktok_get_identities (β), tiktok_get_music (β)

Apply the same diagnosis discipline as other channels (diagnose-performance, analyse-creative): compare against the account's own baseline, and don't judge ad groups with too few conversions.

Operations (β): prepare and validate

Use these to prepare a TikTok change and validate it as a dry run (mode: "dryrun", the default). Show the user the validated change, then give them the exact steps to apply it in TikTok Ads Manager. A mode: "live" call returns a permission error (606) for AI app connections; don't retry it. TikTok has no platform-side validation, so review carefully.

ChangeToolWatch out for
Campaign name, budget, statustiktok_propose_update_campaignsBids live on ad groups, not campaigns.
Ad group name, budget and bids, schedule, dayparting, targeting, audiences, statustiktok_propose_update_adgroupsList fields replace the whole list. Placement, optimization goal, billing event and pixel can't change after creation.
Ad name, text, media, music, Spark post, identity, statustiktok_propose_update_adsCreative changes send the ad back to review. The CTA and landing page can't be changed.
Copy a campaigntiktok_propose_copy_campaignThe copy starts disabled.
Smart+ campaigns: create, update, status, budget, copytiktok_propose_manage_smart_plusRead first with tiktok_get_smart_plus. Budget updates take one ad group per proposal. Follow tiktok-create-master-skill → references/smart-plus.md.
Smart Creative (ACO) ads and materialstiktok_propose_manage_smart_creativeRead first with tiktok_get_smart_creative. Send list fields complete. Keep the ad group paused while reviewing.
Split tests: create, reschedule, endtiktok_propose_manage_split_testCreating a test overwrites both ad groups' budgets. Ending is irreversible. Read results with tiktok_get_split_test at least 24 hours after the test ends.
Reach & Frequency campaigns and ad groupstiktok_propose_manage_reach_frequencyEstimate first with tiktok_get_reach_frequency. Approving an R&F ad group reserves real budget and can't be paused; the only undo is cancelling the order. Say so before asking for approval.
Appeal a rejected ad, or create or update an offline event settiktok_propose_manage_review_and_eventsAn appeal is one-shot per rejection, so fix what tiktok_get_ad_review_info suggests first.
Upload a video or image to the asset librarytiktok_upload_assetA direct write with no dry run, so it needs TikTok write permission and isn't available to AI app connections today.

Put it on a schedule

Offer a daily TikTok performance or creative fatigue agent (see automate-with-agents). Agents that make changes need a Meta or Google account in scope, so TikTok agents are read-only.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.