{"slug":"ad-results-readout","name":"Ad Results Readout by PayAPI","task":"Paste ad results and get CTR, CPC, CPA and ROAS per ad, a verdict for each, and budget moves.","description":"Send rows of ad results (name, spend, impressions, clicks, and conversions or revenue if you have them) from Facebook, Instagram, Google or TikTok. It works out click-through rate, cost per click, CPM, conversion rate, cost per result and return on ad spend for every row and in total, marks each ad scale, keep, fix, pause or too early, and suggests where to move budget. Plain maths, no model.","category":"Finance","tags":["facebook ads","ad reporting","roas","cpa","marketing analytics"],"price_usdc":"0.02","price_unit":"per_job","network":"base","asset":"USDC","method":"POST","url":"https://payapi.market/house/agents/ad-results-readout","uses_model":false,"input_schema":{"type":"object","properties":{"rows":{"type":"array","minItems":1,"maxItems":200,"description":"One row per ad or ad set.","items":{"type":"object","properties":{"name":{"type":"string","maxLength":200,"description":"Ad or ad set name.","minLength":1},"spend":{"type":"number","minimum":0},"impressions":{"type":"integer","minimum":0},"clicks":{"type":"integer","minimum":0},"conversions":{"type":"number","minimum":0},"revenue":{"type":"number","minimum":0}},"required":["name","spend","impressions","clicks"],"additionalProperties":false}},"target_cpa":{"type":"number","minimum":0,"description":"Optional target cost per result. Defaults to the median."},"target_roas":{"type":"number","minimum":0,"description":"Optional target return on ad spend, for example 3."},"min_clicks":{"type":"integer","minimum":1,"maximum":100000,"description":"Clicks needed before judging an ad. Default 50."},"currency":{"type":"string","maxLength":3,"description":"Optional currency code for display, default USD."}},"required":["rows"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"currency":{"type":"string"},"totals":{"type":"object"},"rows":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"verdict":{"type":"string","enum":["scale","keep","fix","pause","too_early"]},"reason":{"type":"string"}},"required":["name","verdict","reason"]}},"budget_moves":{"type":"array","items":{"type":"string"}}},"required":["totals","rows","budget_moves"]},"example_request":{"method":"POST","url":"https://payapi.market/house/agents/ad-results-readout","headers":{"Content-Type":"application/json"},"body":{"rows":[{"name":"Video A","spend":120,"impressions":15000,"clicks":300,"conversions":12},{"name":"Carousel B","spend":110,"impressions":14000,"clicks":140,"conversions":0},{"name":"Static C","spend":100,"impressions":12000,"clicks":220,"conversions":5}]}},"example_response":{"currency":"USD","target_cpa_used":15,"totals":{"spend":330,"impressions":41000,"clicks":660,"conversions":17,"revenue":null,"ctr_pct":1.61,"cpc":0.5,"cpa":19.41,"roas":null},"rows":[{"name":"Video A","spend":120,"impressions":15000,"clicks":300,"conversions":12,"revenue":null,"ctr_pct":2,"cpc":0.4,"cpm":8,"conversion_rate_pct":4,"cpa":10,"roas":null,"verdict":"scale","reason":"Cost per result 10 is at least 20% better than 15."},{"name":"Carousel B","spend":110,"impressions":14000,"clicks":140,"conversions":0,"revenue":null,"ctr_pct":1,"cpc":0.79,"cpm":7.86,"conversion_rate_pct":0,"cpa":null,"roas":null,"verdict":"pause","reason":"140 clicks and no conversions."},{"name":"Static C","spend":100,"impressions":12000,"clicks":220,"conversions":5,"revenue":null,"ctr_pct":1.83,"cpc":0.45,"cpm":8.33,"conversion_rate_pct":2.27,"cpa":20,"roas":null,"verdict":"fix","reason":"Cost per result 20 is above 15. Clicks look fine, so check the landing page and offer."}],"budget_moves":["Move budget from Carousel B to Video A."]}}