Skip to content

Guides

HighLevel Location ID: Where to Find It and What It's For

Find your HighLevel Location ID in 2 places, see what GoHighLevel uses it for, and use it to brand one sub-account, connect tools and fix common errors.

By the GHL Dashboard Builder teamPublished 21 min read · 4,772 words

Where do I find my HighLevel Location ID?

Open the client's sub-account and look at the browser address bar: the Location ID is the string after /location/, for example /v2/location/<id>/dashboard. You can also open Settings, then Business Profile, inside the sub-account, where HighLevel shows the same ID. Each sub-account has its own unique Location ID.

Key takeaways

  • A Location ID is the unique code HighLevel gives every sub-account; sub-accounts used to be called locations, which is why the API and the address bar still say location.
  • You find it in two places: in the browser address bar after /location/ while you are inside the sub-account, and on the sub-account's Settings, Business Profile page.
  • HighLevel's API, private integration tokens, rate limits and many third-party tools work per Location ID, so the wrong ID sends data to, or reads data from, the wrong client.
  • The Location ID is not a password, because API calls also need a token, but treat it as an internal account number and keep it out of public posts.
  • Agency-level custom code loads in every sub-account, so branding one client means checking the Location ID in the page address; GHL Dashboard Builder does this for up to 200 sub-accounts per design from one install.
  • Location IDs are case-sensitive strings of letters and numbers, so copy them exactly; a wrong letter case, an extra space or an ID from the wrong sub-account is enough to make an integration fail.
In this guide
  1. What is a HighLevel Location ID?
  2. Where do I find my HighLevel Location ID?
  3. How does GHL Dashboard Builder use the Location ID?
  4. What is the Location ID used for in GoHighLevel?
  5. Location ID vs Company ID, Contact ID and API key: what is the difference?
  6. Why do live dashboard numbers depend on the Location ID?
  7. How do you use a Location ID to brand one sub-account, step by step?
  8. How do developers use the Location ID in custom code?
  9. Is it safe to share a HighLevel Location ID?
  10. What can go wrong with Location IDs?
  11. Which plan do you need to scope a design by Location ID?
  12. What to do next
  13. Frequently asked questions

A tool you want to connect asks for your client’s “Location ID”. A developer needs it to fix a script. You want to brand one client’s account and leave the others alone, and every guide says “add the Location ID”. If you have never seen the term in HighLevel (also called GoHighLevel or GHL), it is not obvious what it is, where it lives or why so many things depend on it.

This guide answers those questions in order. It explains what the HighLevel Location ID is, the two places to find it, what HighLevel and outside tools use it for, how it differs from the Company ID, Contact ID and API key, how to use it to brand a single sub-account step by step, how developers use it in custom code, whether it is safe to share, and the mistakes that cause most “invalid location” errors.

What is a HighLevel Location ID?

A HighLevel Location ID is the unique code HighLevel assigns to every sub-account in your agency. HighLevel originally called sub-accounts “locations”, and the identifier kept that name. When a tool, a script or a help article asks for a location ID, a sub-account ID or a locationId, it means the same string.

HighLevel’s help article on finding a client’s Location ID describes it as a unique ID given to every sub-account in your agency account. The developer documentation shows the history in its page titles: the endpoint for reading a client account is called Get Sub-Account (Formerly Location), and its path still ends in /locations/{locationId}.

Three terms help before going further:

  • Agency: your top-level HighLevel account, where you manage clients, billing and white-label settings. HighLevel’s API calls it a company.
  • Sub-account: one client’s workspace with its own contacts, calendars, conversations and pipelines. Each one has exactly one Location ID.
  • Agency view: the part of HighLevel you see before you switch into a client. It has no Location ID because it is not a sub-account.

A Location ID looks like a string of upper-case letters, lower-case letters and numbers, for example AbC123xYz456LmN789Qr (a made-up example). It carries no meaning on its own: you cannot tell the client’s name, country or plan from it. Its only job is to point to one sub-account without any doubt, which is why two clients called “Smile Dental” can sit side by side in your agency without being mixed up.

