Apply for a Free Strategy Call

The 9-Signal Test

Should You Fire Your Meta Ads Agency?

Nine signals you can check yourself, in your own dashboards, in under 15 minutes each. Then a rubric: hold, investigate, or act. Written by an advisory whose product is the diagnosis - not a pitch to take over your ads.

Most founders land here asking: should I fire my marketing agency? Fire your Meta ads agency only when the evidence says the agency is the problem - not the measurement, the offer, or the market. The nine signals below are that evidence. Each is a concrete check you can run in under 15 minutes, with dashboard and Slack access you already have. Score 0-2 and you hold. Score 3-5 means investigate first. Score 6-9 means act now. One note: this test is not a pitch for a media-buying retainer. Our product is the diagnosis itself. We gain nothing by saying your agency is fine - and nothing by pushing you to fire them so we can take over.

Signal 1: The same creatives have been running for 60+ days

If the same ads have been carrying most of your spend for 60 days or more, with nothing meaningful launched beside them, the account is coasting. On Meta, creative is the biggest lever an agency controls. When creative stops moving, active management has stopped - whatever the monthly report says.

This is rarely laziness. Winning ads feel safe, and every new test risks dragging this month's average down. So the winners run until they fatigue - and nothing is ready behind them. Creative pipelines die quietly, one skipped test at a time. The account looks stable right up until it is not.

Verify it yourself: Open Ads Manager, filter to active ads, and sort by amount spent over the last 30 days. Check the creation date on your top five spenders. If they are all 60+ days old and nothing launched in the past month has taken meaningful spend, you have your answer. Ten minutes.

Signal 2: You supply all the ideas

"Why am I the one giving my agency all the ideas?" Founders say a version of that sentence on almost every call we take. If every test in your account started as your idea, you are paying for execution and doing the strategy yourself. When the ideas flow one way - from you to them - the strategic layer you thought you hired does not exist.

Here is why it happens. The strategist you met during the sales process is not the person in your account each week. The person in your account is measured on keeping the numbers stable and the client calm. Proposing an idea creates work and risk; executing yours transfers the risk to you. If your idea fails, it was your idea. Over time the account settles into a rhythm where you brief and they build - and it starts to feel normal.

Verify it yourself: Open your Slack channel with the agency and search for words like 'test', 'idea', and 'what if' over the last 30 days. Count how many test ideas started with them and how many started with you. If the ratio is worse than one of theirs for every two of yours, the strategy is running in the wrong direction. Fifteen minutes.

Signal 3: The reporting doesn't reconcile to Shopify

The revenue your agency reports should reconcile against Shopify. In most accounts we open, it does not. Say Meta and Google together claim more revenue than your store recorded. Then the report describes what the platforms think of themselves, not your business. In the accounts we've audited, Google Ads usually overstates its share by 80-90%. Meta usually understates by 20-80%.

The cause is structural, not dishonest. Reports get built from the platforms' own dashboards, because that is what the tools export. Each platform claims full credit for every sale it touched. No referee removes the overlap. And an agency graded on platform ROAS has no reason to volunteer a smaller number. The full mechanics - attribution windows, view-through, modeled conversions - are in why your ad platforms all show different revenue.

Verify it yourself: Take your last full month. Add Meta's reported conversion value to Google's. Put that total next to Shopify's total sales for the same month. Do the platforms together claim more than the store recorded? Or has your report never shown the two side by side? Then this check has never been done. Ten minutes, three browser tabs.

Signal 4: They can't separate new customers from existing customers

Can your agency split new-customer revenue from returning-customer revenue? If not, it cannot tell you whether it is growing your brand or harvesting it. Ads shown to people who already buy from you produce beautiful ROAS and no growth. If your reporting shows one blended number, you do not know which of the two you are paying for.

The split is missing because nothing forces it to exist. Platform dashboards do not separate the two by default. The blended number is always the more flattering one, and the report answers to it. This is the signal we act on first in audits, because it moves real money. When Gnarly's budget shifted toward genuinely new customers, the result was 102% new-customer growth year over year - in the first 60 days.

Verify it yourself: Open Shopify Analytics. Pull sales by customer type - first-time versus returning - for last month. Then open your last agency report and look for the same split. If the report does not contain it, your agency is not steering by it. Ten minutes.

Signal 5: No proactive tests - nothing new unless you push

A managed account should have a testing agenda you never asked for. If nothing new ships - no new audience, no new angle, no new landing page test - unless you push for it, you have a caretaker, not a growth partner. Caretaking is worth far less than what you are paying for.

