
InsightfulPipe publishes this guide, and its steps use InsightfulPipe's hosted Meta Ads and TikTok Ads servers. Ads Manager's own reports and the creative analytics tools that rank for this topic come near the end.
Last updated: 2026-10-02
Short answer: Creative performance analysis ranks each ad creative on its own results: hook rate, hold rate, CTR, CPA and ROAS, with frequency to catch fatigue, and only once each metric has enough data. To run it in Claude, connect Meta Ads and TikTok Ads in InsightfulPipe, add the Meta Ads MCP server and the TikTok Ads MCP server as custom connectors, and ask for a leaderboard. Plans start from $29.99 a month.
Creative performance analysis with Claude: the quick version
Six steps take you from two connected ad accounts to a ranked list of your creatives, each with its own section and prompt below.
- In InsightfulPipe, open Connected accounts and connect Facebook Ads and TikTok Ads.
- Choose Read-only while Claude only reports.
- In Claude, open Customize > Connectors and add
https://facebook-ads.insightfulmcp.com/andhttps://tiktok-ads.insightfulmcp.com/as custom connectors. - Switch both connectors on in a new chat.
- Paste the leaderboard prompt from step 3.
- Rank only creatives past the minimums, then pause the losers once you approve.
Four ways to rank ad creatives, at a glance
Four routes cover most teams, and they differ on platforms per view, ready-made hook and hold rates, and acting on a loser.
Route | Platforms in one view | Hook and hold rate | Acts on a loser | Starting price |
|---|---|---|---|---|
Claude with InsightfulPipe | Meta, TikTok and Google Ads, plus 47 more platforms | Built from raw 2-second, 3-second, 6-second and ThruPlay counts | Pauses or disables, each action a switch per account | From $29.99 a month |
Ads Manager and TikTok Ads Manager | One platform each | Video columns you add yourself | By hand | Included with your ad account |
Creative analytics platforms | One to five platforms, by vendor | Ready-made dashboards | Varies by vendor | $175 to $750 a month where published |
Spreadsheet exports | Whatever you export | Your own formulas | No | Your time |
What does creative performance analysis measure?
Creative performance analysis asks four questions of every ad, in order: did it stop the scroll, did it hold attention, did it earn the click, and did it make money. Frequency then tells you when those answers start to slip.

Read each count at its source, because the platforms count views differently. TikTok counts every start as a video view (TikTok), so video views sit close to impressions while far fewer plays reach two or six seconds. In the example above, a hook rate built on video views reads 89%. Built on two-second views, it reads 26%.
Metric | Formula | Meta field | TikTok field | What it tells you |
|---|---|---|---|---|
Hook rate | 3-second plays / impressions |
|
| The opening stops the scroll |
Hold rate | ThruPlays / 3-second plays |
|
| The body keeps attention |
CTR | Link clicks / impressions |
|
| The offer earns a click |
CPA | Spend / conversions |
|
| Cost of each result |
ROAS | Conversion value / spend |
|
| The creative pays back |
Frequency | Impressions / reach |
|
| Repeat views per person |
Meta counts a 3-second play at 3 seconds of video, and a ThruPlay at completion or 15 seconds (Meta). Motion's published benchmarks call a 30 to 40% hook rate strong and under 25% a sign the opening needs work, with average hold rates of 40 to 50% (Motion).
CPA and ROAS use each platform's own attribution, so each platform credits itself. Check totals against GA4 or your store in the same InsightfulPipe workspace.
How much data do you need before you judge a creative?
Judge each metric only once its own base is big enough: impressions for hook rate, clicks for CTR and conversion rate, and purchases for CPA and ROAS. Below that, one lucky day can decide the ranking.
- Hook rate: at least 2,000 impressions, which pins a 30% hook rate to about 2 points either way. At 200 impressions, the error is about 6.
- Hold rate: about 500 three-second plays, the number 2,000 impressions give at a 25% hook rate.
- CTR and conversion rate: 50 to 100 clicks before you compare them.
- CPA and ROAS: at least 3 to 5 purchases, which means spending 3 to 5 times your target CPA.
Motion's guide sets a similar floor: at least 3 days and 2,000 impressions, 50 to 100 clicks or 3 to 5 purchases per creative (Motion).
The platforms add their own clocks. Meta says an ad set usually leaves its learning phase after about 50 results in the week after its last significant edit (Meta). TikTok says volatility starts to fall after about 25 campaign results or 7 days (TikTok). Read CPA from a newer ad set as provisional until then.