The Location ID stays with the sub-account for its whole life. Renaming the business in Business Profile changes the name, not the ID. Creating a new sub-account, even from a snapshot of an existing one, produces a new ID. That last point matters later: anything you set up by Location ID for the old account does not carry over to the copy.

Where do I find my HighLevel Location ID?

You find a HighLevel Location ID in two places, both inside the sub-account: in the browser address bar after /location/, and on the sub-account’s Settings, Business Profile page. Both show the same string. Neither is available from the agency view, so switch into the client’s sub-account first.

HighLevel’s help article on the Location ID lists both routes. At the time of writing they work like this.

Method 1: the browser address bar

  1. From your agency view, switch into the client’s sub-account using the account switcher or your list of sub-accounts.
  2. Open any page inside it, such as the Dashboard or Contacts.
  3. Look at the address bar. The address has the form https://app.gohighlevel.com/v2/location/<id>/dashboard, or the same path on your own white-label app domain.
  4. Copy the characters between /location/ and the next /. That is the Location ID.

Some HighLevel pages and older links carry the ID as a parameter instead, as locationId=<id> in the address. The value after the equals sign is the same Location ID.

Method 2: Settings, Business Profile

  1. Inside the sub-account, open Settings at the bottom of the left menu.
  2. Business Profile opens first. According to HighLevel’s Business Profile settings article, this page holds the sub-account’s business name, logo and other details.
  3. Find the Location ID on that page and copy it.

The address bar is the fastest route when you are already working in the account. The Business Profile page is easier to explain to a client or a new team member over email, because it does not depend on reading a long address.

Quick check before you paste it anywhere

Paste the copied ID into a plain text editor before you use it. Check that it has no spaces at either end, no slash, and no extra characters such as /dashboard. Location IDs are case-sensitive in practice: abc and ABC are different strings to every tool that compares them, so never retype one by hand.

How does GHL Dashboard Builder use the Location ID?

GHL Dashboard Builder uses the Location ID to decide where a design appears. You can install a design for your whole agency, which needs no IDs, or choose Only these sub-accounts and add each client by its link or Location ID. The design then appears inside those sub-accounts only, and everything else stays plain HighLevel.

GHL Dashboard Builder is an independent design service that turns the standard HighLevel (GoHighLevel) dashboard into a branded platform: your colors, menu, login design, privacy mode and your clients’ language, installed with two lines of code. It is not affiliated with HighLevel. The design installs in your agency’s Custom Code settings, and limiting it to chosen sub-accounts is part of every plan, starting with Starter.

The reason a Location ID is needed at all is that HighLevel’s Custom CSS and Custom JavaScript live in the agency’s settings, under Settings → Company → Whitelabel → Custom Code, and load in every sub-account. Our guide to GoHighLevel agency vs sub-account settings maps which settings sit at which level. Because there is no Custom Code box inside a sub-account, the code itself has to check which sub-account is open, and the Location ID in the address is how it knows.

In the builder, or in your account dashboard after you buy, you open the Sub-accounts section, choose Only these sub-accounts and paste each sub-account’s link or ID. If you paste the whole address, the ID after /location/ is picked out for you. You can give each entry a name of your own, such as “Smile Dental (pilot)”, so the list stays readable when it grows. One design can be limited to up to 200 sub-accounts.

Single sub-account in GHL Dashboard Builder, shown on HighLevel's real screens
A design limited to chosen sub-accounts: each client added by its link or Location ID, while every other sub-account keeps plain HighLevel.See single sub-account →

What your clients see afterwards depends on where they are. Inside a listed sub-account, users see your colors, menu, dashboard and the other parts of the design. Inside an unlisted sub-account, in the agency view and on the login page, they see HighLevel as it was. When someone moves between a listed and an unlisted sub-account, the page reloads once so the look switches cleanly instead of half-applying.

Here is how the features that depend on the Location ID fit together, and which plan includes each one.