The incentive math explains it. Tests cost hours and risk short-term reported performance, while holding steady costs nothing and keeps the scoreboard green. When the account is judged on the platform's own numbers, holding is the rational play. There is a one-question version of this signal that cuts even deeper: would your agency ever kill a channel - including one they manage? The answer usually settles it.

Verify it yourself: Open your last three monthly reports or call recaps. Highlight every test the agency proposed without being prompted. Zero to one across three months is your answer. While you are in there, note how many "tests" were actually your own Slack messages coming back to you as plans.

Signal 6: You can't see or don't own your own ad account

You should own your ad account, your pixel and dataset, and your pages. You should hold admin access to all of them today, not "on request." Does any of it sit inside the agency's Business Manager? Then a switching cost is being built into your relationship, whether anyone meant it or not.

This usually starts innocently. During onboarding, running things through the agency's Business Manager is faster. So it happens "for now," and nobody revisits it. But what was handy in month one becomes leverage by month twelve. Leaving now means walking away from pixel history, account learnings, and sometimes the creative files. The agency does not have to hold anything hostage on purpose. The setup does it for them.

Verify it yourself: Log into Business Manager and open Business settings. Check who owns the ad account and the dataset. Check what your own role is on each. If ownership sits with the agency, you have found the signal - and your first fix. Same if you cannot see this screen at all. Ten minutes.

Signal 7: ROAS is propped up by retargeting and brand traffic

Account-level ROAS tells you very little until you see prospecting-only ROAS. Retargeting and brand-name traffic collect customers who were largely coming anyway. That warm layer can hold up an account average for years. Underneath it, cold acquisition can quietly lose money the whole time.

No villain is required here. The platforms credit those easy touches at full value. An agency graded on platform ROAS optimizes what the platform credits. Warm traffic is the fastest way to make the account number look good. So budget drifts toward it, one small move at a time. Firing the agency does not fix this on its own. The next agency inherits the same scoreboard and the same drift.

Verify it yourself: In Ads Manager, filter to your prospecting campaigns only - cold audiences, no retargeting, no brand terms. Read the ROAS on that subset. Put it next to the account average your report leads with. A large gap means warm traffic is carrying the number. Fifteen minutes.

Signal 8: They can't tell you what ROAS you need to break even

Ask what ROAS the account needs to break even on a new customer. The answer should be instant and specific. If it is not, every scaling decision so far has been a guess. A target without a break-even line under it is not a target - it is a preference.

Break-even lives in your margins: product cost, shipping, fulfillment, payment fees. That data sits in your books, not in any ad platform. Most agencies never ask for it - not out of neglect, but because the number they are graded on works fine without it. You can work it out in one sitting. Contribution per order is your AOV minus those costs. Break-even ROAS is AOV divided by that contribution. For the fuller discipline, the free Scaling Scorecard covers the five numbers we check before any budget decision. Those are CM3, new-customer CAC, 90-day LTGP:CAC, payback, and revenue split.

Verify it yourself: Work out your break-even ROAS from your last P&L. Take AOV and divide it by what is left of an average order after product costs, shipping, and fees. Then search your agency's reports for that number or anything like it. If it appears nowhere, the account has been steered without it. Fifteen minutes.

Signal 9: You feel like the last priority

If responses only speed up after you escalate, you have already learned your real priority level. The reliable read on an agency is how it behaves between escalations. How fast do ordinary questions get answered? Do promised items arrive without a reminder from you?

This one is capacity math, not character. Agencies stack accounts. Attention flows to the largest, the loudest, and the newest. If you are none of the three, you get the queue. That is understandable from their side of the table. But you are paying for senior attention and receiving a queue position. The gap between what the sales call promised and what the Slack channel delivers is the signal.

Verify it yourself: Scroll your Slack channel. Time the responses to your last ten non-urgent messages. Compare them against the first month of the relationship. Then list everything you have had to ask for twice. If the list is long and the response times have doubled, you are not imagining it. Fifteen minutes.

Score yourself

Count your signals - honestly, from the checks you ran, not from how the relationship feels this week. Here is what the count means, and when to fire your marketing agency versus when firing would be premature.

0-2 signals: hold and monitor. How to know if your marketing agency is doing a good job? A clean run of these checks is the answer: the evidence reconciles, and you did not have to take their word for it. Every agency shows one or two of these signals at some point; a single flag is a conversation, not a verdict. Raise what you found on your next call and re-run the checks in 30 days. A good team will close the gap. The signs of a bad marketing agency in ecommerce show up in patterns, not single data points - and you do not have a pattern yet.

