could not find the header row
Export the report as CSV (not the Excel summary) with Amount spent/Cost and Impressions columns.
duplicate row
Remove breakdowns (day, age, placement) from the export, or export a single date range.
no conversions in the report; give --target-cpa
Add a Results/Purchases or Conversions column, or give --target-cpa.
reports use different currencies
Run each currency's reports separately.
Claude does not use the skill
Check it is switched on in Settings → Capabilities → Skills, then name it in your message.
The script says a column is missing
Rename your header to one of the names in README, or say the mapping in your message.
Code execution is off
Skills with scripts need code execution enabled in Claude.ai settings.
FAQ
Does it connect to my ad accounts? No. Export a CSV from Ads Manager or Google Ads and give it the file. It never changes anything in your accounts.
What if I don't know my target CPA? It uses your account average for the period and says so. A target based on your margin is better: price minus costs, times the share you are willing to spend on ads.
Why is an ad with a high CPA only 'Fix' and not 'Kill'? Because it has not spent enough for the difference to be clear yet. It is killed only when the shortfall would be unlikely if it were really on target (90% confidence by default; change with --confidence).
Which levels work? Campaign, ad set or ad from Meta; campaign, ad group or keyword (and search term) from Google Ads. Mixed files are judged together.
Does it handle rupees? Yes. It reads Indian digit grouping (1,39,200.00), currency signs and the currency in the column name or a Currency code column.