FeatureWhat it does for your clientsPlan
Chosen sub-accountsShows the design only in the sub-accounts you list by link or Location ID, up to 200 per designStarter, Pro, Agency
Two-line installOne CSS line and one JavaScript line in Custom Code, for the agency or the chosen sub-accountsStarter, Pro, Agency
Live countsShows the open sub-account’s own numbers: unread conversations, appointments today, tasks due, new opportunities, overdue invoicesStarter (dashboard figures), Pro and Agency (also menu counts)
Privacy modeBlurs names, emails, phone numbers, the conversation list and deal values while you share your screenStarter, Pro, Agency
Menu editorRenames, reorders and hides any of HighLevel’s 19 menu items in the sub-accounts the design coversPro, Agency
Languages and right-to-leftPuts the menu and navigation in one of 15 languages, with right-to-left for Arabic, Urdu and HebrewPro, Agency

The full list of 18 features is on the features page, and our longer guide to GoHighLevel sub-account branding covers the use cases for branding one client: a premium client, a pilot, a niche client or a client in another language.

What is the Location ID used for in GoHighLevel?

The Location ID tells HighLevel and every connected tool which client’s data to read or change. HighLevel’s API addresses sub-account data by Location ID, private integration tokens and rate limits work per sub-account, and outside tools such as dialers and reporting apps ask for it when you connect them. Custom code uses it to act only in chosen accounts.

The HighLevel API

HighLevel’s public API (version 2) is documented on its developer marketplace, and its help article on the API points developers there. Many endpoints either sit under a sub-account’s path, such as /locations/{locationId}, or take a locationId value to say which sub-account a search runs in. A request for contacts, calendars or opportunities without the right Location ID either fails or reads another client’s data, if the token allows it.

The API also needs a token that proves who is asking. An agency token can be exchanged for a sub-account token: HighLevel’s documentation for getting a location access token from an agency token asks for both the agency’s company ID and the sub-account’s Location ID. That pairing is a useful reminder of how the two IDs relate: the company ID names the agency, and the Location ID names one client inside it.

Private integration tokens

A private integration token is a key you create in HighLevel so that your own scripts or a trusted tool can call the API. HighLevel’s private integrations documentation says they exist for both agencies and sub-accounts. Integration vendors’ guides, at the time of writing, tell users to create the token inside the sub-account under Settings → Private Integrations when the tool works with one client’s data, and to pair that token with the same sub-account’s Location ID.

Rate limits per sub-account

HighLevel counts API usage per app and per resource, where a resource is one sub-account or one agency. Its rate limits page lists a burst limit of 100 requests per 10 seconds and a daily limit of 200,000 requests, for each app on each sub-account. So an integration installed in two sub-accounts has a separate budget in each, and a busy client cannot use up another client’s allowance.

Infographic

The HighLevel Location IDby the numbers

2

places to find it: the address bar and Settings, Business Profile

(HighLevel Help Center)

100

API requests per 10 seconds, per app, on each sub-account

(HighLevel API rate limits)

200,000

API requests per day, per app, on each sub-account

(HighLevel API rate limits)

200

sub-accounts one GHL Dashboard Builder design can be limited to

(GHL Dashboard Builder)

Sources: HighLevel Help Center and API documentation (rate limits), November 2026; GHL Dashboard Builder sub-account settings.

GHL Dashboard Builder

Third-party tools and webhooks

Outside tools that work with one client’s HighLevel data often ask for the Location ID during setup. The dialer Wavv, for example, publishes its own guide on finding your Location ID in HighLevel for that reason. If a tool connects through HighLevel’s marketplace and you pick the sub-account in a list, the tool reads the ID itself and you never have to copy it.

Workflows can send data out too. HighLevel’s outbound webhook workflow action packages data about the contact and the trigger and sends it to a URL you choose. If the receiving system serves several clients, check a test payload for the field that identifies the sub-account, or add the Location ID yourself as custom data, so the receiver files each event under the right client.

Support and your own records

When you report a problem to HighLevel support or to a developer, including the Location ID of the affected sub-account saves a round of questions, because business names are not unique. It is also worth keeping the ID in your own client list next to the client’s name, plan and domain, so that anyone on your team can set up an integration without logging in to look it up.

Location ID vs Company ID, Contact ID and API key: what is the difference?

