
GoHighLevel Multi-Location Setup: Franchise Guide (2026)
GoHighLevel Multi-Location Setup: Franchise Guide (2026)
By Dr Priya Jaganathan, GoHighLevel Certified Admin · HL Growth Partner, Australia · Updated 1 August 2026 · 10 min read
On this page: Sub-account per location vs one shared account · GoHighLevel multi-location setup comparison table · Master snapshot strategy · Brand governance across locations · Local numbers and A2P per entity · Per-location calendars and round-robin · Rolled-up reporting options · Billing models · Onboarding a new location in under a week · Data-separation pitfalls · Common mistakes · FAQ · Related articles
Getting your GoHighLevel multi-location setup right is the highest-leverage decision a franchise or multi-site brand makes on the platform, because reporting, compliance, phone numbers, calendars and automations all inherit that structure. Change your mind six months in and you are migrating contacts, re-registering A2P campaigns and rebuilding calendars while live locations keep trading.
I have structured HighLevel for franchises, allied health groups, gym chains and multi-depot trades businesses, and the pattern that survives franchisee turnover and audits is remarkably consistent. This guide covers the decision framework, the snapshot strategy that keeps twenty locations in sync, and the checklist we use to stand up a new site in under a week.
One sub-account per location vs one shared account
The tempting shortcut is one sub-account with a "Location" custom field or tag on every contact. It collapses under four pressures.
Reporting
Native dashboards, attribution and pipeline reports are scoped to the sub-account. In a shared account, every report needs filtering by your location tag — and plenty (call stats, deliverability, show rates) cannot be segmented that way at all.
Phone numbers and compliance
A2P 10DLC registration in the US, and Spam Act obligations under ACMA here in Australia, attach to the legal entity sending the message — and franchisees are usually separate entities with their own ABNs. Registering one brand for twelve entities in a shared account is misrepresentation at worst and a carrier-filtering risk at best.
Calendars and teams
Calendars, users and round-robin live at sub-account level. In a shared account you are one misconfigured Workflow away from a Brisbane lead booked with a Perth physio.
Risk and exit
When a franchisee leaves the network, a sub-account can be handed over, snapshotted or shut down cleanly. In a shared account, "give me my contacts" becomes tag archaeology, and one franchisee's spam complaint damages sender reputation for everyone.
The narrow case for a single shared account: one legal entity, a centralised call centre, fewer than three locations, no plan to franchise. Everyone else should run one sub-account per location under an agency account — and if that layer is not set up yet, start with our GoHighLevel white label guide, because snapshots, branding and billing all live there.
GoHighLevel multi-location setup: side-by-side comparison
| Factor | Sub-account per location | Single shared account |
|---|---|---|
| Reporting | Native dashboards per site; clean attribution | Everything needs tag filters; many reports cannot be segmented |
| Compliance (A2P/ACMA) | Each entity registers under its own business details | One registration covering many entities; filtering and legal risk |
| Phone/SMS | Local numbers per site, isolated sender reputation | Shared numbers; one bad sender hurts all locations |
| Calendars | Per-site calendars, staff and round-robin | One calendar pool; high risk of cross-location bookings |
| Cost | More setup effort; same platform fee on Agency Pro, usage billed per sub-account | Cheapest on day one; expensive to unpick later |
| Risk | Contained — one site's mess stays in one site | Concentrated — data breaches, exits and spam issues affect everyone |
Check current inclusions on the official GoHighLevel pricing page — unlimited sub-accounts require the $297 Unlimited plan or above, table stakes for any multi-location build.
Master snapshot strategy: build once, deploy everywhere
The snapshot is your franchise operations manual expressed as software. Build one gold-standard sub-account — the master template — containing your funnels, Workflows, pipelines, email templates, custom fields, tags and calendar shells, snapshot it, and deploy it to every new location. Three rules keep this from becoming a mess:
1. The master is never a live location. It is a dedicated build environment; if your flagship site doubles as the template, every local experiment leaks into the next deployment.
2. Version your snapshots. Name them like software releases — FranchiseCore v2.4 — 2026-08 — and keep a changelog. When a franchisee reports odd behaviour, the first question is "what version are you on?"
3. Push updates as refreshes, not overwrites. When pushing a snapshot update, HighLevel lets you choose which assets to include — push only what you changed. If a location has customised a Workflow you are updating, the refresh can overwrite their local changes, so keep a register of approved local variations and exclude those assets for those sites. The mechanics are documented in the official HighLevel help library; read it before your first mass push.
Anything genuinely local should be built as a clearly named local asset, never by editing a master-deployed one. That single convention prevents most snapshot grief.
Brand governance: locked assets, naming and tags
Twenty locations editing freely will drift into twenty brands. Governance is three habits enforced from the top:
Locked assets. Decide which assets are brand-critical — the main website funnel, review-request templates, the nurture sequence — and restrict user roles so location staff cannot edit them.
Naming conventions. Prefix master-deployed assets: [CORE] New Lead Nurture. Local builds get the location code: [BNE] Winter Promo. Six months in, you will know instantly what is safe to touch.
Shared tag taxonomy. Publish a canonical tag list in the master snapshot — lifecycle, source, service — and forbid freelance tag creation. Rolled-up reporting depends on lead-facebook meaning the same thing in every sub-account. The same applies to pipeline stages: identical names across locations, deployed from the master, per our GoHighLevel pipelines guide, or cross-location comparisons are meaningless.
Local phone numbers and A2P registration per entity
Every location gets its own local number purchased inside its own sub-account via LeadConnector or your own Twilio. Local presence lifts answer rates and isolates sender reputation per site.
For SMS into the US, each sub-account completes its own A2P 10DLC brand and campaign registration under the franchisee's legal entity and website. In Australia, register alphanumeric sender IDs where used, honour the Spam Act's consent and unsubscribe rules, and keep consent records per entity — ACMA enforcement lands on the entity that sent the message. Budget two to four weeks for A2P approvals and start registration on day one of onboarding.
Per-location calendars and round-robin
Deploy calendar shells from the master — consistent names, durations, confirmation Workflows — then localise per site: staff users, hours, buffers and the round-robin pool. Round-robin in each sub-account spreads bookings across that location's staff only, which is exactly the containment you want.
If head office runs paid traffic for all locations, route leads by postcode or a location dropdown, then push the contact into the right sub-account via webhook. The booking itself always happens against the local calendar, driven by that location's own confirmation and reminder automations — patterns covered in our GoHighLevel Workflows deep dive.
Rolled-up reporting: what GHL can and can't do natively
Here is the honest limitation: GoHighLevel does not natively give you one dashboard aggregating leads, revenue and show rates across sub-accounts. The agency view lists sub-accounts with basic health indicators, but cross-location roll-up is on you. Your options, cheapest first:
Agency dashboard and manual review. Fine up to about five locations. Open each dashboard weekly, note the numbers. Free, tedious, error-prone.
Export to Sheets or BI. Use webhooks from key Workflows (new lead, appointment booked, opportunity won) posting into a Google Sheet or warehouse with a location column, then layer Looker Studio or Power BI on top. The sweet spot for most franchise groups.
API-based roll-up. A Private Integration per sub-account pulling contacts, opportunities and appointments into one database nightly. Most robust, needs a developer — our GoHighLevel API and Private Integrations guide covers scopes and rate limits.
Whichever you choose, the shared tag taxonomy and identical pipeline stages are what make the numbers comparable. Governance is a reporting feature.
Billing models: agency pays vs franchisee pays via SaaS Mode
Two clean models. In the agency-pays model, the franchisor holds the agency account, pays HighLevel and all usage, and recovers cost through franchise fees. Simple and controlled, but head office wears every franchisee's usage bill.
In the franchisee-pays model, you switch on SaaS Mode: each location gets a subscription billed to their own card through Stripe, with usage rebilled automatically at a markup you set. Franchisees pay their own consumption, head office keeps governance, and the platform becomes a margin line instead of a cost centre — tiers and rebilling multipliers are covered in our GoHighLevel SaaS Mode pricing breakdown. Most franchise networks over ten locations land on SaaS Mode; corporate-owned clinic and gym groups usually stay agency-pays because it is all one P&L anyway.
Onboarding a new location in under a week
With a mature master snapshot, a new site is a checklist:
- Day 1: Create the sub-account with the location's legal entity details, deploy the current snapshot version, buy the local number, submit A2P/sender registration, connect Google Business Profile and Facebook.
- Day 2: Add local users and roles, configure calendars — staff, hours, buffers, round-robin pool — and set timezone.
- Day 3: Localise content: address and team blocks on funnels, compliant email footers, review links. Import any existing contact list with consent records.
- Day 4: Connect Stripe, then test every Workflow end-to-end with a dummy contact: form fill, SMS, email, booking, pipeline movement.
- Day 5: Train the local team on the mobile app, conversations inbox and calendar; hand over the "what you may and may not edit" governance sheet; go live.
The one step you cannot compress is carrier registration — hence it goes first.
Common data-separation pitfalls
Even with per-location sub-accounts, groups trip on the seams. Central lead capture that dumps every enquiry into head office's sub-account "to sort later" — later never comes, and attribution dies. Cross-site staff sharing one login instead of being added as users in both sub-accounts. Contact imports that carry another location's customers across from an old spreadsheet — a privacy problem, not just a hygiene one. And exiting franchisees retaining agency-level access because nobody audited the top layer. Review agency users quarterly; it takes ten minutes.
Common mistakes to avoid
- Starting shared "just for now". Migrating contacts, numbers and calendars out later is weeks of work; structure is cheapest on day one.
- Using a live location as the master snapshot source. Local experiments and half-finished Workflows get deployed to every new site.
- Pushing snapshot updates blind. Without a local-variation register, one push can overwrite a franchisee's approved customisations with no undo.
- One A2P registration for many legal entities. Carriers filter, deliverability tanks network-wide, and the compliance exposure sits with head office.
- No naming convention or tag taxonomy. Nobody can tell core assets from local ones, and cross-location reports stop being comparable.
- Ignoring the reporting gap until the board asks. Native roll-up does not exist; plan your Sheets or API pipeline before you pass five sites.
If you're rolling GoHighLevel out across multiple locations and want the structure right the first time, book a strategy call with the HL Growth Partner team.
Frequently asked questions
Should a franchise use one GoHighLevel sub-account per location or one shared account?
One sub-account per location in almost every case. Reporting, phone compliance, calendars and franchisee exits all work cleanly per sub-account. A shared account only suits a single legal entity with a centralised call centre and two or three sites.
How do snapshot updates work in a GoHighLevel multi-location setup?
You maintain a master template sub-account, snapshot it with a version name, and push updates selectively to existing locations. You choose which assets to include per push; excluding assets that locations have customised is how you avoid overwriting approved local changes.
Does each franchise location need its own A2P registration?
Yes, if locations are separate legal entities. A2P 10DLC brands and campaigns (US) are registered per entity, and Australian Spam Act and ACMA obligations attach to the sending entity. Each sub-account registers under the franchisee's own details; approval can take two to four weeks.
Can GoHighLevel show combined reporting across all locations?
Not natively. The agency view lists sub-accounts but does not aggregate leads, revenue or show rates. Most groups roll up via scheduled exports or Workflow webhooks into Google Sheets or a BI tool, or pull data through the API into a central database.
Who should pay for the software — the franchisor or the franchisee?
Corporate-owned groups usually keep it agency-pays. Franchise networks typically use SaaS Mode so each franchisee pays their own subscription and usage through Stripe, often at a markup that turns the platform into a revenue line for head office.
