The distinction that matters is between actions and observations. A report showing rankings, impressions, and traffic is a report about the weather. Those numbers move for reasons including seasonality, competitor activity, and algorithm updates, none of which the agency caused. What you are paying for is actions, and an agency that cannot list the specific things it changed has not changed anything.
A good answer sounds concrete. We rewrote the titles and descriptions on these six pages because they had high impressions and low clicks. We added forty negative keywords after reviewing the search terms report. We built a page targeting this phrase because it has volume and no local competition. Each of those is checkable, has a stated reason, and produces an effect you could look for.
A poor answer sounds like activity. We optimised the site, we monitored performance, we continued our content strategy. Those describe a category of work rather than any instance of it, and they are what fills reports when nothing specific happened.
Ask to see the work itself rather than its description. You should have access to your own analytics, your own search console, and your own advertising account, in your own name, and you should be able to look at any of them without asking. An agency that holds those accounts and shares only exported summaries has arranged things so that the only view of their performance is the one they produce.
Watch for proprietary metrics, which deserve suspicion in proportion to how prominent they are. A visibility score or performance index with a name nobody else uses cannot be compared against anything, cannot be verified, and exists to produce a number that rises. Real metrics are the ones you could check yourself: enquiries, calls, conversions, and revenue.
Judge against enquiries rather than traffic, and insist that conversion tracking exists so that comparison is possible. Traffic is easy to produce and easy to present, and a campaign attracting two thousand visitors who were never going to buy is worse than one attracting ninety who are deciding. If nobody can tell you how many enquiries came from the work, that is the finding rather than a gap in the reporting.
Give it a fair period before judging, because the timescales differ by channel and holding search work to an advertising timescale is unfair and common. Paid campaigns should show something within weeks. Search and content accumulate over months, and an agency asking for six months on that work is being reasonable rather than evasive. What is not reasonable is six months with no explanation of what was done in the meantime.
If the answers are consistently vague, the useful step is a short paid audit from an independent party rather than a confrontation. Somebody with no stake will tell you within a few hours whether the work is real, and the cost is a fraction of another quarter of fees. That is also the moment to check who owns the accounts, because an agency that controls your domain and advertising properties has made leaving considerably harder than it should be.
Set the reporting expectation at the start rather than raising it as a complaint six months in. Ask, before signing, what you will receive each month, in what form, and whether it will list specific actions alongside results. An agency that agrees readily has told you something useful, and one that resists a written commitment to describing its own work has told you something more useful still. That conversation is far easier to have while they are still trying to win the engagement.