Small counts swing hard. At 3 purchases, a fourth sale cuts CPA by 25%. At 50 purchases, one more moves it by 2%.
How do you compare creatives fairly across Meta, TikTok and Google Ads?
Rank creatives inside each platform first, then compare platforms only on metrics they define the same way. Spend, CTR, CPA and ROAS travel when the dates, currency, conversion event and attribution window match. Hook rate does not.
Meta Ads | TikTok Ads | Google Ads Performance Max | |
|---|---|---|---|
Unit you rank | The ad | The ad | Each asset in an asset group |
Hook metric | 3-second plays | 2-second and 6-second views | None in Google's asset guide |
Money metrics | CPA and ROAS per ad | CPA and ROAS per ad | Conversions, value and cost per asset |
Watch for | Dynamic creative, reported by asset with fewer metrics | "Video views" counts every start | Asset rows overlap inside one ad |
InsightfulPipe action |
|
|
|
- Hook metrics differ. For a side-by-side hook rate, pair Meta's 2-second continuous plays,
video_continuous_2_sec_watched_actions, with TikTok's 2-second views. Most of Meta's 2-second plays have at least half the video in view, so the match is close, not exact (Meta). - Attribution differs. Meta reports set their windows with
action_attribution_windows, while TikTok keeps anattribution_windowon each ad group, inadgroups_metadata. Match them before you compare CPA. - Dynamic creative hides the unit. Meta's creative-level reporting leaves out dynamic creative ads (Meta). The API splits them by
image_assetorvideo_asset, but only for delivery, spend and actions, and not at account level (Meta). - Performance Max has no ad-level view. Google builds PMax ads from each asset group's assets, so individual ad results stay out of reach (Google). Asset rows now carry impressions, clicks, conversions, value and cost (Google). Compare images with images in one asset group, and never sum asset rows, since one ad shows several.
Step 1: Connect Meta Ads and TikTok Ads in InsightfulPipe
Step 1 links your ad accounts to InsightfulPipe. You pick the access level before you sign in to Meta or TikTok, so you decide up front what Claude can do.
- Open Connected accounts and click Connect account.
- On Add an integration, find Facebook Ads and click Connect.
- Choose Read-only for analysis, or Read & write if Claude should pause losers.
- Click Continue with Facebook Ads, sign in with Facebook and select your ad accounts.
- Repeat for TikTok Ads, signing in with TikTok for Business and picking your advertisers.

Each ad account and advertiser becomes its own connection, with its own actions, and one Facebook Ads connection covers Facebook and Instagram ads.
Step 2: Add the servers to Claude
Step 2 adds each server to Claude as a custom connector. Custom connectors work on Claude's Free, Pro, Max, Team and Enterprise plans, and Free allows one (Anthropic).
- In Claude, open Customize > Connectors, click + Add, then Add custom connector.
- Name it Meta Ads, paste
https://facebook-ads.insightfulmcp.com/, click Continue, then Add. - Click Connect, and sign in to InsightfulPipe if asked.
- Repeat with
https://tiktok-ads.insightfulmcp.com/for TikTok Ads. - In a new chat, click +, open Connectors and switch both on.

The InsightfulPipe MCP server, https://main.insightfulmcp.com/, covers both platforms in one connector, Google Ads included, which suits Claude's Free plan.
Under Customize > Connectors, open the connector's Tool permissions. Set query_data to Always allow and execute_action to Needs approval (Anthropic). Reports then run on their own, and every change waits for your click.

