Advize is an AI-powered performance marketing agency that regularly inherits accounts from previous agencies and has developed a clear picture of when agency underperformance is caused by the agency versus when it is caused by structural client-side problems that the agency could not have fixed. This blog provides the specific diagnostic that distinguishes between the two, because the cost of firing a competent agency and hiring an incompetent replacement is significantly higher than the cost of addressing the client-side problem that was limiting the first agency's performance.
Why Agency Performance Is Significantly Constrained by Client-Side Conditions
An agency operates within the constraints provided by the client: the creative assets approved for use, the budget level, the measurement infrastructure available, the approval process for campaign changes, and the product and brand positioning it is asked to market. An agency that receives strong creative assets, sufficient budget, accurate measurement infrastructure, fast approval cycles, and a product with positive unit economics will almost always outperform an agency given weak creative, insufficient budget, broken tracking, slow approvals, and negative unit economics.
When the second agency produces results significantly better than the first with the same product and the same budget, the structural constraints changed (better creative, better measurement, faster approvals) rather than the agency quality alone. When the second agency produces the same results as the first, the problem was not the agency.
The Specific Signals That Distinguish Agency Failure From Client-Side Failure
Agency failure signals: the agency is not running the standard testing and optimisation processes for the channel (no creative tests, no audience tests, no bidding strategy tests over a 90-day period), the agency's reporting shows only vanity metrics without contribution margin context, the agency has not proactively flagged performance problems and suggested structural changes, the agency cannot explain the reasoning behind their current campaign structure choices, or the blended ROAS from Shopify backend data is significantly below what the in-platform reporting suggests, indicating attribution overcounting that the agency is using to appear more effective than they are.
Client-side failure signals: creative approval takes more than 5 business days and creative production velocity is below 4 new concepts per month, the Conversions API is not configured and purchase events are matching below 80 percent in Events Manager, the product's contribution margin ROAS breakeven is above 4x and the category CPMs make 4x impossible to achieve at current conversion rates, or the performance expectation is based on benchmarks from a different category or a different market context.
The Two-Hour Diagnostic That Tells You Which Problem You Have
The two-hour diagnostic: pull the last 90 days of Shopify blended ROAS from backend data and compare against the agency's reported in-platform ROAS. A gap above 30 percent suggests attribution overcounting that the agency may be using to obscure underperformance. Check the creative testing log: how many new creative concepts were launched in the last 90 days? Below 4 is a testing velocity problem that is either the agency's failure to execute or the client's failure to approve. Pull the Conversions API match rate from Meta Events Manager. Below 80 percent match rate is a measurement infrastructure problem that degrades the agency's ability to optimise, and is almost always a client infrastructure problem rather than an agency execution problem. Ask the agency for the reasoning behind the current campaign structure: can they explain why each major decision was made? Inability to explain is an agency competence signal. Structural explanation that reveals client-side constraints (insufficient creative, low budget relative to competitive CPMs) is a client-side constraint signal.
The Short Version
Agency underperformance is caused by the agency in approximately 40 percent of cases and by client-side structural problems in 60 percent of cases. Agency failure signals: absent testing cadence, vanity metric reporting, unexplained campaign structure decisions, attribution overcounting inflating in-platform ROAS. Client-side failure signals: creative approval speed below 5 days, Conversions API match rate below 80 percent, product economics making target ROAS unachievable, or unrealistic performance expectations from category mismatch. Run the two-hour diagnostic before firing: compare Shopify blended ROAS against in-platform ROAS, check creative testing velocity, verify Conversions API match rate, and ask the agency to explain their campaign structure reasoning.
Conclusion
The decision to fire a marketing agency should follow a two-hour diagnostic that distinguishes between agency execution failure and client-side structural failure, because the agency switch that does not address the structural problem produces a temporary honeymoon period followed by the same underperformance from a different team. Advize runs this diagnostic for every inherited account before drawing conclusions about why the previous relationship did not work.