Seasonal playbook · 13 min read
The year-end review of your agency cost stack
Every agency audits what it charges. Almost none audits what it pays out. This is the fourth-quarter playbook for pulling apart the software, licence and subcontractor lines your GoHighLevel agency runs on, before the January auto-renewals fire at last year’s price and last year’s seat count.
Marcus Feld
Head of Build
Published
In the second week of January three charges hit the agency card inside five days. One was a scheduling tool you added for a single client who churned in March. One was a white-label support desk you signed up to during a busy quarter and routed six tickets to all year. The third was a project tool billed for four seats when two people left in the spring. None of them was large on its own. Together they annualised past five thousand dollars, and every one of them renewed because nobody told it not to.
That is the cost of never running the review. An agency will spend a full quarter deciding whether to raise a client eight per cent, then let the same amount leak out of the expense side without a single meeting about it. This is the fourth-quarter playbook for the other half of the profit and loss: the stack you pay out, torn down line by line and trimmed before the January renewal dates arrive. It is written for the principal who signs the invoices, not for someone learning what a stack is, and every figure in it is an assumption you should replace with your own. The one exception is HighLevel’s plan pricing, which is quoted as read off the page this run rather than remembered.
The half of the P&L nobody audits
There is a whole discipline around the revenue side of an agency. The Q4 retainer renewal and the price-increase conversation is a planned, seasonal, deliberate exercise, and most principals run some version of it. The expense side gets none of that attention. The cost stack is not decided so much as accumulated: a tool bolted on for one client, a desk trialled and never cancelled, an annual plan that renews in silence, a seat added for a contractor who has since moved on. It grows by accretion, and accretion is invisible until you line it up on one page and read the total.
The numbers from the wider software market say this is not a personal failing, it is the default behaviour of every organisation that buys subscriptions. Vertice reported that as of December 2025, 24 per cent of the applications in the average company’s software stack went completely unused, up from 18 per cent a year earlier (vertice.one, confirmed via search snippet this run, not independently fetched). Zylo’s licence-level data is starker: it put the share of SaaS licences unused across an average thirty-day period at 53 per cent (zylo.com, confirmed via search snippet this run). Those are enterprise figures, and a lean agency is tighter than an enterprise, but the mechanism is identical. Software spend ratchets up and almost never ratchets back down, because adding a line takes a card number and cancelling one takes a decision nobody is assigned to make.
The three layers of an agency cost stack
An agency running on GoHighLevel carries three separate kinds of outgoing cost, and the audit treats each one differently. Keep them apart on the page, because the question you ask of each layer is not the same question.
- The platform line. The GoHighLevel subscription itself, plus the usage wallet that tops up behind it. This line is mostly fixed, it is mostly necessary, and the review question is whether you are on the right tier and the right billing cycle, not whether you keep it.
- The tool stack. Everything bolted around the platform: schedulers, design and proposal tools, a white-label support desk, call tracking, a form builder, whatever crept in over twelve months. This is the layer where waste lives, because half of it either duplicates something the platform already does or serves a client who has gone.
- The people line. Subcontractors, virtual assistants, a white-label fulfilment retainer. This is usually the largest number on the page and the one you cut last and most carefully, because a cut here is a capacity decision, not a subscription decision.
Most of the easy money is in the middle layer, most of the real money is in the bottom one, and the top layer is where a single correct decision about tier or billing cycle quietly pays for the whole afternoon. Work them in that order and the review stays sane.
The platform line, right-sized
Start at the top because it is quick. HighLevel publishes three plan tiers: Starter at $97 a month, Unlimited at $297 a month, and Agency Pro at $497 a month (gohighlevel.com/pricing, confirmed via search snippet this run, not independently fetched). The tiers are consistent across every source that cites the published page. Paying annually instead of monthly brings each one down by roughly seventeen to twenty per cent according to the same guides, which on the Unlimited plan is a few hundred dollars a year for a decision that takes one click.
The year-end question on this line is not whether to keep GoHighLevel. It is whether the tier still matches what you actually run. Two drifts are common. The first is upward drift you have grown into: you are carrying real sub-accounts on Unlimited and have never looked at whether the annual cycle would save you a platform month a year. The second is a tier you have outgrown downward: you moved onto Agency Pro at $497 for SaaS mode during a phase when you meant to resell the software itself, that plan stalled, and you are now paying the SaaS-mode premium while running a plain build-and-retainer agency that an Unlimited plan at $297 would serve completely.
That second case is worth two hundred dollars a month, or twenty-four hundred a year, for the act of noticing. We are affiliates of HighLevel and not a reseller, agent or authorised representative of it, so take the tier decision on your own read of the published page and your own account. The point here is only that the platform line is the one place in the stack where a single right-sizing decision clears four figures, and it is the line people are least likely to question because the invoice is familiar. If you want the whole fixed base modelled rather than just this line, the month-by-month cost of running a GoHighLevel agency is the teardown that sits underneath this review.
One agency’s stack, on one page
Here is a worked example, because a cost stack only becomes legible when it is lined up and totalled. Take a fifteen-client agency on the Unlimited plan. Every figure below is an assumption you should overwrite with your own real charges, except the platform line, which is HighLevel’s published price. The point is the shape of the exercise, not the specific numbers.
| Line | Before | After | The move |
|---|---|---|---|
| GoHighLevel Unlimited plan | $297 | $297 | Keep. Switch to annual billing and save a platform month over the year. |
| Usage wallet (SMS, email, AI) | $180 | $180 | Keep. This is real client usage, not waste. Rebill it, do not absorb it. |
| White-label support desk | $500 | $0 | Cut. Six tickets all year does not justify the retainer. Fold the load into the VA. |
| Standalone scheduler | $29 | $0 | Cut. The platform already books appointments. This duplicates it. |
| Second booking tool | $15 | $0 | Cut. A leftover from a client who churned in the spring. |
| Proposal and design tool | $49 | $49 | Keep. Used weekly, no overlap, earns its line. |
| Project tool (4 seats) | $60 | $30 | Downgrade. Two seats left the team. Drop to the two in use. |
| Virtual assistant (part-time) | $900 | $900 | Keep. The people line carries delivery. Cut last, and only on capacity. |
| Amortised snapshot build | $115 | $115 | Keep. A $1,375 snapshot spread across the twelve months it serves clients. |
| Monthly total | $2,145 | $1,571 | A saving of $574 a month. |
Five hundred and seventy-four dollars a month is six thousand eight hundred and eighty-eight dollars a year, released from an afternoon of reading statements and sending four cancellation emails. Switch the platform line to annual billing and the yearly figure clears seven thousand. That is not found money in the sense of luck. It is money you were already spending on nothing, and the only reason it felt invisible is that no single line on its own was large enough to trigger a second look.

