Meta Ad Creative Opportunity Scorer
Pricing
Pay per usage
Meta Ad Creative Opportunity Scorer
Score imported Meta/Facebook/Instagram ad-library rows into creative opportunity, hook type, offer type, longevity proxy, risk flags, and brief-ready next actions. Use it after an Apify ad-library scraper, CSV export, spreadsheet, or manual research.
Meta Ad Creative Opportunity Scorer is an ingest-first Apify Actor that turns imported Meta/Facebook/Instagram ad-library rows into deterministic creative opportunity scores, hook and angle classifications, risk flags, and brief-ready next actions.
It is designed as a post-processing step for rows exported from existing Apify Meta/Facebook Ads Library scrapers, CSVs, spreadsheets, or manual research. It does not scrape Meta, does not use Ads Manager, and does not publish ads.
What it does
For each imported ad row, the Actor normalizes common field aliases and emits a scored creative opportunity record with:
- source ad ID, advertiser, platforms, source URL, and landing page URL
- text preview, headline, and CTA
- creative format: video, image, carousel, text, or unknown
- hook type: problem-first, social proof, curiosity gap, direct offer, authority, demo, comparison, or unknown
- creative angle and likely funnel stage
- offer type, longevity proxy, and variant-cluster size
- 0-100 signal score and opportunity band
- opportunity flags, risk flags, evidence snippets, recommended action, and creative brief note
Who it is for
- DTC and ecommerce operators comparing competitor creative patterns
- performance marketers and paid social agencies building creative test queues
- founders who already collect ad-library exports and want a structured weekly review
- analysts turning raw Meta Ads Library rows into a repeatable swipe-file and brief workflow
Input
The MVP supports items mode only.
Required:
items: array of imported Meta/Facebook/Instagram ad-library-like rows
Optional:
targetProfile: brand, product category, target customers, competitors, current angles, priority markets, compliance keywords, and disallowed claimsmaxItems: defaults to 500minimumLongevityDays: defaults to 14processedAt: deterministic reference timestamp for active-ad longevity and output metadata
Common aliases include:
- ad ID:
adId,libraryId,adArchiveId,id,creativeId - advertiser:
pageName,advertiserName,brand,publisherName,page,profileName - text:
body,primaryText,adText,text,caption,description,copy - headline:
headline,title,linkTitle,cardTitle - CTA:
cta,callToAction,ctaText,buttonText - URLs:
linkUrl,landingPageUrl,destinationUrl,url,targetUrl,sourceUrl,adUrl,libraryUrl,snapshotUrl - format/platforms:
mediaType,displayFormat,format,publisherPlatform,platforms,placement - dates/status:
startDate,startedAt,firstSeenAt,endDate,endedAt,isActive,activeStatus,scrapedAt
Output
Each dataset item is one normalized creative opportunity. Important fields include:
signalScoreopportunityBandhookTypecreativeAnglefunnelStageofferTypelongevityDayslongevityBandvariantClusterSizegapFlagsriskFlagsevidenceSnippetsrecommendedActioncreativeBriefNote
Limitations
- This Actor does not scrape Meta, Facebook, Instagram, or any ad library.
- This Actor does not use Ads Manager, Marketing API, OAuth, cookies, proxies, or credentials.
- This Actor does not publish ads, edit campaigns, set budgets, or automate media buying.
- This Actor does not know true CTR, CPA, ROAS, budget, targeting, revenue, or conversion performance.
- Longevity and variant clusters are proxy signals only.
- The output does not guarantee winning ads, lower CAC, revenue lift, legal compliance, or creative performance.
- Risk flags are not legal advice. Review regulated claims with a qualified reviewer before use.
- Creative brief notes describe patterns for original testing; do not copy competitor ads verbatim.
Example use cases
- Score a weekly export from a Facebook Ads Library scraper.
- Identify long-running problem-first hooks from direct competitors.
- Flag fresh generic discount ads as weaker evidence.
- Find variant clusters that may deserve monitoring.
- Generate a human-safe creative test backlog without copying competitor language.