Free agents + LAUNCH30: 30% off paid agents until 31 Dec 2026 (one-time purchases only) See free agents
Oarsman AI Sign in

Ad Report Doctor Pro for Meta and Google Ads / Docs

Ad Report Doctor Pro for Meta and Google Ads: setup guide

One or more exports become decisions.csv (Kill, Fix, Scale, Keep or Watch for every row with the reason), budget-moves.csv (what to pause and how much to add where) and report.md.

Who it is for: Founder, D2C brand owner or freelance media buyer spending Rs 50,000 to Rs 20 lakh (or $1K-$25K) a month on Meta and Google Ads who reviews performance in a spreadsheet each week.

Format: Claude skill pack · Version: 1.0.0 · Tested on: Python 3.13.5 (standard library only)

What it does

It finds the header row (Google's title lines and total rows are skipped) and maps Meta and Google column names, including Indian digit grouping and currency signs. For every row it works out the conversions your target says that spend should have produced (spend / target CPA, or spend / (average order value / target ROAS)). It then asks how likely the actual count would be if the row really were on target (a Poisson test, 90% confidence by default). Clearly worse is Kill. Clearly 1.2x better or more, with at least 3 conversions, is Scale. Worse but not yet clear is Fix. Below one target CPA of spend with few conversions is Watch. The rest are Keep. Frequency over 4 (Meta) is flagged as creative fatigue and holds back scaling. Lost impression share to budget (Google) marks a winner with room to grow. High click-through with poor conversion points to the landing page or tracking. Spend freed from Kill rows is moved to Scale rows, at most 20% each step.

What you need

  • Claude.ai with code execution switched on (or Claude Code, or just Python 3.10+)
  • A CSV export from Ads Manager or Google Ads for one date range
  • Your target CPA or ROAS, if you have one

5-minute setup

  1. Claude.ai: open Settings → Capabilities → Skills, click Upload skill and pick claude-ai-upload/ad-report-doctor-pro.zip.
  2. Claude Code: copy the folder skills/ad-report-doctor-pro into ~/.claude/skills/.
  3. Start a new chat. Attach your file and say: "Use ad-report-doctor-pro. Here's my Meta ad set export for October; my target ROAS is 2.5. What should I pause and scale?".
  4. Claude runs the script and gives you the files listed under Outputs. Check them before you act on them.

Try it with the sample

Run the samples (fictional October 2026 data for a tea brand):

python3 skills/ad-report-doctor-pro/scripts/core.py samples/meta-adsets-oct-2026.csv --target-roas 2.5 --out out
python3 skills/ad-report-doctor-pro/scripts/core.py samples/google-keywords-oct-2026.csv --target-cpa 450 --out out-google

Meta: 8 ad sets give Kill 3, Fix 1, Scale 1 and Keep 3. The retargeting ad set is held back for frequency 6.3. Kill rows account for Rs 65,950 of the spend. Google: 6 keywords give Kill 2 and Scale 1. The scaled keyword 'first flush darjeeling 2026' is losing 32% of impressions to budget.

Settings you can change

Option Default What it is
reports (required) CSV export(s) from Meta Ads Manager or Google Ads
--target-cpa (account average) Cost per conversion you can afford
--target-roas (none) Return on ad spend you need, e.g. 2.5
--min-spend (one target CPA) Below this spend with few conversions a row is Watch
--min-conversions 3 Conversions needed before Scale
--confidence 0.9 How sure before Kill or Scale
--max-frequency 4 Meta frequency above this is creative fatigue
--scale-step 0.2 Largest budget raise per step
--out out Output folder

What goes in and what comes out

Inputs: Meta Ads Manager export (campaign, ad set or ad level) and/or a Google Ads campaign, ad group or keyword report, as CSV; Your target CPA or target ROAS (optional; the account average is used if not given)

Outputs: decisions.csv with decision, reason, CPA, ROAS, CTR, CVR, expected conversions and vs-target ratio; budget-moves.csv; report.md with the Kill, Fix and Scale lists

AI disclosure and limits

This product does not call an AI model at run time. It was built by Oarsman AI's AI agents and checked by the automated tests shipped with it.

Limits: - Uses the numbers in your export as reported by the platform (their attribution); it cannot see your shop's own sales. - No account access: it never changes a campaign. You make the changes in Ads Manager or Google Ads. - One date range per file; exports with breakdowns are refused as duplicates. - Decision support only: results depend on your offer, creative and tracking.

Not tested by us: - Microsoft Ads, TikTok Ads and LinkedIn Ads exports (may work if columns match) - exports with breakdowns (age, placement, day) in one file - reports with more than 50,000 rows

Files

  • oarsman-ad-report-doctor-pro-v1.0.0.zip
  • CHANGELOG.md
  • QA-REPORT.json
  • README.md
  • SPEC.md
  • SUPPORT.md
  • TROUBLESHOOTING.md
  • VERSION
  • VIDEO-SCRIPT.md
  • claude-ai-upload
  • diagram.mmd
  • diagram.png
  • preview.png
  • samples
  • skills
  • tests

Help

Self-serve: see TROUBLESHOOTING.md (fixes and FAQ). There is no call, chat or email support. Fixes ship as new versions at your download link. Refund: 14 days, works as described, through the checkout platform.