The year-end audit calendar
The review fails for the same reason the renewal conversation fails when it is left too late: the work and the deadline land in the same week. An annual subscription gives no warning before it charges, so the only safe time to audit the stack is in the weeks before the January renewal wave, not during it. Give the quarter a spine, exactly as you would for the fourth-quarter renewal calendar on the revenue side, and run both in parallel.
| Window | What you do | What you stop doing |
|---|---|---|
| Late October | Pull twelve months of card and bank statements and list every recurring charge, with its amount, its billing cycle and its renewal date. Nothing is judged yet, only written down. | Guessing what you pay from memory, which always undercounts. |
| November | Decide keep, cut, consolidate or downgrade on every line. Map each survivor to the clients or workflows that depend on it. Send cancellation notice on anything with a notice period. | Keeping a line because cancelling it feels like admitting you wasted the year. |
| December | Switch the survivors you are sure of to annual billing where it saves. Confirm every cancellation actually processed. Mark each surviving renewal date in a calendar you will see. | Letting a cancellation sit unconfirmed, which is how a cut line charges anyway. |
| January | The trimmed stack is live. New clients onboard against the lower base. The renewal charges that do arrive are ones you chose, on dates you marked. | Discovering a renewal by finding the charge, which is where this started. |

Keep, cut, consolidate, downgrade
Every line gets exactly one of four verdicts, and the discipline is in refusing a fifth option called "leave it for now", which is how a dead line survives three reviews in a row. Score each charge against what it actually does for the business, then apply the verdict the signal calls for.
| What the line looks like | The verdict |
|---|---|
| Used weekly, no overlap, maps to live clients or your own delivery | Keep. Consider moving it to annual billing if you are certain of it. |
| Duplicates something the platform or another tool already does | Consolidate onto the one you are keeping, then cancel the other. |
| Was added for a specific client who has since churned | Cut. The reason it exists left the building months ago. |
| Billed per seat, and a seat belongs to someone who has left | Downgrade to the seats actually in use. Do it before the renewal, not after. |
| A retainer or desk whose usage you cannot measure | Measure it this month first. If the usage does not justify the fee, cut or renegotiate. |
| Cheap, genuinely used, saves real time | Keep without apology. Not every small line is waste, and churning good tools has its own cost. |
| You are keeping it only because cancelling feels wasteful | Cut. Sunk cost is not a reason, and the money is already gone either way. |
The line that ends the exercise: a tool justifies its place by what it does for a live client or for your own delivery, never by the memory of the quarter you bought it in. If you cannot name the client or the workflow a line serves, you have found your next cancellation.
Four ways the review goes wrong
The cost-stack review has a small set of predictable failure modes, and every one of them is avoidable if you have seen it before. Here are the four that account for most of the damage, with the symptom that shows up first, the cause underneath it, and the fix.
The renewal you never saw coming
The symptom is the scene this piece opened on: a large charge arrives in January, you did not plan for it, and you have to log in to work out what it even was. The cause is annual billing set and forgotten, with no record anywhere of when each subscription renews. The fix is mechanical and permanent. During the inventory, write down every renewal date, then put each one in a calendar with a reminder set two weeks ahead, which is enough lead time to cancel inside any normal notice period. A renewal you marked is a decision. A renewal you discover is a tax.
The two tools doing one job
The symptom is two line items that, read side by side, clearly overlap: a standalone scheduler next to a platform that already books appointments, two form builders, a design tool nobody remembers choosing over the other one. The cause is accretion, each tool added in a different month by a different person for a different client, with no one ever looking at the stack as a whole. The fix is to consolidate onto the one you are actually keeping, migrate anything live off the other, and cancel it. The platform you already pay for is usually one side of at least one of these overlaps, so the first question on any bolt-on is whether GoHighLevel already does the job you are paying a second vendor for.
The desk you pay for and barely use
The symptom is a white-label support desk invoice that looks reasonable until you count how many tickets you actually routed to it this year and divide. The cause is that you bought it in a month when delivery was on fire, solved the panic, and never went back to check whether the ongoing fee matched the ongoing load. The fix is to measure before you renew: count the tickets or hours the desk handled over the last quarter, price them against the retainer, and decide. If the load is real and growing, the desk is earning its line and the honest move is to keep it. If it is six tickets a year, you are paying a retainer for a convenience you could fold into a VA. The white-label fulfilment versus hiring a builder comparison is the framework for deciding which form that capacity should take once you know the real volume.
The cut that broke a client
The symptom is the worst one: you cancelled a line to save forty dollars, and a week later a client workflow quietly stopped firing because that forty-dollar tool was a dependency nobody had mapped. The cause is cutting by price instead of by dependency, treating the stack as a list of costs rather than a system with connections. The fix is the mapping step in November, done before any cancellation: for every line you intend to cut, name what depends on it, and if the answer is a live client process, the line is not waste, it is infrastructure. This is also why the review belongs to the principal and not to whoever finds the cheapest spreadsheet. Cost and dependency are different axes, and the true cost to deliver one client is partly made of exactly these small infrastructural lines that look cuttable until something breaks.
Three things you are telling yourself
"It is only a few hundred a month, not worth an afternoon"
A few hundred a month is a few thousand a year, and it compounds, because a line you fail to cut this year is a line you pay every year until you finally look. The worked example above freed nearly seven thousand dollars a year from one afternoon, which is a better hourly rate than almost anything else you could do with that afternoon. And it stacks with the revenue side: a trimmed cost base makes every point of a retainer rate increase land as margin instead of being eaten by a stack that grew faster than the book. The two reviews are the same afternoon’s work viewed from opposite ends of the invoice.
"I will do it in January when things are quiet"
January is not quiet. January is new-client intake, and intake competes for the exact hours a review needs. Worse, the renewals you meant to catch fire during January, so by the time you look the decision has already been made for you by every vendor’s billing system. The review has to land in the weeks before the renewals, which means late in the fourth quarter, running alongside the January delivery backlog planning rather than inside the backlog itself. If you move it to January you are not deferring the review, you are cancelling it and keeping the charges.
"I should just subcontract the people line to cut it"
Here is the honest exception, and the case where buying anything from us is the wrong move. If your delivery has genuine slack, if the people on your team are not at capacity, then do not add a fulfilment retainer or subcontract anything to shrink the people line. The cheapest stack is the one you do not buy, and adding a fixed delivery line to an agency that is not capacity-constrained just converts spare hours into a new monthly cost. Trim the middle layer, right-size the platform, keep the people you have, and come back when capacity is actually the ceiling. When it genuinely is, a white-label fulfilment retainer converts variable, unpredictable delivery labour into one fixed line you can plan around, which is a different decision from cutting cost and should never be dressed up as one. Do not solve a capacity problem you do not have, and do not solve a cost problem by signing a bigger cost.
Run the review before the renewals fire
The stack renews whether or not you audit it. The only question is whether the charges that arrive in January are ones you chose or ones your vendors chose for you at last year’s price and last year’s seat count. Pull the statements this month, give every line one of the four verdicts in November, confirm the cuts in December, and go into intake on a base you set deliberately. If the people line is where the weight sits and you are trying to work out whether a fixed delivery arrangement would actually help or just add a cost, put your own client count and build hours into the fulfilment calculator on the pricing page and let the arithmetic tell you before you decide. The afternoon this takes is the highest-paid afternoon in your fourth quarter.
Quick answers
Related questions
Keep reading
Next in the series
Pricing teardown · 13 min
What It Costs to Run a GoHighLevel Agency Each Month
The platform invoice is the number every agency knows. It is also the small one. This is the fixed monthly cost base torn down line by line, the usage wallet nobody budgets for, the build spend spread across the months it serves, and the reason the fixed nut is almost never what actually caps your growth.
Seasonal playbook · 12 min
Q4 Retainer Renewals: The Price-Increase Conversation
Holding a retainer book flat for another year is a decision, and most agencies make it by accident every December. Here is how to run the fourth-quarter renewal on purpose, with the arithmetic that shows why the raise is a retention lever rather than a churn risk.
Pricing teardown · 13 min
Profitable on Paper, Broke in the Bank
Your model says the retainer clears fifty-something per cent. The operating account says otherwise. This is the teardown of the gap between the margin you quote yourself and the margin you actually bank, with the arithmetic, the five leaks in the order they cost you, and the fix for each.