GoHighLevel Sub-Account Structure: Getting It Right Before Client Ten
In short
One sub-account per client is the right answer, and it's the easy part. The costly decisions sit underneath: how you name things, your custom-value conventions, what lives at agency level, and how you handle a client with three locations. Here's what to settle before client ten locks you in.
An agency owner called me in a quiet panic at client twenty-five. Nothing was broken, exactly. But every account was named differently, the field names clashed from one build to the next, and he could no longer find a single thing without hunting through a list of near-identical names he'd invented one tired afternoon at a time. He'd made a hundred small setup calls on the fly, each fine on its own, that together grew into a mess no single fix could undo. The work was good. The scaffolding under it was chaos. And unpicking it, live, across twenty-five paying clients, was a job he'd have given anything to avoid. That's the trap this article is here to keep you out of. The fix for a mess that size is never a quick toggle. It's a long, nervous week of work, done live on accounts that paying clients need running well right now.
So let me lay out the decisions you want settled early, before client ten quietly locks them in: the naming, the custom values, what lives where, and the multi-site client that breaks a lazy setup. One account per client? Easy. These are the parts that actually bite you later.
One sub-account per client, and why that's the easy bit
Start with the obvious answer, because it's right. One client gets one account. It keeps their data separate, their billing clean, their branding their own. It's the standard every serious firm follows.
So that first call takes ten seconds. Good. But it's the only easy part, and plenty of firms hit a wall at client twenty because they stopped thinking the second they made it. This piece is about everything underneath that call. You make those choices once, without noticing, then repeat them thirty times, and only later find you've set a rule you can't easily change. The account split is the part you see. The naming, the values and the asset lines, the stuff that actually bites, is the part you don't.
How should you name everything?
One naming rule, chosen once, used everywhere. It sounds trivial. Yet it's the one thing owners most wish they'd nailed down on day one, before the mess had a chance to start.
Pick a format and commit to it. Client name plus town, say. Whatever suits you. Then use it for every account, every pipeline, every calendar. At three clients it feels like fuss. At thirty it's the whole gap between finding the account you want in two seconds flat and scrolling up and down a long wall of half-remembered names like "Dave's thing," "ABC final," and "Smith (new)" while a client waits on the phone. The format barely matters. The sameness is everything. Decide it now, write it down, and never break it, because the first messy name is the crack the whole mess grows from.
What are custom values, and why plan them now?
Custom values are the reused fields a snapshot drops into every template: the business name, the booking link, the address, the phone. Get them right and a snapshot fills a whole account in minutes. Get them messy and you've built a slow problem.
Here's the trap. Each snapshot calls its fields by name. If one says "Business Name," another "company_name," and a third "biz," then every template wants a different field, and nothing drops in cleanly across accounts. So name them once, up front. Make every snapshot use the exact same set. This is dull to plan and brutal to retrofit, because changing one field name across thirty live accounts means touching all thirty. Plan the list before you build your second snapshot, not your twentieth.
What lives at agency level versus sub-account level?
Draw this line clearly. Get it wrong and you either rebuild forever or leak data. The rule itself is simple, though. Write it down once and you never again stop to wonder where a thing belongs, or why the same workflow somehow exists in six places.
Shared assets live at the top level. Your snapshots, your standard workflows, your template library. You build those once and give them to everyone. Client things live in the account: their contacts, their pipeline, their chats, their branding. Build one shared workflow inside a single client's account and you'll rebuild it for the next client, and the next, and the one after that, forever. Pure waste. Put one client's data where another can reach it and you've a privacy problem. The top level is the factory. The account is the finished house. Keep the factory and the houses separate, and both stay clean. The SaaS-mode setup leans heavily on this line being right.
How do you handle a multi-site client?
This is the one that breaks a lazy setup, so decide it before it arrives, not in a panic when it does. A single client with three sites doesn't fit "one account per client" without a choice.
There are two clean answers. One sub-account with location tags, which suits a business with shared branding and one reporting view across all sites. Or one sub-account per location, which suits a true franchise where each site runs on its own with its own numbers. Both work. What fails is deciding it fresh each time a multi-site client signs, because then you end up with one client on tags, another on separate accounts, a third on some muddle of the two, and no clean way to pull a single report across any of them. Do that and you've three rules for one problem, and no way to report across them. Pick your default now, write down when you'd break it, and apply it the same way every time.
Why settle all this before client ten?
Because restructuring later is slow, risky, live-fire work, and it only gets worse with scale. At client ten the mess is annoying. At client thirty it's a project you can't find time for, done between serving the clients the mess is slowing you down for.
Everything above is cheap to decide now and dear to fix later. That's the exact shape of a decision worth making early. Get it wrong and the fix is thirty live accounts and a week of your life, untangled one by one. In GoHighLevel, a clean setup is invisible when it's right and everywhere when it's wrong. Set the naming, the values, the asset lines and the multi-site rule before client ten, and your firm scales without you ever having to stop and untangle it.
The groundwork sits alongside the wider setup for new agencies, and the two are worth reading together.
That structured foundation is what our done-for-you GoHighLevel snapshots are built on, with the conventions already set so your accounts stay tidy from client one.
Who sets it up
GoHighLevel is the platform, and you subscribe to HighLevel directly. GHL Spark isn't HighLevel, and we don't resell the plan. We just build it. The account is yours from day one, and it stays that way.
The build is what we do: the naming convention, the custom-value set, the agency-level asset library and the multi-location rule, all decided and documented before you scale. We set the scaffolding so your tenth client, and your thirtieth, slot in clean instead of adding to a mess.
Where to go next
Book a free consultation. Tell us how many clients you run and how you name things now, and we'll show you what to fix before it becomes a restructuring project.
Frequently asked questions
Should each GoHighLevel client get its own sub-account?
How should you name GoHighLevel sub-accounts?
What are custom values and why plan them early?
What should live at agency level versus sub-account level?
How do you handle a client with multiple locations?
Can you restructure GoHighLevel sub-accounts later?
About the author

Founder & Certified GoHighLevel Expert
Farhad is the founder of GHL Spark, where he builds and white-labels GoHighLevel SaaS platforms for agencies and SaaS operators. He writes about the parts of GoHighLevel that actually break in production — A2P registration, onboarding, support load and automation.
More from Farhad Hossain