The most comprehensive ad account audit tool for Claude Code. 190 checks across 5 platforms, AI creative scoring, live API connectors, audit history with trend tracking, automated competitor intelligence, and PDF report generation.
Paid ad audit tools charge $99-$800/month for what's essentially a rules engine. This tool gives you:
| Feature | Optmyzr ($800/mo) | Adalysis ($99/mo) | Ad Audit Pro (Free) |
|---|---|---|---|
| Audit checks | ~100 | ~80 | 190 |
| Platforms | Google, Meta | Google only | Google, Meta, LinkedIn, TikTok, Microsoft |
| AI creative scoring | No | No | Yes (Claude vision) |
| Live API connectors | Yes | Yes | Yes (Google + Meta) |
| Audit history/trends | Yes | Yes | Yes (SQLite) |
| Competitor intel | Basic | No | Yes (Meta Ad Library API) |
| PDF reports | Yes | Limited | Yes |
| Real PageSpeed data | No | No | Yes (Google CrUX) |
| Industry templates | No | No | 11 templates |
| Price | $249-800/mo | $99/mo | $0 |
# Unix/macOS/Linux
curl -fsSL https://raw.githubusercontent.com/itsjwill/ad-audit-pro/main/install.sh | bash
# Windows PowerShell
irm https://raw.githubusercontent.com/itsjwill/ad-audit-pro/main/install.ps1 | iexgit clone https://github.com/itsjwill/ad-audit-pro.git
cd ad-audit-pro
./install.shpip install -r requirements.txt
# Individual installs:
pip install google-ads # Google Ads API connector
pip install facebook-business # Meta Marketing API connector
pip install anthropic # AI creative scoring
pip install fpdf2 # PDF report generation
playwright install chromium # Landing page analysisclaude
# Full multi-platform audit (190 checks, 6 parallel agents)
/ads audit
# Deep single-platform analysis
/ads google
/ads meta
/ads linkedin
/ads tiktok
/ads microsoft
# AI creative scoring (uses Claude vision)
/ads score-creative
# Strategic planning with industry templates
/ads plan ecommerce
/ads plan saas
/ads plan b2b-enterprise
# Competitor intelligence
/ads competitor
# Audit trends over time
/ads trends
# Generate PDF report
/ads report
# Landing page analysis (real Core Web Vitals)
/ads landing https://example.com
# Budget and bidding strategy
/ads budget
# Refresh benchmarks
/ads update-benchmarks| Command | Description |
|---|---|
/ads audit |
Full multi-platform audit with parallel subagent delegation |
/ads google |
Google Ads deep analysis (Search, PMax, Display, YouTube) |
/ads meta |
Meta Ads deep analysis (FB, IG, Advantage+ Shopping) |
/ads youtube |
YouTube Ads specific analysis (Skippable, Shorts, Demand Gen) |
/ads linkedin |
LinkedIn Ads deep analysis (B2B, Lead Gen, TLA) |
/ads tiktok |
TikTok Ads deep analysis (Creative, Shop, Smart+) |
/ads microsoft |
Microsoft/Bing Ads deep analysis (Copilot, Import) |
/ads creative |
Cross-platform creative quality audit + fatigue detection |
/ads score-creative |
AI vision-based creative scoring (8 dimensions) |
/ads landing |
Landing page quality with real Core Web Vitals |
/ads budget |
Budget allocation and bidding strategy review |
/ads plan <type> |
Strategic ad plan with industry templates |
/ads competitor |
Automated competitor ad intelligence |
/ads trends |
Audit score progression over time |
/ads report |
Generate PDF/Markdown audit report |
/ads connect |
Connect live API (Google Ads, Meta) |
/ads update-benchmarks |
Refresh industry benchmark data |
| Platform | Checks | Key Areas |
|---|---|---|
| Google Ads | 74 | Conversion Tracking (25%), Wasted Spend (20%), Structure (15%), Keywords (15%), Ads (15%), Settings (10%) |
| Meta Ads | 46 | Pixel/CAPI (30%), Creative (30%), Structure (20%), Audience (20%) |
| LinkedIn Ads | 25 | Tech Setup (25%), Audience (25%), Creative (20%), Lead Gen (15%), Budget (15%) |
| TikTok Ads | 25 | Creative (30%), Tech (25%), Bidding (20%), Structure (15%), Performance (10%) |
| Microsoft Ads | 20 | Tech (25%), Syndication (20%), Structure (20%), Creative (20%), Settings (15%) |
Weighted scoring algorithm with severity multipliers:
Score = Sum(Check_Pass x Severity_Multiplier x Category_Weight)
/ Sum(Check_Total x Severity_Multiplier x Category_Weight) x 100
| Severity | Multiplier | Example |
|---|---|---|
| Critical | 5.0x | Missing conversion tracking |
| High | 3.0x | No negative keyword lists |
| Medium | 1.5x | RSA Ad Strength "Average" |
| Low | 0.5x | Missing sitelink extensions |
| Grade | Score | Action Required |
|---|---|---|
| A | 90-100 | Minor optimizations only |
| B | 75-89 | Some improvement opportunities |
| C | 60-74 | Notable issues need attention |
| D | 40-59 | Significant problems present |
| F | <40 | Urgent intervention required |
Connect directly to ad platform APIs — no more manual exports.
Google Ads (via GAQL queries, API v23):
from tools.connectors.google_ads import GoogleAdsConnector
connector = GoogleAdsConnector("config.yaml")
data = connector.pull_audit_data("123-456-7890")
# Pulls: campaigns, ad groups, keywords, search terms,
# ads, conversions, assets, PMax, negatives, change historyMeta Ads (via Marketing API):
from tools.connectors.meta_marketing import MetaAdsConnector
connector = MetaAdsConnector(
access_token="your_token",
ad_account_id="act_123456789"
)
data = connector.pull_audit_data()
# Pulls: campaigns, ad sets, ads, creatives, audiences,
# pixel health, account insightsScore ad creatives on 8 dimensions using Claude's vision:
from tools.creative_scorer import score_creative
result = score_creative("ad_image.png", platform="meta", industry="ecommerce")Scoring dimensions:
| Dimension | Weight | What It Measures |
|---|---|---|
| Headline Clarity | 15% | Value prop clear in <2 seconds? |
| CTA Visibility | 15% | Clear call-to-action visible? |
| Emotional Appeal | 15% | Triggers desire/curiosity/urgency? |
| Mobile Readability | 13% | Legible at phone screen size? |
| Visual Hierarchy | 12% | Eye flows hook → value → CTA? |
| Platform Fit | 10% | Looks native to the platform? |
| Brand Consistency | 10% | Professional, cohesive look? |
| Text-Image Ratio | 10% | Within platform guidelines? |
Also returns:
- Overall score (0-100) with letter grade
- Top 3 specific improvements
- A/B test suggestions
- Creative fatigue risk assessment
- Predicted CTR tier
Track score progression over time with SQLite persistence:
from tools.audit_store import AuditStore
store = AuditStore()
# Save an audit
store.save_audit("google", 82, "B", checks=[...], account_id="123-456-7890")
# Get trends over 90 days
trends = store.get_trends("google", account_id="123-456-7890")
# Returns: score_history, improved_checks, degraded_checks, stalled_checks
# Generate trend report
print(store.generate_trend_report("google"))
# Output:
# Google Ads — Audit Trend Report
# | Date | Score | Grade |
# |------------|-------|-------|
# | 2026-01-15 | 62 | C |
# | 2026-02-01 | 71 | C |
# | 2026-02-15 | 78 | B |
# | 2026-03-01 | 82 | B |
# Net change: +20 points (improved)Pull and analyze competitor ads from Meta Ad Library:
from tools.competitor_intel import CompetitorIntel
intel = CompetitorIntel(meta_access_token="your_token")
# Fetch all active ads for a competitor
ads = intel.fetch_meta_ads(page_id="123456789")
# AI-powered theme analysis
analysis = intel.analyze_creative_themes(ads, "Competitor Name")
# Returns: messaging_themes, cta_patterns, value_propositions,
# tone, competitive_gaps, opportunities
# Compare multiple competitors
comparison = intel.compare_competitors({
"Competitor A": "page_id_1",
"Competitor B": "page_id_2",
})Generate polished, branded audit reports:
from tools.report_gen import generate_pdf_report, generate_markdown_report
# PDF (requires fpdf2)
generate_pdf_report(audit_data, "client_audit.pdf")
# Markdown
generate_markdown_report(audit_data, "client_audit.md")PDF includes:
- Cover page with Health Score gauge
- Executive summary with key metrics
- Category breakdown table
- Quick Wins section (fix in <15 minutes)
- Detailed findings with severity coloring
Real Core Web Vitals from Chrome users (not synthetic):
from tools.pagespeed import analyze_for_audit
result = analyze_for_audit("https://example.com", api_key="your_key")
# Returns real CrUX data: LCP, CLS, INP, TTFB, FCP
# Plus Lighthouse scores for performance + accessibility
# Plus page weight, render-blocking resources, unused JS/CSSKeep industry benchmarks current:
from tools.benchmark_updater import check_freshness, update_benchmarks
freshness = check_freshness()
# → {"status": "stale", "days_old": 120, "message": "Refresh recommended."}
update_benchmarks()
# Fetches latest from WordStream, LocaliQ
# Extracts with AI, updates benchmarks.md with date stamp11 pre-built strategic advertising templates:
| Template | Primary Platform | Focus |
|---|---|---|
saas |
Google + LinkedIn | Trial/demo signups, long attribution |
ecommerce |
Meta + Google Shopping | ROAS optimization, Advantage+ |
local-service |
Google Search + LSA | Call tracking, geo targeting |
b2b-enterprise |
ABM, pipeline metrics | |
info-products |
Meta + YouTube | Webinar funnels, VSL |
mobile-app |
Meta + Google UAC | MMP required, LTV:CPI |
real-estate |
Google + Facebook | Special Ad Category (housing) |
healthcare |
Google + Facebook | HIPAA, LegitScript |
finance |
Google + LinkedIn | Special Ad Category (credit) |
agency |
Multi-platform | Multi-client management |
generic |
Questionnaire-driven | Universal fallback |
Hard rules enforced during every audit:
- Never recommend Broad Match without Smart Bidding (Google)
- 3x Kill Rule: Flag any CPA >3x target for immediate pause
- Budget sufficiency: Meta ≥5x CPA per ad set, TikTok ≥50x CPA per ad group
- Learning phase protection: No edits during active learning
- Compliance: Auto-check Special Ad Categories (housing/credit/finance)
- Creative: Never run silent video ads on TikTok (sound-on platform)
- Attribution: 7-day click / 1-day view (Meta), data-driven (Google)
ads/ # Main orchestrator skill
SKILL.md # Routing logic + quality gates
references/ # 12 RAG reference files (loaded on-demand)
scoring-system.md # Weighted scoring algorithm
benchmarks.md # Industry benchmarks (auto-updatable)
google-audit.md # 74-check checklist
meta-audit.md # 46-check checklist
linkedin-audit.md # 25-check checklist
tiktok-audit.md # 25-check checklist
microsoft-audit.md # 20-check checklist
+ 5 more reference files
skills/ # 12 specialized sub-skills
ads-google/ # Google Ads deep analysis
ads-meta/ # Meta Ads deep analysis
ads-youtube/ # YouTube Ads specific
ads-linkedin/ # LinkedIn Ads B2B
ads-tiktok/ # TikTok Ads creative-first
ads-microsoft/ # Microsoft/Bing Ads
ads-creative/ # Cross-platform creative audit
ads-landing/ # Landing page analysis
ads-budget/ # Budget + bidding strategy
ads-audit/ # Full audit orchestrator
ads-plan/ # Strategic planning + 11 templates
ads-competitor/ # Competitor intelligence
agents/ # 6 parallel audit agents
audit-google.md # Google specialist (74 checks)
audit-meta.md # Meta specialist (46 checks)
audit-creative.md # Creative quality
audit-tracking.md # Conversion tracking health
audit-budget.md # Budget + bidding
audit-compliance.md # Compliance + performance
tools/ # Python package (Pro features)
connectors/
google_ads.py # Google Ads API v23 connector
meta_marketing.py # Meta Marketing API connector
creative_scorer.py # AI vision-based creative scoring
audit_store.py # Audit history + trends (SQLite)
competitor_intel.py # Automated competitor research
report_gen.py # PDF/Markdown report generator
pagespeed.py # Google PageSpeed Insights API
benchmark_updater.py # Auto-refresh benchmarks
scripts/ # Standalone utilities
analyze_landing.py # Playwright landing page analysis
capture_screenshot.py # Web screenshot capture
fetch_page.py # HTML fetching
Copy config.yaml.example to config.yaml:
# Google Ads API (for live auditing)
google_ads:
developer_token: "your_token"
client_id: "your_client_id"
client_secret: "your_secret"
refresh_token: "your_token"
# Meta Marketing API
meta:
access_token: "your_long_lived_token"
# Google PageSpeed Insights (free, 25K/day)
google_pagespeed:
api_key: "your_key"
# Anthropic (for creative scoring)
anthropic:
api_key: "your_key" # Or set ANTHROPIC_API_KEY env var- Required: Claude Code CLI
- Optional: Python 3.10+ for Pro features
# Unix/macOS/Linux
curl -fsSL https://raw.githubusercontent.com/itsjwill/ad-audit-pro/main/uninstall.sh | bash
# Windows PowerShell
irm https://raw.githubusercontent.com/itsjwill/ad-audit-pro/main/uninstall.ps1 | iexMIT License — see LICENSE for details.
Built with Claude Code

