How to Manage Multiple Client Accounts in GoHighLevel: Sub-Accounts, Permissions and Reporting
The cleanest way to manage multiple client accounts in GoHighLevel is to give every client or operating location its own sub-account, control access from Agency Settings, reuse configuration through snapshots and review performance with the same reporting routine.
The software can hold the accounts in one agency view, but that alone does not create an organised delivery system. You still need rules for naming, permissions, onboarding, connected services, testing and handoff. Without those rules, teams quickly end up editing the wrong account, exposing settings to the wrong person or copying outdated workflows from one client to another.
This guide shows a practical structure that an agency, SaaS team or multi-location operator can maintain as the number of accounts grows.
Use one sub-account per client or distinct business location. Give internal staff only the accounts and modules they need. Add clients inside their own sub-account instead of granting agency access. Use snapshots for reusable configuration, then reconnect domains, calendars, phone, email, payments and integrations for each account.
Start with the right account structure
In HighLevel, the agency account is the control layer. Each client workspace underneath it is normally a sub-account, sometimes called a location. Contacts, conversations, calendars, pipelines and most configuration belong inside that client sub-account.
Do not place several unrelated clients inside one sub-account. It mixes contact data, sending domains, phone numbers, reporting and user permissions. It also makes a later transfer or handoff much harder.
| Business situation | Recommended structure | Reason |
|---|---|---|
| One client with one business | One client sub-account | Keeps data, channels and reporting separate |
| One brand with independent locations | Usually one sub-account per location | Each location can have its own calendar, staff, numbers and local reporting |
| One brand with a fully shared sales team | Decide from the operating process, not the number of addresses | A shared account may work only when data, permissions and communication genuinely belong together |
| Your agency’s own sales operation | Keep it in a clearly labelled internal account | Prevents staff from confusing agency assets with client assets |
Important: HighLevel also uses the term Agency Sub-Account for certain agency-owned workspaces. That is different from an ordinary client sub-account. Confirm the account type before changing SaaS, billing, rebilling or transfer settings.
A practical process for managing multiple accounts
Create a naming standard
Use a name your team can recognise without opening the account. A simple format is Client name | Location | Environment. Examples include “Northside Dental | Austin | Live” and “Northside Dental | Template | Do Not Edit”.
Rule: Never use two accounts with nearly identical names and no location or status label.Keep a standard onboarding record
Record the business owner, account owner, domain, sending domain, phone number, calendar owner, payment connection, active integrations and launch date. Store passwords in an approved password manager, not in a custom field or internal note.
Assign an internal account owner
One person should be responsible for approvals, account access and the final pre-launch check. Specialists can still work on funnels, workflows or integrations, but the owner prevents conflicting edits and incomplete handoffs.
Build from a controlled template
Create and test reusable assets in a dedicated source sub-account. Capture the approved configuration as a snapshot. Do not turn a live client account into your permanent template because client-specific changes can enter the next build.
Reconnect account-specific services
After creating the account or loading a snapshot, connect the client’s domain, email service, phone system, calendars, social accounts, payment provider and external integrations. These connections should be tested inside that account.
Run an end-to-end test before access is handed over
Submit a test lead, confirm the contact and opportunity, book an appointment, reply to a message and check the internal notification. A workflow being published does not prove the complete customer journey works.
Control team and client permissions deliberately
HighLevel separates the user type from the role and the granular permissions. Those settings solve different problems.
- Agency user type: intended for internal agency team members who need agency-level access.
- Account user type: restricts a person to selected client accounts.
- Admin role: provides broad control inside the relevant scope. Use it only when the person genuinely manages the account.
- User role: can be limited by module and action.
- Only Assigned Data: can restrict a salesperson to contacts, opportunities, appointments and tasks assigned to them.
For internal staff, start with the minimum access needed for their job. A funnel builder may need Sites and Forms but not billing. A support assistant may need Conversations and Contacts but not workflows or integrations.
For a client, add them from the relevant sub-account under Settings → My Staff. Do not grant agency-level access simply because it is faster. HighLevel’s current user-access documentation explains the distinction between agency and account users, while its agency permissions guide covers account restrictions and granular module access.
Use snapshots for configuration, not client data
A HighLevel snapshot is a reusable package of selected configuration from a source sub-account. It can include assets such as workflows, funnels, forms, calendars, campaigns, custom fields and custom values.
It is not a backup of the complete client account. HighLevel states that contacts, appointments, conversations, reputation data, Stripe connections and integrations are not included. Those items must be handled separately.
Before applying or updating a snapshot:
- Check that the source account contains the approved version of every selected asset.
- Use neutral custom values instead of leaving another client’s phone number, domain or offer inside the template.
- Review conflicts before importing into an existing account.
- Reconnect account-specific services and replace placeholder values.
- Test workflows before publishing them.
- Keep a change log when pushing snapshot updates to several accounts.
HighLevel’s snapshot overview explains what can be copied and how conflicts are handled. The safest operational rule is simple: treat a snapshot as a starting configuration, then verify every client-specific connection.
Use the same reporting structure across every account
A dashboard becomes useful only when the stages and definitions are consistent. Decide what each number means before copying dashboards across clients.
| Metric | Definition to agree | Check |
|---|---|---|
| New leads | Contacts entering from approved lead sources | Source, duplicates and date range |
| Qualified opportunities | Leads meeting the client’s stated criteria | Pipeline stage rules and owner |
| Appointments booked | Valid appointments created in the selected calendars | Status, calendar and timezone |
| Show rate | Completed appointments divided by eligible bookings | How canceled and rescheduled appointments are treated |
| Won value | Closed opportunities with an agreed value source | Manual values, payments and reporting period |
HighLevel documents both customisable sub-account dashboards and agency rolled-up reporting. Rolled-up reporting availability depends on the plan, so check the current account before promising an agency-wide view. If it is unavailable, use a standard dashboard inside each account and a scheduled review process.
Run a simple maintenance routine
Managing many accounts becomes easier when checks happen on a fixed cadence instead of only after a client reports a problem.
- Weekly: failed workflows, unread conversations, appointment issues and integrations showing an error.
- Monthly: user access, sending health, phone and email configuration, pipeline hygiene, forms, calendars and broken links.
- Before every major change: account name, business identity, target workflow and the affected client journey.
- After every change: submit a test contact and record what was changed, tested and handed off.
- When a team member leaves: remove or reduce access immediately and reassign owned records where needed.
Common mistakes that make multi-account delivery harder
Giving every staff member agency admin access
It feels convenient, but it exposes billing, settings and accounts that the person does not need. Use assigned accounts and granular permissions.
Using one live client account as the master template
Client-specific values and emergency edits can quietly enter future deployments. Keep a separate source account for approved reusable assets.
Assuming a snapshot reconnects everything
Snapshots copy configuration, not every connection or record. Domains, calendars, phone, email, payments and integrations still require client-specific checks.
Comparing reports built from different stage definitions
Two dashboards can display the same label while counting different activity. Document the pipeline stage and metric rules before comparing accounts.
Making changes without an account-level test
A copied workflow can reference the wrong calendar, user or custom value. Test inside the destination account before calling the change complete.
Managing multiple GoHighLevel accounts: FAQs
Can one GoHighLevel account manage multiple clients?
Yes. An eligible agency account can hold separate client sub-accounts. Each sub-account keeps its own contacts, conversations, calendars, pipelines and configuration.
Should every location have its own sub-account?
Usually, when locations have separate staff, calendars, phone numbers, communication or reporting. A shared account can work when the business genuinely operates one combined sales process and the permission model remains clear.
What is the difference between an agency user and an account user?
An agency user works at the agency level and may access several client accounts according to their permissions. An account user is limited to selected sub-accounts. Clients should normally be added to their own sub-account.
Do snapshots copy contacts and integrations?
No. Snapshots copy selected configuration assets. HighLevel states that contacts, appointments, conversations, reputation data, Stripe connections and integrations are not included.
How often should account permissions be reviewed?
Review them at least monthly and whenever a role, client relationship or employment status changes. Remove access that is no longer required instead of leaving old users active.
Related GHLFocus guides: optimize the GoHighLevel CRM · GoHighLevel versus Monday CRM · dedicated GoHighLevel project manager.
GHLFocus
Need a cleaner multi-account delivery system?
We can review your account structure, permissions, snapshots and handoff process, then show you what should be standardised first.
Discuss Your Account Structure See how our agency support works
One Comment