The Location ID names one sub-account. The Company ID names your agency. A Contact ID names one person inside a sub-account, and an API key or token proves who is allowed to ask. Tools ask for different ones, and giving a tool the wrong kind of ID makes the connection fail or find nothing.

IdentifierWhat it identifiesWhere you see itWho usually asks for it
Location ID (sub-account ID)One client’s sub-accountAddress bar after /location/, Settings → Business ProfileIntegrations working with one client, custom code, support
Company ID (agency ID)Your whole agency accountAgency-level settings and API responsesAgency-level apps, token exchange, SaaS tools
Contact IDOne contact record inside a sub-accountThe address of a contact’s page, at the time of writing after /contacts/detail/Workflows, webhooks and scripts that update one person
User IDOne team member’s loginAPI responses about usersTools that assign tasks or conversations to staff
API key or tokenPermission to call the API, not an accountCreated in agency or sub-account settings, shown onceEvery integration that reads or writes data

Two pairings cause most confusion. First, a Company ID and a Location ID are both IDs and look alike, but an agency-level tool given a Location ID, or a sub-account tool given a Company ID, will reject it or find nothing. Second, an ID is not a key: a Location ID says which account, a token says who may open it. A tool almost always needs both.

If a form field is labeled vaguely, such as “Account ID” or “HighLevel ID”, check the tool’s own help article. When the tool works with one client’s contacts or calendars, it is almost always the Location ID. When it manages several clients or your billing, it is usually the Company ID.

Why do live dashboard numbers depend on the Location ID?

Because every number in HighLevel belongs to one sub-account. Unread conversations, today’s appointments and overdue invoices are stored per client, so anything that shows them has to know which sub-account is open. HighLevel’s own pages do this from the address, and so do GHL Dashboard Builder’s live counts.

A client’s team rarely thinks about this, but it explains a few things you see as an agency. When you switch from one client to another, the numbers on the Dashboard change even though the screen looks the same. When you open the agency view, client numbers disappear, because there is no sub-account open. And a report built for one client cannot accidentally show another’s figures, as long as the ID is right.

GHL Dashboard Builder’s live counts follow the same rule. They read the open sub-account’s Location ID from the address and ask HighLevel for that sub-account’s numbers, using the same session as HighLevel’s own page. The figures appear as badges on the menu and in the welcome banner: unread conversations, appointments today, tasks due, new opportunities this week and overdue invoices. The numbers are kept in the browser’s memory and are sent nowhere except back to HighLevel.

Live counts in GHL Dashboard Builder, shown on HighLevel's real screens
Live counts on the menu and in the welcome banner, showing the open sub-account's unread conversations, appointments, tasks and invoices.See live counts →

Because the counts are tied to the Location ID, they are always the numbers of the client whose account is open. A user who works in three sub-accounts sees three sets of figures, each in the right place, without any setup per client. Unread conversations refresh every minute and when the page changes; the other figures every five minutes and when the browser tab comes back into view.

This is also why live counts work well with a scoped design. If you limit a design to two premium clients, only those two see the badges and the welcome banner figures, and the rest of your agency keeps HighLevel’s standard screens.

How do you use a Location ID to brand one sub-account, step by step?

Find the client’s Location ID, add it to your design’s sub-account list, install the two lines once at agency level, and test a listed and an unlisted sub-account. The install takes about five minutes, and on every plan we install it for you as part of the one-time $100 setup fee.

Infographic

Brand one sub-account by Location IDin five steps

  1. 1

    Copy the ID

    Open the client's sub-account and copy the code after /location/.

  2. 2

    Design the look

    Pick a template and set the client's colors, logo and menu in the builder.

  3. 3

    Choose the scope

    Select Only these sub-accounts and paste the link or Location ID.

  4. 4

    Install once

    Paste the two lines into Settings → Company → Whitelabel → Custom Code.

  5. 5

    Test both sides

    Check a listed sub-account, an unlisted one and the agency view.

GHL Dashboard Builder

The steps below assume you have agency admin access and that your agency’s white-label settings, such as the app domain and logo, are already in place. Our guide to where to add GoHighLevel custom CSS shows the Custom Code area in detail.

