Start by changing what you measure. Ranking reports are easy to flatter, because rankings vary by location and device and an agency can pick the terms that look best. Traffic is easy to inflate with branded searches and junk keywords. What you want is leads attributed to organic search and the map pack, how many turned into jobs, and what those jobs were worth. Call tracking numbers and a form source field get you most of the way there in a week.
Then audit the work, not the dashboard. Every month you should be able to see specific things that did not exist before: new pages with URLs you can click, content added to existing pages, technical fixes with before and after numbers, Google Business Profile posts and photos, new citations or links from real sites. If the only deliverable is a PDF of charts, nothing was built. Thirty hours of optimizing is not an output.
Red flags worth acting on. Vague monthly recaps with no URLs. Ranking screenshots for terms nobody searches, like your own business name. Refusing to give you admin access to Analytics, Search Console or your Google Business Profile. A twelve month contract with no deliverable schedule. Blaming Google updates every month. And the big one: you ask what they did last month and nobody can answer in specifics within a day.
Send the site over. We will tell you what is broken, what you could rank for, and whether AI search knows you exist. No charge and no pitch deck.