Step 3: Build the creative leaderboard
Step 3 is one prompt. It pulls 30 days of ad-level data from both platforms, computes hook and hold rate from raw counts, and ranks only the creatives that cleared the minimums.
Build a creative leaderboard for the last 30 complete days.
Meta ad account [AD_ACCOUNT_ID]: run get_insights_adaccount at level
"ad" with fields ad_id, ad_name, spend, impressions, frequency,
inline_link_click_ctr, actions, cost_per_action_type, purchase_roas,
video_thruplay_watched_actions.
Hook rate = 3-second plays (video_view action) / impressions.
Hold rate = ThruPlays / 3-second plays.
TikTok advertiser [ADVERTISER_ID]: run integrated_report_basic at
data_level AUCTION_AD, dimensions ["ad_id"], page_size 1000, metrics
ad_name, spend, impressions, ctr, frequency, conversion,
cost_per_conversion, complete_payment_roas, video_watched_2s,
video_watched_6s.
Hook rate = video_watched_2s / impressions.
Hold rate = video_watched_6s / video_watched_2s.
Conversion event: [purchase]. Rank only ads with 2,000+ impressions
and spend above [3 x TARGET CPA]. One table per platform, sorted by
ROAS, then CTR: spend, CTR, CPA, ROAS, hook rate, hold rate, frequency.
List other ads under "Not enough data" with what each still needs.
Read only. Do not change anything.Claude runs both reads through query_data, the read-only tool, so neither account changes. We ran every action and field in this prompt on our own Meta and TikTok accounts while writing this guide.
Rank static images, which have no plays, against other statics. The free Meta Ads Creative Ranker skill, Facebook Ads creative prompt and TikTok Ads creative prompt are shorter starting points.
Step 4: Find out why the winners win
Step 4 turns the ranking into a brief. Claude reads the copy, call to action and format of the top and bottom ads, then looks for what the winners share.
For the top 5 and bottom 5 ads in each leaderboard table:
Meta: run get_ad_creatives_by_ad with fields title, body,
call_to_action_type, object_type and video_id.
TikTok: run ads_metadata with fields ad_text, call_to_action, ad_format
and video_id, and match the rows to those ad IDs.
Tag each ad by format, opening line, offer and call to action.
Show which tags winners share and losers lack, and how many ads
back each pattern. Read only.To bring the hook into the analysis, name ads with a fixed pattern, such as ugc_question-hook_30s, and Claude groups results by each part of the name. Motion recommends the same naming discipline (Motion).
Step 5: Catch creative fatigue early
Creative fatigue is a rising cost per result as the same people see the same ad too often. Meta flags it for some ad sets, and a daily trend catches the rest.
Meta shows Creative limited when an ad's cost per result sits above your past ads but below twice their level, and Creative fatigue at twice or more. It does this only for ad sets with one creative, outside dynamic creative and Advantage+ catalog and app campaigns (Meta).
For everything else, use a working rule: flag an ad when CTR falls 20% or more from its first week while frequency rises, and act when cost per result follows.
For each leaderboard ad with 2,000+ impressions, over the last 30 days:
Meta: run get_insights_ad with time_increment 1 and fields date_start,
impressions, frequency, inline_link_click_ctr, cpm, cost_per_action_type.
TikTok: run integrated_report_basic at AUCTION_AD with dimensions
["ad_id", "stat_time_day"] and metrics impressions, frequency, ctr, cpm,
cost_per_conversion.
Compare each ad's last 7 days with its first 7 days, and flag ads where
CTR fell 20% or more while frequency rose. Read only.The free Ad Creative Fatigue Detector skill packages the same check for repeat use.
Step 6: Pause the losers, with your approval
Step 6 acts on the list only after you say yes. On a Read & write connection, Claude pauses Meta ads or disables TikTok ads, and Needs approval puts your click before each change.
From the leaderboard, list the ads to pause: the bottom quarter on ROAS
with spend above [3 x TARGET CPA], plus any flagged for fatigue.
Show the evidence for each, then wait for my yes.
Pause Meta ads with update_ad and status PAUSED.
Disable TikTok ads with ad_status_update and operation_status DISABLE.
PAUSED is the only status the Meta server accepts, so you set ads live again yourself, in Ads Manager. For a Monday review, save the step 3 prompt as a weekly scheduled task in Claude Cowork (Anthropic), and keep it read-only.
What Claude may change, and who decides
Claude can only run the actions an admin leaves switched on for each account, and every limit below is a switch. Those switches make InsightfulPipe the safest way to let an AI agent change Meta Ads and TikTok Ads.
- Meta Ads: 53 actions, 38 read, 12 write and 3 deletes. TikTok Ads: 124 actions, 15 read, 89 write and 20 destructive.
- Every action is a switch. An owner, admin or operator turns each one on or off per account, and the server refuses anything switched off, in every AI client.
- Read-only locks every write until an admin reconnects the account with Read & write.
- Meta stays paused. Claude creates campaigns, ad sets and ads paused and can only set PAUSED, so going live stays with you, in Ads Manager.
- TikTok status updates are switches.
ad_status_updateand the other status actions can enable, disable or delete, and start on for Read & write. An admin switches them off wherever Claude should only report. New TikTok campaigns and ad groups start disabled. - Destructive actions start off. Deleting a Meta campaign, ad set or ad, and TikTok's 20 destructive actions, stay off until an admin switches them on.
- Budgets pass through as written. The server applies the amount you state, so name it with the currency and keep
execute_actionon Needs approval. - Roles hold. Members with the User role run only switched-on reads, on accounts an owner or admin grants them.