1. Copy the Location ID

  1. Switch into the client’s sub-account from the agency view.
  2. Copy the code after /location/ in the address bar, or copy the ID from Settings → Business Profile.
  3. Paste it into a note next to the client’s name, so you can check it later.

2. Design the look

  1. Open the free builder and pick a template, or start from the client’s colors and logo.
  2. Set the menu wording, the welcome banner and the other parts you want this client to see.
  3. Check the result on desktop, tablet and phone in the live preview.

3. Limit the design to the client

  1. Open the Sub-accounts section of the design.
  2. Choose Only these sub-accounts.
  3. Paste the client’s link or Location ID and give the entry a name you will recognize.
  4. Add any other sub-accounts that should get the same design. The list can hold up to 200.

4. Install the two lines

  1. In HighLevel’s agency view, open Settings → Company → Whitelabel → Custom Code.
  2. Paste the CSS line into Custom CSS and the JavaScript line into Custom JavaScript.
  3. Save, then refresh any open HighLevel tabs.

If your agency already has other custom code in those boxes, leave it in place and add the two lines alongside it, then test both. Our two-line install page explains how later changes go live with Deploy to live, without pasting the code again.

5. Test both sides

  1. Open the listed sub-account and check the Dashboard, Contacts, Conversations and the pipeline board.
  2. Switch to an unlisted sub-account: it should look like plain HighLevel.
  3. Open the agency view and the login page: both should be unchanged.
  4. Switch back to the listed sub-account. The page reloads once and the design returns.
Two-line install in GHL Dashboard Builder, shown on HighLevel's real screens
The two install lines: one CSS line for Custom CSS and one JavaScript line for Custom JavaScript in HighLevel's agency settings.See two-line install →

When a client later leaves, or a pilot ends, remove the client’s entry from the list and press Deploy to live. You do not need to touch HighLevel’s Custom Code again, and the other listed clients keep their design.

How do developers use the Location ID in custom code?

Developers read the Location ID from the page address with JavaScript and run their code only when it matches a list. It sounds simple, but HighLevel switches pages without reloading, so a script also has to notice when the user moves to another sub-account and undo what it changed.

The basic pattern is a regular expression on location.pathname that captures the part after /location/. If the captured ID is on the list, the script adds a marker to the page, for example an attribute on the <html> element, and every CSS rule is written to match only under that marker. If the ID is not on the list, the script does nothing. Our guide to HighLevel custom JavaScript covers how such scripts load and where they run.

The hard parts come after the first page load:

  • In-app navigation. HighLevel is a single-page app: switching sub-accounts or pages changes the address without a full reload. A script that checks the ID only once keeps the design on after the user leaves the listed client. The script has to watch for address changes and react.
  • Leftovers. Anything the script added, such as a banner or extra buttons, stays on the page when the user switches unless the script removes it. A clean reload when moving between listed and unlisted accounts is the safest fix, and it is what GHL Dashboard Builder’s install does.
  • Unscoped CSS. A single style rule written without the marker styles every sub-account. On a large stylesheet one missed rule is easy to overlook, and it makes part of the design appear in clients who were never meant to see it.
  • Pages without an ID. The agency view, the login page and some settings screens have no /location/ in the address. The code must treat a missing ID as “not listed”, not as an error.

If you write the CSS by hand, our page on GHL custom CSS explains what a generated stylesheet handles for you, and the guide to GoHighLevel custom CSS that is not working covers caching and selector problems that look like scope problems but are not.

The table below compares writing your own Location ID check with using a scoped design from GHL Dashboard Builder. Both are valid; they differ in who carries the maintenance.

QuestionYour own Location ID scriptGHL Dashboard Builder scoped design
Who writes the ID checkYour developerGenerated with the design
Switching between sub-accountsMust be handled in your codeReloads once when moving between listed and unlisted accounts
Scoping every style ruleMust be done rule by ruleEvery rule is scoped automatically
Adding or removing a clientEdit the list and re-paste the codeEdit the list and press Deploy to live
After HighLevel updatesYour developer re-tests and fixesCovered by the updates included in your plan
CostDeveloper timeOne-time plan price plus the $100 setup fee