3-5 signals: investigate seriously - and this is the trap zone. The instinct at 3-5 is to start taking sales calls from replacement agencies. Resist it. In this range, several of the signals usually trace back to the measurement layer - unreconciled reporting, no customer split, no break-even line - and a new agency inherits every one of those problems on day one. They will run a fresh honeymoon quarter on the same broken numbers, and in nine months you will be back on this page. Get an independent read on the numbers first, so you know whether you are firing the right thing. That is what the call at the bottom of this page is for - a read from someone with no stake in which way your decision goes. And if you want a deeper structured look before deciding, the Agency Audit Checklist gives you 20 questions to ask them directly, with what good and bad answers sound like.

6-9 signals: act now. At this count the relationship is not working, and another quarter of waiting will not change that. But "act" means more than "fire." Take control this week: fix account ownership first, stand up your own reconciled reporting, and then decide who runs the ads. You will make that decision far better from a position of ownership than from frustration.

0 of 9 signals checked

Check every signal that is true for your account right now. The verdict updates as you go. Nothing you check leaves this page.

Before you decide

Before you fire anyone, understand what firing does and does not fix. It changes who runs your ads. It does not change what your ads answer to. If your reporting does not reconcile, your new customers are not split from your returning ones, and nobody has a break-even line - the next agency inherits all of it. And it gets judged on the same platform numbers that made this one look better than it was. That is how founders end up on their third agency in four years, describing the same problems each time.

So run the sequence in order. Fix the measurement first: own the account, reconcile the numbers, set the break-even line. Then decide - switch, go in-house, or keep the team you have with a better scoreboard. We wrote up the switch decision itself, including when in-house genuinely wins, in the Meta ads agency alternative. And the full argument for why this pattern repeats across agencies - the structural version, not the villain version - is in The Agency Incentive Problem. One more reason to diagnose before you decide: some audits find the current agency doing better than the dashboards suggest. That result is cheap to learn, and it saves a good relationship.

Frequently asked questions

Judge process from month one and results from month four. Results genuinely need time. Creative testing, learning phases, and seasonality can hide a good team's work for a quarter. Process does not need time. Reconciled reporting, a new-versus-returning split, a break-even line, and unprompted test ideas should all show up inside 60 days. They are decisions, not outcomes. Picture an agency with six or more red flags in month two - stale creative, unreconciled numbers, no customer split, no break-even line. It will still have them in month eight. So the practical answer: give results 3-6 months, give process none. If the process signals are clean, extend the results window with confidence.

If your Meta ads agency is not delivering results, use the customer split to find out. Has new-customer revenue stayed flat across two agencies in a row? Or flat across an agency and an in-house stint? Then the constraint is probably your offer, your margins, or your site - not the execution. No media buyer can profitably scale an offer cold traffic does not want at that price. But maybe you cannot get a clean new-customer number at all. That by itself is an agency problem. Splitting new from returning buyers is their job before it is anyone's excuse. So pull the first-time versus returning revenue split from Shopify Analytics first. What you find decides the next conversation.

Ask for four things in writing, with a one-week deadline. One: a report reconciled against your store's recorded revenue. Two: last month's new-versus-returning revenue split. Three: the break-even ROAS they are steering toward. Four: their next 30 days of planned tests - none proposed by you. Every item is reasonable, and a competent team can produce all four inside a week. The response tells you more than the documents will. A good agency treats the request as overdue and delivers. A defensive answer - or a deck of platform screenshots - is the confirmation you were looking for.

Not necessarily. In-house works well when two things are true. Your spend justifies a senior operator's salary. And there is a measurement layer that operator can steer by - real CAC, margin, and a break-even line in your own dashboards. Below that bar, an agency's shared setup is usually the better deal, and a good one earns its fee. The honest answer: the choice between agency and in-house matters less than founders expect. Both models work when the numbers under them are real. Both fail the same way when the scoreboard is platform ROAS. Fix the scoreboard before you choose.

Know before you fire

A free 30-minute Strategy Call puts your real numbers on the table. We sanity-check the signals you found and name the most likely constraint, live. Then we tell you straight: is the problem your agency - or the scoreboard it reports into?

For DTC brands doing $1M+ per year and spending $30K+/month on ads.

Apply for Your Free Strategy Call