Start a trial to set these switches on your own ad accounts.
Troubleshooting
Most leaderboard problems come from how a metric was counted, not from the connection.
- A TikTok hook rate near 90%. The formula used
video_play_actions, which counts every start. Rebuild it onvideo_watched_2sorvideo_watched_6s. - Only 10 TikTok ads came back. TikTok returns 10 rows per page by default, so keep
page_size1000 in the prompt. - "This action is disabled for this connected account. An owner or admin must enable it for the account." An owner, admin or operator can switch it on under Configure actions for this account.
- "This account is connected read-only, so this action cannot be enabled for it. An owner or admin must reconnect it with Read & Write permissions." Reconnect with Read & write if Claude should pause ads.
- CPA differs from Ads Manager. Check the date range, time zone and attribution window before you suspect the connection.
Other ways to run creative performance analysis
Ads Manager and TikTok Ads Manager show creative-level columns at no extra cost, and several creative analytics platforms rank for this topic.
We read every capability, default and price from each vendor's own documentation, pricing page or public repository, and ran InsightfulPipe on live accounts.
Tool | Your ads it covers | AI and MCP | Acts on ads | Starting price |
|---|---|---|---|---|
InsightfulPipe | Meta, TikTok and Google Ads, plus 47 more platforms | Claude, ChatGPT, Cursor and Claude Code; 53 Meta and 124 TikTok actions | Pauses or disables, each action a switch per account | From $29.99 a month |
Motion | Meta, TikTok, YouTube and LinkedIn | AI tags and agents; "full data & MCP access" | Not stated | $750 a month, up to $50k monthly ad spend |
Triple Whale | Facebook, Google Ads, TikTok and Twitter | Moby AI; MCP on paid plans | Moby Actions, on Automate and Enterprise | Free plan; paid plans by annual GMV |
Foreplay | Meta and TikTok, through Lens | MCP and API from Workflow | Not stated | $175 a month, $149 billed yearly |
Madgicx | Meta, for Creative Insights | Madgicx MCP | Pauses or scales ads from chat | Shown in the app |
Hawky | Meta, Google, YouTube, TikTok and LinkedIn | Performance Agent | Pauses past a frequency threshold you set | Per brand, through sales |
Meta and TikTok also host their own MCP servers: Meta's at https://mcp.facebook.com/ads (Meta), and TikTok's with no developer credential or code (TikTok). Each covers its own platform, so a two-platform leaderboard needs two connectors with two sets of rules.
Meerkads, Blend, Crux and Superads also rank here, and Meta Ads MCP servers such as Pipeboard and Markifact appear in AI answers; the table keeps the creative tools named most.
InsightfulPipe puts the leaderboard inside the AI client your team already uses, across Meta, TikTok and Google Ads, from $29.99 a month.
Frequently asked questions
Sources (checked 2026-10-02)
Every claim about another company comes from its own page, opened on 2026-10-02. Our action counts come from our Meta Ads and TikTok Ads MCP pages.
- Meta: video ad metrics, learning phase, creative fatigue, creative-level reporting, insights breakdowns, ads action stats and ads MCP server
- TikTok: video play metrics, learning phase and TikTok for Business MCP Server
- Google: Performance Max asset reporting and asset group reporting
- Anthropic: custom connectors, tool permissions and scheduled tasks
- Motion: homepage, pricing, creative metrics and creative analysis
- Triple Whale: Creative Analysis dashboard and pricing
- Foreplay: Lens and pricing
- Madgicx: Creative Insights, MCP and pricing
- Hawky: creative performance measurement and pricing
- InsightfulPipe: Meta Ads MCP server, TikTok Ads MCP server, InsightfulPipe MCP server and pricing