Is it safe to share a HighLevel Location ID?

It is safe to share with tools and people you trust, but do not publish it. A Location ID alone does not give anyone access, because HighLevel’s API also requires a token and the app requires a login. It does identify a client account, so treat it like an internal account number.

The reason it is not a secret in the strict sense is in the API documentation: every request is sent with an access token or private integration token as a Bearer header, as the Get Sub-Account documentation shows. Without a valid token for that sub-account, knowing the ID does not let anyone read the data. Tokens are the real secret: store them in a password manager, give each one only the scopes it needs, and remove tokens a tool no longer uses.

There are still good reasons to keep Location IDs private. An ID ties a client’s account to your agency, it helps a stranger who already has a leaked token aim it at the right account, and posting it in a public forum alongside a client’s name says more about your client list than you may want. When you ask for help in a community group, replace the ID with a placeholder such as <location-id>.

The most common way IDs and client data leak is not a forum post but a screen share. Copying a Location ID from the address bar during a support call, a sales demo or a recorded training video often means showing the sub-account’s contacts, conversations and deal values on screen at the same moment. Our guide to hiding client data with GoHighLevel privacy mode covers safe screen-sharing routines in detail.

What can go wrong with Location IDs?

The usual problems come from copying the wrong thing, copying from the wrong account, or forgetting that a new sub-account has a new ID. A few come from expecting the ID to do more than it does. The table lists the typical symptoms and what to check first.

SymptomLikely causeWhat to check
Integration says “invalid location”Extra space, missing character or wrong letter caseCopy the ID again from the address bar and paste it into a plain text editor
Integration connects but shows no dataToken created in another sub-account, or at agency levelCreate the token inside the same sub-account as the Location ID
Data appears in the wrong clientThe ID of a similarly named sub-account was usedCompare the ID with the one on that client’s Business Profile page
Scoped design does not appearThe ID is not on the list, or the list was not deployedCheck the list, press Deploy to live, then refresh the client’s tab
Scoped design appears in another clientHand-written CSS without the scope markerFind the unscoped rule, or use a generated scoped design
A copied sub-account has no design or integrationsA snapshot copy has a new Location IDAdd the new ID to the design and reconnect the integrations
Too many requests (error 429)One app exceeded the per-sub-account rate limitSlow the tool down or spread its work; limits are per app and sub-account

There are also limits worth knowing before you promise a client anything. A Location ID does not change what HighLevel shows by itself: the login page is shared by the whole agency and appears before anyone picks a sub-account, so no Location ID can scope it. HighLevel’s mobile app does not run your custom code, so a scoped design is a browser feature. And HighLevel does not officially support custom code, so a large HighLevel update can occasionally require a theme refresh, which the updates included in our plans cover.

Finally, a Location ID scope shows one design in the sub-accounts it lists. If you want a different look for each of several clients, tell us which clients and which looks on the contact page and we will plan it with you; the number of saved designs per plan is listed on the pricing page. Common questions about scoping, installing and removing a design are answered in our FAQ.

Which plan do you need to scope a design by Location ID?

Every GHL Dashboard Builder plan can limit a design to chosen sub-accounts by Location ID, starting with Starter at $280 as a one-time payment. There are no monthly fees. Every plan also has a one-time $100 setup fee, for which we install and configure the design in your HighLevel.

The plans differ in how many designs you can save and which parts of HighLevel you can change, not in whether Location ID scoping is available.

Saved designs included in each plan
Starter ($280)1 designs
Pro ($480)3 designs
Agency ($880)100 designs

Source: GHL Dashboard Builder pricing, November 2026 (config/site.ts and config/plans.ts). One-time payments, no monthly fees.

  • Starter ($280) suits an agency that wants one branded design, for the whole agency or for the sub-accounts it lists. It includes any of the 27 templates customized to your brand, the welcome banner and live dashboard figures, notification pop-ups, privacy mode, one round of changes and 12 months of updates.
  • Pro ($480) adds up to three designs, the menu editor with live menu counts, a branded login page in 25 designs, and the menu and navigation in 15 languages with right-to-left for Arabic, Urdu and Hebrew. It includes three rounds of changes and 12 months of updates.
  • Agency ($880) suits agencies branding many client accounts: up to 100 designs, a look designed from scratch by our team, your own custom CSS and JavaScript, downloadable code files and lifetime updates.

