GoHighLevel sub-accounts vs a database per client

A workspace per client inside your agency account, or a separate Postgres project per client. SalesCrew gives every client its own database with full export.

An admin approves every new account by hand. Nothing is created until then. We reply by email; no newsletter, no sequence.

app.salescrew.io/deals
Pipeline with weighted forecast and stage breakdown

A GoHighLevel sub-account is a client workspace, also called a location. It sits under your agency account, and agency owners and admins manage it (help.gohighlevel.com, checked 25 September 2026). SalesCrew gives each client instance its own Supabase project, so the client's records, files and credentials live in a database no other client touches.

The short answer

  • HighLevel sub-accounts, also called locations, sit under one agency account. Agency owners and admins run them.
  • A HighLevel sub-account transfer moves contacts, conversations and account history. Users, custom integrations, dedicated IPs and SMTP settings stay behind (checked 25 September 2026).
  • SalesCrew runs each client instance in its own Supabase project: Postgres, storage and edge functions.
  • A SalesCrew client can take a full Postgres dump and CSV of every table, and picks the data region at provisioning.

Sub-accounts vs a database per client

QuestionGoHighLevel sub-accountSalesCrew database per client
Where the client livesA sub-account (location) under your agency accountIts own Supabase project: Postgres, storage, edge functions
Who manages itAgency owners, admins and permitted agency usersYour team, with row-level security and scopes by channel, profile and area
How clients are addedSub-accounts by plan; automated creation on Agency ProA new instance per client
Integrations and keysCustom integrations stay behind when a sub-account is transferredStored in that client's own Vault, never shown after entry
Leaving or movingTransfer to another agency moves contacts, conversations and account historyFull Postgres dump plus CSV of every table
Pricing unitAgency plans by sub-account count, unlimited contacts and usersTiers from $299 a month, unlimited seats

GoHighLevel checked on gohighlevel.com/pricing and help.gohighlevel.com (What Is an Agency Sub-Account in HighLevel?, Sub-Account Transfer Guide), 25 September 2026. SalesCrew facts from the SalesCrew product documentation. Disclosure: SalesCrew is our product.

What a GoHighLevel sub-account separates

In HighLevel, each client gets a sub-account, which the help centre notes still works as a location. You create them under your agency account. On the Agency Pro plan, creation can run automatically in SaaS Mode (gohighlevel.com/pricing, checked 25 September 2026).

When you transfer a sub-account to another agency, its contacts, conversations and account history move together. Users, custom integrations, agency email domains, dedicated IPs and agency workflows don't. The new agency rebuilds them.

What a separate database per client adds

SalesCrew puts each client in a different Postgres project. You aren't filtering one shared table by client ID. The rows, the files and the stored credentials sit in a database that belongs to that client alone.

That shows up at three moments. At signing, you pick the client's data region. During the work, every API key sits in that client's Vault. At exit, the client takes a full Postgres dump and CSV of every table. The instance stays read-only for 90 days, then a person shuts it down.

Ask this in every client security review

When a client asks where their data lives, name the database, the region and the export format. With SalesCrew the answer is one sentence: their own Supabase project, in the region they chose, exportable as a Postgres dump. The agency page shows how that fits a multi-client practice.

What decides it

If a client contract names data residency or asks for a full export on exit, a database per client answers it directly. If your agency resells many small accounts, count how much work each transfer would leave behind. Read single-tenant vs multi-tenant CRM for the architecture in depth, or how to move a client off GoHighLevel for the step-by-step.

Questions

Does a GoHighLevel sub-account keep each client's data separate?
A HighLevel sub-account holds one client's business operations in its own workspace, which HighLevel says still works as a location. Every sub-account sits in your agency's account. Agency owners, admins and permitted users manage it (help.gohighlevel.com, checked 25 September 2026). A separate database per client adds a second layer: the records live in a different Postgres project.
What moves when a GoHighLevel sub-account is transferred?
HighLevel's transfer guide says contacts, conversations, supported assets and account history stay together in the transferred sub-account. Custom integrations, users, agency email domains, dedicated IPs, SMTP settings and agency workflows stay behind. Phone numbers move with it when both agencies use LC Phone. Only the agency owner, or an admin the owner grants permission, can start the transfer (checked 25 September 2026).
What does one database per client mean in SalesCrew?
SalesCrew gives every client instance its own Supabase project: its own Postgres database, file storage and edge functions. The client's data lives only in that project. Keys sit in that project's Vault. You choose the region when the instance is set up.
How does a client leave a SalesCrew instance?
The client takes a full Postgres dump plus CSV exports of every table. On churn, the instance turns read-only so the export can run. A person shuts it down 90 days later, not a timer. Nothing needs untangling from other clients, because no other client's rows were ever in that database.
How do I move a client off GoHighLevel into SalesCrew?
Bring a CSV export of the client's contacts and deals into the SalesCrew Data Bank and map the columns. Contacts are matched on email and filled in, never overwritten. Contacts, companies, deals, notes and tasks come across, and migration help is included on every tier. A standard import completes within 7 business days.