// HELP
How The Ad Bench works.
Everything you need to use The Ad Bench: upload formats, modes, reading your report, sharing, accounts, privacy, and what to do when something breaks.
// GETTING_STARTED
Drop in any ad, four ways
// GETTING_STARTED
Drop in any ad, four ways
- Upload video: MP4, MOV, WebM, MKV, M4V, AVI, or 3GP. Frames get extracted in your browser (your original file never leaves the device); only the JPEG keyframes upload. MP4 (H.264) is the most reliable; if your browser can’t decode a file you’ll get a clear prompt to re-export. Clips up to 180 seconds are supported; under 60 seconds works best.
- Video URLs (TikTok, YouTube, Instagram, Facebook): paste any public video URL. TikTok URLs are reviewed from the actual video: we fetch the clip and run the same frame-by-frame + voiceover-transcript pipeline as an upload. YouTube Shorts, Instagram Reels, and Facebook videos are reviewed from the cover frame and caption. Upload the video file for a full read on those platforms. Other platforms (X, LinkedIn, Snapchat, Pinterest, Threads) don’t work as links at all; see which links work.
- Image: JPG, PNG, WebP, GIF, HEIC/HEIF, or AVIF. Large photos and screenshots are downscaled in your browser before upload. Good for anystatic ad creative: Spark Ad stills, planned thumbnails, static social or display ads, marketplace (e.g. Amazon) ads, or a photo of an out-of-home / print ad. The analyzer identifies the format and reviews it on its own terms; it won't judge a billboard as a failed TikTok ad.
- Script: paste a script before you film. We'll score the hook, structure, and CTA so you can rewrite before burning a shoot day. Scripts can be up to 30,000 characters (about 30 minutes); broadcast and CTV scripts are reviewed on TV terms, not as failed TikToks.
// PLATFORM_SUPPORT
Which links work, and what to do when yours doesn't
// PLATFORM_SUPPORT
Which links work, and what to do when yours doesn't
Pasting a link is the fastest way in, but every platform decides how much it will hand us. Three tiers, and it’s worth knowing which one you’re in before you read the score.
Full video read: TikTok. We fetch the clip and run every frame plus a transcript of the voiceover. Same depth as uploading the file yourself. A TikTok photo carousel is read from its first slide and the caption; the rest of the slides aren’t reachable, so screenshot them and use the Image tab if the later slides carry the message.
Cover frame and caption only: YouTube Shorts, Instagram Reels, Facebook, Vimeo. These platforms block automated downloads, so we score the poster image, the caption, and the handle. That’s a real read, but it can’t see pacing, cuts, or hear the audio, and anything resting on those stays provisional. Upload the file for the full read.
Links don’t work at all: X (Twitter), LinkedIn, Snapchat, Pinterest, Threads. None of them return usable creative to us, so a link from any of them will fail rather than produce a thin report. We’d rather tell you that than score a URL and call it an ad. Download the video and use the Video tab, screenshot it and use the Image tab, or paste the script. You get a better report that way regardless: an upload is always the deepest read available.
Same answer for anything not on this list: a landing page, a broadcast spot, a display banner, an out-of-home photo. The analyzer identifies the format and judges it on that format’s terms, so upload it or paste the script and it gets a fair read.
// ACCOUNT_VALUE_SCORE
Account Value Score: what a creator is worth
// ACCOUNT_VALUE_SCORE
Account Value Score: what a creator is worth
A separate free tool at /account-value-score. Paste a public TikTok, Instagram, or YouTube profile URL and we return a transparent monthly-value estimate across every income stream that fits the platform (AdSense, TikTok Shop, LTK, sponsored content, paid memberships) as a low / mid / high band with every assumption shown.
It's honest back-of-envelope math: for YouTube channels, live stats (subscribers, total views, upload cadence) are pulled directly from the YouTube Data API, no input needed. For every other platform, industry RPM and commission benchmarks are applied to the numbers you provide. Every narrowing input (followers, last-30-day views, niche, monetization signals) tightens the range; last-30-day views helps most. Reports now include growth milestone projections (what the account could earn at 50k / 100k / 250k / 500k / 1M subscribers) and a list of untapped monetization opportunities with effort tags (quick win / medium / long-term).
Free with a free account: sign in and you get 3 scores a day on the free plan (Pro: 15/day · Agency: 100/day), tracked separately from your Quick Check / Deep Dive analyze quota. Scores you run while signed in are saved to your Library alongside your ad reports.
// PLATFORM_LANGUAGE
Why some words get flagged
// PLATFORM_LANGUAGE
Why some words get flagged
Platforms do not share one universal list of banned words. A phrase can be removed, sent to review, limited in monetization, or simply recommended less often depending on its context.
That is why words such as killcan be risky without being universally forbidden. Read the full platform language guide for the categories, platform rules, and safer rewrites. For TikTok distribution signals, see the TikTok recommendation guide.
// AD_CREATIVE_SCORE_MODES
Quick Check vs Deep Dive
// AD_CREATIVE_SCORE_MODES
Quick Check vs Deep Dive
Quick Check
About 60 seconds
A one-line verdict, an overall 0–100 comprehensive score (with a letter grade), an engagement read, and a 5-category breakdown (Hook · Native feel · Clarity · CTA · Brand fit), and up to 5 fixes. Pick this when you want a fast read before re-shooting or before kicking spend.
Deep Dive
The full bench
Hook-rate prediction, hook-formula classification with quoted evidence, 6-category rubric, 10 predicted performance metrics, algorithm signals, risk flags, ranked top issues with fixes, 3 hook rewrites + new caption + 3 CTA variants + shot-list edits. Plus depth signals: tropes (earned vs. lazy), cultural fluency (native / reaching / cringe voice match), clip detection (assets cut off or out of frame), policy notes (FTC disclosure gaps, unverified claims), and a reading-level chip. Plus the narrative layer: vertical archetype + gap, emotional positioning, hook valence, production craft direction, 3–6 macro-shot prescriptions, and a beat-by-beat storyboard rebuild. Pick this for a real review before launch or when planning a campaign.
// READING_YOUR_REPORT
What the numbers mean
// READING_YOUR_REPORT
What the numbers mean
Every report leads with a comprehensive score (a single 0–100 read of the whole ad) paired with a letter grade from F to A+++. The grade is just the comprehensive score banded: A+++ is 95+, A is ~80–84, B is ~65–69, C is ~50–54, D is ~30–44, and F is below 30. It gives you the verdict before you read a single line.
Alongside it, the verdict shows Hook (how hard the first 3 seconds stop the scroll) and Engagement (likes / saves / shares strength). Quick Check then breaks the score into 5 categories (Hook, Native feel, Clarity, CTA, Brand fit); Deep Dive uses a 6-category rubric with evidence.
All scores are 0–100, color-coded so you can read them at a glance:
- 75–100 is strong. Ship it. Rare for first drafts.
- 50–74 is fixable. Address the top issues and re-score.
- 0–49 means overhaul needed. The model will tell you exactly what to change.
Every score carries a one-sentence justification; the model doesn't leave you guessing why a category dropped. In Deep mode, scores also point at evidence: a frame timestamp or a transcript span.
// FOR_AFFILIATES
Using The Ad Bench for short-form affiliate ads
// FOR_AFFILIATES
Using The Ad Bench for short-form affiliate ads
If your script, caption, or transcript carries any affiliate signal (#ad, #tiktokshop, use code XYZ20, link-in-bio language, LTK / Spark Ad markers), The Ad Bench automatically tilts the analysis to weigh FTC disclosure timing, code/link clarity, save-bait, comment-bait CTA, and native execution penalty.
Every report also includes a GMV projector: tweak the AOV / commission % / monthly views inputs and we project the affiliate revenue this ad should drive at your current score, then again if you got the score to 85.
The full affiliate-specific rubric lives at /learn/affiliate-advertising. Vertical-specific landings (TikTok Shop, LTK, DTC beauty) are at /for/affiliates and /for/dtc-beauty. For how the same affiliate cut should land differently across surfaces, see /learn/cross-platform-hook-portability.
// ACCOUNTS
Sign in
// ACCOUNTS
Sign in
Three ways to sign in, all free:
- Social sign-in: one tap with Google or Apple (and Facebook, LinkedIn, or TikTok where enabled). We only see your name and email (never your password), and we never post or message on your behalf.
- Email + password: go to /login and enter your email + password. Optional; set one at /account if you want a faster sign-in than the emailed-link round-trip.
- Sign-in link: enter your email at /login, we send a one-click sign-in link. The link expires in 15 minutes and works once. No password required.
Forgot your password?You don't need it: use Email me a sign-in link at /login, then set a new password at /account. The sign-in link opens a short window to set a new password without your old one.
Signed-in benefits: higher daily analysis limit, saved report history, view counts on shared links, PDF export, side-by-side comparison at /compare.
// PROFILE
Manage your profile (display name, email, Agency name)
// PROFILE
Manage your profile (display name, email, Agency name)
The Profile card on /account has inline editors for the fields you control:
- Display name: the name we show on reports, the nav header, and shared links. Click Edit next to the field, type a new name (up to 80 chars), hit Save.
- Email: click Change, type the new address, hit Send link. We email a verification link to the new address. Click it within 15 minutes and we'll migrate your account data (display name, password, plan, API keys, team membership, batch jobs, saved-report index, credits, partner record) to the new email and mint a fresh session. The mailto you click on lands in the new inbox; if it doesn't arrive, check spam first, then try again. If the destination is already on another account we'll refuse and tell you.
- Agency name: Agency Plan only. Shows up on the team brand kit, weekly digest emails, and the Slack digest if you have Slack wired. Same inline editor pattern as Display name.
// PRIVACY
Where your data goes
// PRIVACY
Where your data goes
For video uploads: your original file never leaves the browser. Frame extraction happens client-side; only the JPEG keyframes (~80–150 KB each) upload to Vercel Blob storage at unguessable URLs.
The audio track is extracted client-side and sent to OpenAI Whisper for voiceover transcription, then dropped.
Anthropic's commercial API terms forbid training on the content we send them. We don't fingerprint, retain, or resell the creative content of reports.
The full sub-processor list, retention windows, and contact details live at /privacy.
// YOUR_DATA_RIGHTS
Access, correct, delete, export
// YOUR_DATA_RIGHTS
Access, correct, delete, export
You have the right to access, correct, delete, or export your data, and to object to or restrict processing, globally, regardless of where you live. We don't gate these rights by jurisdiction.
How to exercise them: email legal@theadbench.ai from the address on your account. We verify identity by replying to that same address before actioning. Response window: 7 days for deletion, up to 30 days for an export.
Signed-in users can also delete saved reports themselves from /account/reports without opening a request.
To permanently close your account, use Cancel my account in the Danger Zone on /account. It cancels any active subscription, deletes your data (saved reports, API keys, settings), and signs you out. To cancel a paid plan but keep your account, use Manage subscription instead.
We don't sell or share your data with third parties for cross-context behavioral advertising; full statement at /privacy#do-not-sell.
// SECURITY
Reporting a vulnerability
// SECURITY
Reporting a vulnerability
Found something? Email security@theadbench.ai. We treat security disclosures as priority and reply within 48 hours.
Our public disclosure metadata lives at /.well-known/security.txt (RFC 9116). Please email us first so we can patch before any public disclosure.
We don't currently offer a paid bug bounty, but we credit researchers in changelog notes by request.
// DAILY_CAP
Why is the daily cap so low?
// DAILY_CAP
Why is the daily cap so low?
The Free plan is intentionally tight:
- Anonymous (not signed in): 1 Quick Check/day.
- Free account (signed in): 3 Quick Checks + 1 Deep Dive/day.
The point isn't to gate the rubric; it's to keep the analyzer responsive while we're single-operator and the per-analysis Anthropic cost adds up. Sign in (it's free) to open the 3+1 bucket.
When you hit your cap, the upgrade prompt shows two options: Upgrade to Pro · $49/mo (10 Quick Checks + 10 Deep Dives/day) or wait until tomorrow at midnight UTC when the counter resets.
// PRO_PLAN
What Pro gets you
// PRO_PLAN
What Pro gets you
Pro is $49/mo. Subscribe on the Pro card at /pricing.
What Pro adds the day Stripe activates:
- 10 Quick Checks + 10 Deep Dives/day: separate buckets. Free accounts get 3 Quick + 1 Deep/day; Pro lifts both to 10 each.
- Full Deep Dive report: the complete bench. Hook rewrites, predicted metrics, storyboard rebuild, algorithm signals, and the narrative layer (vertical archetype, emotional positioning, production craft).
- Voiceover transcript + per-frame video timing read on every video analysis.
- Saved report history at /account/reports with one-click share-link copy + view counts.
Agency plan ($199/mo) adds bulk batch analysis (up to 50 ads at once), team seats, and a weekly digest. API access is moving to a paid add-on; existing keys are unaffected. Subscribe at /pricing.
// CREATIVE_LIBRARY
Creative library
// CREATIVE_LIBRARY
Creative library
Everything a workbench generates (a creator brief, a hook test, a compliance pre-flight, a swipe file) can be saved straight into your team's library at /account/team/library. Work is organized into projects, so a client or campaign keeps its own set of drafts, hooks, and variants together; anything saved without picking a project lands in Unsorted.
Every drafting workbench carries a + Save to librarybutton next to its result once it has something to save: pick a project (or leave it unsorted) and it's filed. Hooks saved from a report via ↓ Save hook and briefs saved from the creator-brief workbench show up in the same library automatically; nothing needs to be re-saved.
Opening a saved item reopens the actual work: the form and the generated result both come back, so you can pick up where you left off instead of retyping the brief. Re-saving a tweaked run files it as the next version (v2, v3) rather than leaving duplicates behind.
Every report you have ever saved is already in the library (ad reports and Account Value Scores alike) under the Reports filter. Nothing has to be filed for it to appear. On an Agency team, use + File to project beside Share to put a report with the briefs and drafts for the same campaign; anything unfiled sits in Unsorted.
Saved work can be handed to the next tool: a hook test can send its winner to Variants, a concept draft can send its hooks to the Hook tester, and a creator brief can start a draft. Look for the Send links on a library card.
The library holds up to 1,000 artifacts and 100 projects per team.
// CONTACT
Talk to a human
// CONTACT
Talk to a human
The Ad Bench is a Bloody Finger Software production. For anything this page doesn't answer:
- Product / feedback / bug reports: tap Report a bug in the footer of any page. Screenshots welcome; we reply within 24h.
- Privacy / data deletion: legal@theadbench.ai
- Security disclosures: security@theadbench.ai (RFC 9116 metadata at /.well-known/security.txt)
- Partner program applications: partners@theadbench.ai
// GETTING_STARTED
Drop in any ad, four ways
// GETTING_STARTED
Drop in any ad, four ways
- Upload video: MP4, MOV, WebM, MKV, M4V, AVI, or 3GP. Frames get extracted in your browser (your original file never leaves the device); only the JPEG keyframes upload. MP4 (H.264) is the most reliable; if your browser can’t decode a file you’ll get a clear prompt to re-export. Clips up to 180 seconds are supported; under 60 seconds works best.
- Video URLs (TikTok, YouTube, Instagram, Facebook): paste any public video URL. TikTok URLs are reviewed from the actual video: we fetch the clip and run the same frame-by-frame + voiceover-transcript pipeline as an upload. YouTube Shorts, Instagram Reels, and Facebook videos are reviewed from the cover frame and caption. Upload the video file for a full read on those platforms. Other platforms (X, LinkedIn, Snapchat, Pinterest, Threads) don’t work as links at all; see which links work.
- Image: JPG, PNG, WebP, GIF, HEIC/HEIF, or AVIF. Large photos and screenshots are downscaled in your browser before upload. Good for anystatic ad creative: Spark Ad stills, planned thumbnails, static social or display ads, marketplace (e.g. Amazon) ads, or a photo of an out-of-home / print ad. The analyzer identifies the format and reviews it on its own terms; it won't judge a billboard as a failed TikTok ad.
- Script: paste a script before you film. We'll score the hook, structure, and CTA so you can rewrite before burning a shoot day. Scripts can be up to 30,000 characters (about 30 minutes); broadcast and CTV scripts are reviewed on TV terms, not as failed TikToks.
// PLATFORM_SUPPORT
Which links work, and what to do when yours doesn't
// PLATFORM_SUPPORT
Which links work, and what to do when yours doesn't
Pasting a link is the fastest way in, but every platform decides how much it will hand us. Three tiers, and it’s worth knowing which one you’re in before you read the score.
Full video read: TikTok. We fetch the clip and run every frame plus a transcript of the voiceover. Same depth as uploading the file yourself. A TikTok photo carousel is read from its first slide and the caption; the rest of the slides aren’t reachable, so screenshot them and use the Image tab if the later slides carry the message.
Cover frame and caption only: YouTube Shorts, Instagram Reels, Facebook, Vimeo. These platforms block automated downloads, so we score the poster image, the caption, and the handle. That’s a real read, but it can’t see pacing, cuts, or hear the audio, and anything resting on those stays provisional. Upload the file for the full read.
Links don’t work at all: X (Twitter), LinkedIn, Snapchat, Pinterest, Threads. None of them return usable creative to us, so a link from any of them will fail rather than produce a thin report. We’d rather tell you that than score a URL and call it an ad. Download the video and use the Video tab, screenshot it and use the Image tab, or paste the script. You get a better report that way regardless: an upload is always the deepest read available.
Same answer for anything not on this list: a landing page, a broadcast spot, a display banner, an out-of-home photo. The analyzer identifies the format and judges it on that format’s terms, so upload it or paste the script and it gets a fair read.
// ACCOUNT_VALUE_SCORE
Account Value Score: what a creator is worth
// ACCOUNT_VALUE_SCORE
Account Value Score: what a creator is worth
A separate free tool at /account-value-score. Paste a public TikTok, Instagram, or YouTube profile URL and we return a transparent monthly-value estimate across every income stream that fits the platform (AdSense, TikTok Shop, LTK, sponsored content, paid memberships) as a low / mid / high band with every assumption shown.
It's honest back-of-envelope math: for YouTube channels, live stats (subscribers, total views, upload cadence) are pulled directly from the YouTube Data API, no input needed. For every other platform, industry RPM and commission benchmarks are applied to the numbers you provide. Every narrowing input (followers, last-30-day views, niche, monetization signals) tightens the range; last-30-day views helps most. Reports now include growth milestone projections (what the account could earn at 50k / 100k / 250k / 500k / 1M subscribers) and a list of untapped monetization opportunities with effort tags (quick win / medium / long-term).
Free with a free account: sign in and you get 3 scores a day on the free plan (Pro: 15/day · Agency: 100/day), tracked separately from your Quick Check / Deep Dive analyze quota. Scores you run while signed in are saved to your Library alongside your ad reports.
// PLATFORM_LANGUAGE
Why some words get flagged
// PLATFORM_LANGUAGE
Why some words get flagged
Platforms do not share one universal list of banned words. A phrase can be removed, sent to review, limited in monetization, or simply recommended less often depending on its context.
That is why words such as killcan be risky without being universally forbidden. Read the full platform language guide for the categories, platform rules, and safer rewrites. For TikTok distribution signals, see the TikTok recommendation guide.
// AD_CREATIVE_SCORE_MODES
Quick Check vs Deep Dive
// AD_CREATIVE_SCORE_MODES
Quick Check vs Deep Dive
Quick Check
About 60 seconds
A one-line verdict, an overall 0–100 comprehensive score (with a letter grade), an engagement read, and a 5-category breakdown (Hook · Native feel · Clarity · CTA · Brand fit), and up to 5 fixes. Pick this when you want a fast read before re-shooting or before kicking spend.
Deep Dive
The full bench
Hook-rate prediction, hook-formula classification with quoted evidence, 6-category rubric, 10 predicted performance metrics, algorithm signals, risk flags, ranked top issues with fixes, 3 hook rewrites + new caption + 3 CTA variants + shot-list edits. Plus depth signals: tropes (earned vs. lazy), cultural fluency (native / reaching / cringe voice match), clip detection (assets cut off or out of frame), policy notes (FTC disclosure gaps, unverified claims), and a reading-level chip. Plus the narrative layer: vertical archetype + gap, emotional positioning, hook valence, production craft direction, 3–6 macro-shot prescriptions, and a beat-by-beat storyboard rebuild. Pick this for a real review before launch or when planning a campaign.
// READING_YOUR_REPORT
What the numbers mean
// READING_YOUR_REPORT
What the numbers mean
Every report leads with a comprehensive score (a single 0–100 read of the whole ad) paired with a letter grade from F to A+++. The grade is just the comprehensive score banded: A+++ is 95+, A is ~80–84, B is ~65–69, C is ~50–54, D is ~30–44, and F is below 30. It gives you the verdict before you read a single line.
Alongside it, the verdict shows Hook (how hard the first 3 seconds stop the scroll) and Engagement (likes / saves / shares strength). Quick Check then breaks the score into 5 categories (Hook, Native feel, Clarity, CTA, Brand fit); Deep Dive uses a 6-category rubric with evidence.
All scores are 0–100, color-coded so you can read them at a glance:
- 75–100 is strong. Ship it. Rare for first drafts.
- 50–74 is fixable. Address the top issues and re-score.
- 0–49 means overhaul needed. The model will tell you exactly what to change.
Every score carries a one-sentence justification; the model doesn't leave you guessing why a category dropped. In Deep mode, scores also point at evidence: a frame timestamp or a transcript span.
// FOR_AFFILIATES
Using The Ad Bench for short-form affiliate ads
// FOR_AFFILIATES
Using The Ad Bench for short-form affiliate ads
If your script, caption, or transcript carries any affiliate signal (#ad, #tiktokshop, use code XYZ20, link-in-bio language, LTK / Spark Ad markers), The Ad Bench automatically tilts the analysis to weigh FTC disclosure timing, code/link clarity, save-bait, comment-bait CTA, and native execution penalty.
Every report also includes a GMV projector: tweak the AOV / commission % / monthly views inputs and we project the affiliate revenue this ad should drive at your current score, then again if you got the score to 85.
The full affiliate-specific rubric lives at /learn/affiliate-advertising. Vertical-specific landings (TikTok Shop, LTK, DTC beauty) are at /for/affiliates and /for/dtc-beauty. For how the same affiliate cut should land differently across surfaces, see /learn/cross-platform-hook-portability.
// SHARING
Share a report
// SHARING
Share a report
Hit SHARE_REPORT on any report. We mint a 10-character share URL like theadbench.ai/r/abc123xyz that anyone can open without signing in. Read-only. Anonymous links last 30 days; when you sign in and save a report, it stays until you delete it.
If you're signed in, we also save the report to your account so you can come back to it from your Library. Each saved report shows its view count.
To export as PDF, sign in, open the saved report, and click PRINT: it opens a print-optimized view that auto-fires your browser's print dialog. Pick "Save as PDF" from there.
// ACCOUNTS
Sign in
// ACCOUNTS
Sign in
Three ways to sign in, all free:
- Social sign-in: one tap with Google or Apple (and Facebook, LinkedIn, or TikTok where enabled). We only see your name and email (never your password), and we never post or message on your behalf.
- Email + password: go to /login and enter your email + password. Optional; set one at /account if you want a faster sign-in than the emailed-link round-trip.
- Sign-in link: enter your email at /login, we send a one-click sign-in link. The link expires in 15 minutes and works once. No password required.
Forgot your password?You don't need it: use Email me a sign-in link at /login, then set a new password at /account. The sign-in link opens a short window to set a new password without your old one.
Signed-in benefits: higher daily analysis limit, saved report history, view counts on shared links, PDF export, side-by-side comparison at /compare.
// PROFILE
Manage your profile (display name, email, Agency name)
// PROFILE
Manage your profile (display name, email, Agency name)
The Profile card on /account has inline editors for the fields you control:
- Display name: the name we show on reports, the nav header, and shared links. Click Edit next to the field, type a new name (up to 80 chars), hit Save.
- Email: click Change, type the new address, hit Send link. We email a verification link to the new address. Click it within 15 minutes and we'll migrate your account data (display name, password, plan, API keys, team membership, batch jobs, saved-report index, credits, partner record) to the new email and mint a fresh session. The mailto you click on lands in the new inbox; if it doesn't arrive, check spam first, then try again. If the destination is already on another account we'll refuse and tell you.
- Agency name: Agency Plan only. Shows up on the team brand kit, weekly digest emails, and the Slack digest if you have Slack wired. Same inline editor pattern as Display name.
// PRIVACY
Where your data goes
// PRIVACY
Where your data goes
For video uploads: your original file never leaves the browser. Frame extraction happens client-side; only the JPEG keyframes (~80–150 KB each) upload to Vercel Blob storage at unguessable URLs.
The audio track is extracted client-side and sent to OpenAI Whisper for voiceover transcription, then dropped.
Anthropic's commercial API terms forbid training on the content we send them. We don't fingerprint, retain, or resell the creative content of reports.
The full sub-processor list, retention windows, and contact details live at /privacy.
// YOUR_DATA_RIGHTS
Access, correct, delete, export
// YOUR_DATA_RIGHTS
Access, correct, delete, export
You have the right to access, correct, delete, or export your data, and to object to or restrict processing, globally, regardless of where you live. We don't gate these rights by jurisdiction.
How to exercise them: email legal@theadbench.ai from the address on your account. We verify identity by replying to that same address before actioning. Response window: 7 days for deletion, up to 30 days for an export.
Signed-in users can also delete saved reports themselves from /account/reports without opening a request.
To permanently close your account, use Cancel my account in the Danger Zone on /account. It cancels any active subscription, deletes your data (saved reports, API keys, settings), and signs you out. To cancel a paid plan but keep your account, use Manage subscription instead.
We don't sell or share your data with third parties for cross-context behavioral advertising; full statement at /privacy#do-not-sell.
// SECURITY
Reporting a vulnerability
// SECURITY
Reporting a vulnerability
Found something? Email security@theadbench.ai. We treat security disclosures as priority and reply within 48 hours.
Our public disclosure metadata lives at /.well-known/security.txt (RFC 9116). Please email us first so we can patch before any public disclosure.
We don't currently offer a paid bug bounty, but we credit researchers in changelog notes by request.
// DAILY_CAP
Why is the daily cap so low?
// DAILY_CAP
Why is the daily cap so low?
The Free plan is intentionally tight:
- Anonymous (not signed in): 1 Quick Check/day.
- Free account (signed in): 3 Quick Checks + 1 Deep Dive/day.
The point isn't to gate the rubric; it's to keep the analyzer responsive while we're single-operator and the per-analysis Anthropic cost adds up. Sign in (it's free) to open the 3+1 bucket.
When you hit your cap, the upgrade prompt shows two options: Upgrade to Pro · $49/mo (10 Quick Checks + 10 Deep Dives/day) or wait until tomorrow at midnight UTC when the counter resets.
// PRO_PLAN
What Pro gets you
// PRO_PLAN
What Pro gets you
Pro is $49/mo. Subscribe on the Pro card at /pricing.
What Pro adds the day Stripe activates:
- 10 Quick Checks + 10 Deep Dives/day: separate buckets. Free accounts get 3 Quick + 1 Deep/day; Pro lifts both to 10 each.
- Full Deep Dive report: the complete bench. Hook rewrites, predicted metrics, storyboard rebuild, algorithm signals, and the narrative layer (vertical archetype, emotional positioning, production craft).
- Voiceover transcript + per-frame video timing read on every video analysis.
- Saved report history at /account/reports with one-click share-link copy + view counts.
Agency plan ($199/mo) adds bulk batch analysis (up to 50 ads at once), team seats, and a weekly digest. API access is moving to a paid add-on; existing keys are unaffected. Subscribe at /pricing.
// CREATIVE_LIBRARY
Creative library
// CREATIVE_LIBRARY
Creative library
Everything a workbench generates (a creator brief, a hook test, a compliance pre-flight, a swipe file) can be saved straight into your team's library at /account/team/library. Work is organized into projects, so a client or campaign keeps its own set of drafts, hooks, and variants together; anything saved without picking a project lands in Unsorted.
Every drafting workbench carries a + Save to librarybutton next to its result once it has something to save: pick a project (or leave it unsorted) and it's filed. Hooks saved from a report via ↓ Save hook and briefs saved from the creator-brief workbench show up in the same library automatically; nothing needs to be re-saved.
Opening a saved item reopens the actual work: the form and the generated result both come back, so you can pick up where you left off instead of retyping the brief. Re-saving a tweaked run files it as the next version (v2, v3) rather than leaving duplicates behind.
Every report you have ever saved is already in the library (ad reports and Account Value Scores alike) under the Reports filter. Nothing has to be filed for it to appear. On an Agency team, use + File to project beside Share to put a report with the briefs and drafts for the same campaign; anything unfiled sits in Unsorted.
Saved work can be handed to the next tool: a hook test can send its winner to Variants, a concept draft can send its hooks to the Hook tester, and a creator brief can start a draft. Look for the Send links on a library card.
The library holds up to 1,000 artifacts and 100 projects per team.
// CONTACT
Talk to a human
// CONTACT
Talk to a human
The Ad Bench is a Bloody Finger Software production. For anything this page doesn't answer:
- Product / feedback / bug reports: tap Report a bug in the footer of any page. Screenshots welcome; we reply within 24h.
- Privacy / data deletion: legal@theadbench.ai
- Security disclosures: security@theadbench.ai (RFC 9116 metadata at /.well-known/security.txt)
- Partner program applications: partners@theadbench.ai
// BRIEF_TO_DRAFT
Brief → draft
// BRIEF_TO_DRAFT
Brief → draft
The drafting workbench at /draft turns a 4-line brief into 6-10 distinct hook variants + a 3-7-cut shot list + one full sample script + vertical-specific risk flags. Aimed at the moment between “client wants 5 hook ideas by end of week” and “crew shoots Friday”.
How to use it:
- Fill in product / offer, target audience, CTA goal. Optionally vertical, target length, production style (UGC / studio / hybrid), and brand-voice notes (banned words, tone constraints, compliance posture).
- Click Draft concepts. ~15 seconds later you get the full pack.
- Each hook variant has a Run through The Ad Bench link that pipes it into the regular analyzer at Quick mode; grade your own drafts before shooting. Works for the sample script too.
Cap is 60 drafts per day per user(overrideable on request). Drafts run on the fast tier (~5-15 second latency); your daily Agency analyze quota is unaffected unless you click “Run through The Ad Bench” on a draft.
// VARIANTS
Variants from a winner
// VARIANTS
Variants from a winner
Got an ad that scored well? Iterate without starting from scratch. The generator at /draft/variants takes the winning script + its The Ad Bench score + a transformation axis, then drafts up to 10 variants that preserve the parent’s working structure while varying along the chosen axis only.
Five transformation axes:
- Hook-only swap: same body + CTA, vary only the first-2-seconds opener
- CTA-only swap: same hook + body, vary only the closing ask
- Full rewrite: preserve the angle + audience, write fresh hook + body + CTA
- Format shift: same script, different production style (UGC ↔ studio)
- Tone shift: same script + format, different tonal register
Each variant lists what was preserved vs changed (concrete, not vague), a rationale tying back to the chosen axis, a predicted score band, and a one-click button to run it through the analyzer for a real grade.
// CREATOR_BRIEFS
Creator brief generator
// CREATOR_BRIEFS
Creator brief generator
Hiring N UGC creators this week and writing the same brief N times? The generator at /draft/creator-brief drafts up to 10 outbound briefs in one shot, each tilted to a different angle so the resulting ads aren’t carbon copies. Tier-aware (nano / micro / mid / macro): the DM voice + length + payment-terms framing match the creator size you’re hiring.
What each brief gives you:
- One-line angle (so you can pick which to send to which creator)
- DM opener: paste-into-DM ready, ≤300 chars
- Brief body: plain text, sized for the creator tier
- 3-4 hook options the creator can pick from
- Must-include lines (claim language, CTA, brand mention)
- Banned moves (no comparative claims, no studio lighting, etc.)
Briefs share the daily drafting cap with /draft: 60 items/day per user across both endpoints. Generating 5 briefs counts as 5 against the cap.
// TEAM_SEATS
Team seats
// TEAM_SEATS
Team seats
Agency includes 5 seatson one shared subscription. Invite teammates by email; they use the invite link to set a password and immediately get the team’s daily quota + every included Agency feature (bulk batch, drafting tools, and the shared Brand Kit). Saved reports stay tied to whoever ran the analysis, but the team’s daily cap pool is shared: the same 100/day the owner gets solo, just spread across more seats.
How to set up a team:
- On your own Agency-paying account, go to /account/team → name your team → Create team.
- Invite teammates by email. Each gets a 7-day invite link. Click it → they set a password and join the team without a separate sign-up.
- Manage the roster from the same page: see who’s on, cancel pending invites, remove members. Removing a member is how someone exits a team in v1; members can’t remove themselves yet.
Heads-up, v1 limits worth knowing:
- Extra seats are $25/mo each. The first 5 seats are included; each seat past 5 syncs automatically to your subscription as you add or remove teammates.
- One team membership per email. You can’t be a member of two teams simultaneously; ask your current owner to remove you before accepting a new invite. (Agency owners can add separate additional teams from /pricing/team.)
- Owner can’t leave directly. Use Transfer beside a member in the roster to make them the owner first.
// WEBHOOKS
Outbound webhooks
// WEBHOOKS
Outbound webhooks
Push every analyze completion, batch finish, or weekly digest into your existing stack: Slack, Frame.io, Asana, Linear, Zapier, n8n, BigQuery ingest, anywhere that accepts a signed POST. Up to 5 webhook subscriptions per team, each with its own HMAC-SHA256 signing secret + filterable event types.
How to set one up:
- On /account/team/webhooks → label, URL, pick events → Add webhook.
- Copy the
whsec_…signing secret immediately. It’s shown once and never re-derivable. - On your endpoint, verify the
X-AdBench-Signatureheader against the raw request body using HMAC-SHA256. Full Node / Python examples live at /docs/api under the Webhooks section. - Click Test on the webhook row to fire a one-off event end-to-end before relying on it in production.
Heads-up:
- Single delivery attempt per event, no auto-retry in v1. Check the delivery log (per-webhook button) for status history.
- 10 consecutive failures → webhook auto-disables. Recreate to re-enable (forces you to fix the root cause first).
- 5-second request timeout. Ack synchronously and queue the heavy work on your end.
// WEEKLY_DIGEST
Team digest: email + Slack
// WEEKLY_DIGEST
Team digest: email + Slack
A summary of the team’s The Ad Bench activity lands in the owner’s inbox on a schedule you choose: daily (previous day’s activity) or weekly (Monday, covering the last 7 days). Total reports, average score, per-teammate counts, top + bottom scoring ads with direct links. Skips periods with no activity.
Configure frequency and Slack from /account/team/integrations. Frequency choices: Off, Daily, or Weekly. Default is weekly.
For Slack: paste an incoming-webhook URL from your Slack workspace in the Slack section of the integrations page. The same digest is posted as a Block Kit message to the configured channel. Email and Slack fire independently; you can have both or either.
// BULK_BATCH
Bulk batch analysis
// BULK_BATCH
Bulk batch analysis
Drop up to 50 supported video URLs (or scripts) at once and The Ad Bench grades them in parallel. Each script can be up to 30,000 characters (about 30 minutes). Runs are concurrency-capped at 5 requests in flight, so a 50-item batch finishes in 2-3 minutes instead of dragging on serially. Useful for weekly creative reviews, agency portfolio audits, or CI gating before client deliverables go out. For batching a single cut into per-platform variants, see /learn/cross-platform-recut-strategy.
How to run a batch:
- Sign in (Agency plan required; subscribe at /pricing).
- Go to /account/batch → pick the URLs or Scripts tab → paste your list → click Run batch.
- Wait ~1-3 minutes for all items to grade. Results appear in a sortable table; each row links through to the auto-saved Quick report at
/r/<id>. - Click Download CSV for label / format / hookScore / report URL / error per item.
Batches use Quick mode only in this version; Deep Dive at 50 items would exceed the 5-minute serverless function ceiling. Each item still counts toward your daily Agency quota (shared across the team, or per-key when authed via Bearer).
// API_ACCESS
API access
// API_ACCESS
API access
API access is moving to a paid add-on. Existing keys keep working, and the reference stays live. To request access or a new key, email hello@theadbench.ai.
Existing key holders can call /api/analyze programmatically from CI/CD, scripts, or third-party tools: same analyzer as the UI, no browser required. Useful for hook-score gating in a creative approval workflow (Frame.io, Asana, Linear), batch grading after a weekly shoot, or piping scores into a dashboard.
How to use it:
curl -X POST https://theadbench.ai/api/analyze \
-H "Authorization: Bearer sk_tab_…" \
-H "Content-Type: application/json" \
-d '{"format":"url","url":"https://www.tiktok.com/@handle/video/…","mode":"deep"}'Quotas, error envelopes, and full request/response shape live in the public reference at /docs/api (curl, JS, Python, GitHub Actions examples).
Each key has its own quota bucket so a runaway script on one key can’t starve another. Revocation is immediate: the next request after you click Revoke returns 401.
// BRAND_KIT
Brand kit
// BRAND_KIT
Brand kit
The brand kit lives at /account/team/brand-kit and lets you inject your brand’s creative rules into every AI output. It has five parts:
- Voice doc: a free-text brief (tone, vocabulary, energy level, persona) that shapes how hooks, CTAs, and rewrites are worded.
- Banned words: comma- or line-delimited list of words or phrases the model must never use (competitor names, expired claims, avoided slang, etc.).
- Compliance posture: Standard, Strict, FTC-disclosure, or TikTok Shop. Swaps the compliance rules baked into every report.
- Rubric weights: slide each of the six rubric dimensions (Hook · Clarity · CTA · Brand fit · Native feel · Pacing) to reflect what your brand actually cares about most. Pre-built presets for DTC, SaaS, UGC, Beauty, and Affiliate ship out-of-the-box.
- Brand vertical: your brand’s category. Informs the Brand fit score (does the creative read as a fit for a brand in that vertical?). Reports still classify each ad’s actual on-screen content.
The brand kit applies automatically to every Deep Dive run your team does. Quick Check uses the rubric weights; the full kit (voice + banned words + compliance) applies on Deep Dive.
When the kit shapes a report, the report says so: a small // AGENCY · BRAND KIT note lists which parts applied, and the Brand-fit line is tagged Per your Brand Kit with your vertical. Free and Pro reports show none of these markers.
// HOOK_LIBRARY
Team hook library
// HOOK_LIBRARY
Team hook library
Every strong hook your team encounters can be saved to a shared library at /account/team/hooks. Library entries include the hook text, pattern tag (curiosity gap, pattern interrupt, social proof, etc.), optional vertical tag, score, source URL, notes, and a required project assignment. Create projects at /account/team/projects to keep each client or campaign's hooks together.
Larger workbench outputs live in the Creative library under the same project shelf: concept drafts, creator briefs, variants, compliance checks, hook tests, comparisons, thumbnail prompts, swipe files, and voice-match reviews.
How to save a hook:
- On any Deep Dive report, find the rewrites section → click the ↓ Save hook button next to a rewrite.
- On any Quick Check Report (script input), the same ↓ Save hook button appears in the feedback section.
- From the library page itself, click + Add hook to enter one manually.
The library cap is 500 hooks per team. Use ↓ CSV on the library page to export the full library to a spreadsheet.
// WORKBENCH
Workbench tools
// WORKBENCH
Workbench tools
The Agency workbench adds purpose-built AI tools beyond standard ad review. All live in the /draft and /compare sections of the nav.
Flag FTC, TikTok Shop, or brand-voice violations before a script goes to production.
Test multiple hook variants side-by-side: scored, ranked, with pattern and pattern-fit notes.
Paste a script and get a tone/language alignment score against your brand voice doc.
Score two or more creative concepts against the same brief and rank them.
Generate AI image prompts for short-form video cover frames optimized for scroll-stop.
Extract hook patterns, creative signals, and style notes from a creator's content.
Turn a product, audience, and CTA goal into hooks, a shot list, and a sample script.
Generate UGC creator briefs: angle, DM opener, hook options, and must-include lines.
Spin a winning ad into fresh variants along one axis: hook, CTA, tone, or format.
// DIGEST_FREQUENCY
Digest frequency: daily vs weekly
// DIGEST_FREQUENCY
Digest frequency: daily vs weekly
From /account/team/integrations, you can choose how often the team digest fires:
- Off: no digest emails or Slack posts.
- Daily: a digest fires every day at 9am UTC with the previous day’s activity. Skips days with no reports.
- Weekly (default): a digest fires every Monday at 9am UTC with the previous 7 days. Skips weeks with zero activity.
When a Slack incoming-webhook URL is configured, the same digest content is also posted to the connected Slack channel. Set the URL in the Slack section of the integrations page.
Reviewed: 2026-08-24 · Last updated: 2026-08-24 · Next review due: 2026-11-22