Starter and Pro include 12 months of updates; after that, updates are optional at $99 a year, and the theme keeps working without them. You can upgrade later by paying the difference between plans, and the setup fee is never charged twice. If you run HighLevel in SaaS mode and want each client account to feel like your own product, our guide to GoHighLevel SaaS mode white-labeling explains how scoping fits that model, and the GHL dashboard customization page shows what a full design changes.

What to do next

  1. List every client you serve with each sub-account’s Location ID, business name and domain, copied from the address bar or Business Profile, so your team never has to look one up during a call.
  2. Check your existing integrations: confirm that each one uses the right Location ID and a token created in the same sub-account, and remove tokens you no longer use.
  3. Pick one client for a pilot and try their colors, menu and welcome banner in the free builder before you touch their account.
  4. Limit the pilot design to that client’s Location ID, install the two lines, and test a listed sub-account, an unlisted one and the agency view.
  5. If several clients need different looks, or other languages such as those on our languages page, write down which ones and talk to us before you buy, so the plan fits.

Explore GHL Dashboard Builder

Frequently asked questions

What is a Location ID in GoHighLevel?

A Location ID is the unique identifier HighLevel assigns to every sub-account in an agency. HighLevel used to call sub-accounts locations, so the identifier kept the old name in the address bar and in the API, where endpoints still use paths such as /locations/{locationId}. Two sub-accounts never share a Location ID, even if they have the same business name.

Is the Location ID the same as the sub-account ID?

Yes. HighLevel's developer documentation now labels the object Sub-Account (Formerly Location), but the identifier itself is still called the Location ID or locationId. When a tool asks for a sub-account ID, a location ID or a locationId, it wants the same string: the code after /location/ in the sub-account's address.

How do I find the Location ID from the agency view?

The agency view itself has no Location ID, because it is not a sub-account. Switch into the client's sub-account first, then read the ID from the address bar after /location/, or open Settings, then Business Profile. If you only see an address without /location/, you are still in the agency view or on a page outside the sub-account.

Does the Location ID change if I rename the sub-account?

No. Renaming the business in Business Profile changes the name your team and clients see, not the identifier. A Location ID belongs to one sub-account for its whole life. A new sub-account, including one created from a snapshot of an existing account, gets its own new Location ID, so integrations and scoped designs must be updated for it.

Is it safe to share my GoHighLevel Location ID?

Share it only with tools and people you trust. A Location ID on its own does not give access, because HighLevel's API also requires an access token or private integration token, and the app requires a login. It does identify a client account, though, so treat it like an internal account number and keep it out of public forums, screenshots and recordings.

Why does my integration say the Location ID is invalid?

Usually because the ID was copied with a missing or extra character, a trailing space or the wrong letter case, or because it belongs to a different sub-account than the token. Copy the ID again from the address bar, paste it into a plain text editor to check it, and confirm that the token was created inside the same sub-account.

Can I brand one HighLevel sub-account using its Location ID?

Yes, with code that checks the Location ID in the page address. HighLevel's Custom CSS and Custom JavaScript are agency-wide, so the code must switch the design on only for listed IDs. In GHL Dashboard Builder you choose Only these sub-accounts and paste each link or Location ID, up to 200 per design, and every other sub-account stays plain HighLevel.

Do I need the Location ID to install GHL Dashboard Builder?

Only if you want the design limited to chosen sub-accounts. An agency-wide design needs no IDs: the two install lines go into Settings, Company, Whitelabel, Custom Code and apply everywhere. For a scoped design you add each sub-account by its link or Location ID, and the ID is picked out of a pasted link automatically.

Sources and further reading

GHL Dashboard Builder is an independent design service and is not affiliated with HighLevel.

Ready to make HighLevel look like your own platform?

Try the builder free, then choose a plan to get your install code.