Last updated:
Ready to Try GoHighLevel?
Get the all-in-one platform for CRM, automations, funnels & websites — built for agencies.
Start your free trial and explore every feature.
A GoHighLevel custom login page is configured in Agency Settings → Company → Whitelabel to replace GHL’s default branding with your agency’s colors, logo, and domain. The configuration takes 30 to 45 minutes and requires a subdomain you control, a CNAME record pointing to whitelabel.ludicrous.cloud, your logo, and optional custom CSS. Copy-paste CSS and a cross-browser testing tip are in the CSS section below.
Your clients are logging into a page that looks like someone else’s software.
The generic app.gohighlevel.com login page tells clients they are using GoHighLevel, not your agency’s product. A branded client portal, your domain, your colors, your logo, changes the perceived value of your service immediately.
This guide covers the complete setup: domain configuration, CSS injection, testing across devices, and the most common setup mistakes.
What a White-Label GHL Client Portal Requires
A branded GoHighLevel client portal is not just a CSS change, it is a combination of DNS configuration, GHL white-label settings, and custom CSS working together. Each part has its own setting and setup time, as the table below shows.
| Component | Where It Is Configured (Settings → Company → Whitelabel tab) | Time Required |
|---|---|---|
| Custom Domain | DNS registrar (Cloudflare, GoDaddy, etc.) | 5 min setup + 30 min propagation |
| CNAME Record | DNS registrar → point to whitelabel.ludicrous.cloud | 2 min |
| Whitelabel Domain Field | Agency Settings → Company → Whitelabel | 5 min |
| Logo Upload | Agency Settings → Company → Whitelabel | 2 min |
| Custom CSS | Agency Settings → Company → Whitelabel → Custom CSS | 15 to 20 min |
Where the GoHighLevel Custom Login Page Settings Live Now
HighLevel keeps every login page branding control on one screen. From the agency view, open Settings → Company and switch to the Whitelabel tab. Older guides still mention a separate “White Labelling” menu, but that menu no longer exists. The tab covers the logo, colors and custom CSS.
Here is what each setting on that tab changes:
- Logo: appears on the login screen, the app header, notification emails and widgets. HighLevel recommends roughly 350 × 180 px and a file under 2.5 MB. A wide, transparent PNG works best on both light and dark backgrounds.
- Whitelabel Domain: the subdomain your clients type to log in, such as app.youragency.com. This is what turns the generic login URL into your own.
- API Domain: brands the links HighLevel generates for forms, surveys, calendars, payment and review links. It is separate from the login domain.
- Privacy Policy and Terms URLs: shown as legal links on the branded login page. Add them before you share the URL with clients.
- Custom Code: a Custom JavaScript field and a Custom CSS field. CSS added here loads across the whole agency app, including the login page.
- Theme: a light or dark mode choice that applies to the agency dashboard only, not to sub-accounts.
HighLevel itself calls custom CSS and JavaScript unsupported. When the core interface changes, your selectors can stop matching, so recheck the login page after major platform updates.
New to GoHighLevel? Try it free for 30 days
Get HighLevel's official 30-day free trial and free Bootcamp through our partner link (the standard trial is 14 days). Prefer it done for you? We set up GoHighLevel from $499, with a free website.
Start 30-day free trialHave us set it upPartner link: we may earn a commission at no extra cost to you. Disclosure
Whitelabel Domain vs API Domain vs Client Portal Domain
Three different HighLevel features use a custom domain, and agencies mix them up often. Only one of them controls the login page: the Whitelabel Domain. The API Domain brands links in emails and SMS, and the Client Portal Domain brands the portal where contacts open courses and communities.
| Domain type | What it brands | Where it is set | CNAME target |
|---|---|---|---|
| Whitelabel Domain | The login page and web app URL | Agency Settings → Company → Whitelabel | whitelabel.ludicrous.cloud |
| API Domain | Links in emails and SMS (forms, calendars, payment and review links) | Agency Settings → Company → Whitelabel → Domains, or the sub-account Business Profile | brand.ludicrous.cloud |
| Client Portal domain | The separate Client Portal product inside a sub-account | Inside the sub-account’s Client Portal settings | Shown in the portal’s domain setup screen |
The whitelabel domain is set once per agency. Every sub-account user logs in through that same branded URL. You cannot give each client its own login domain from this field.
If you want a client to see their own brand on a domain, use the Client Portal or their funnel and website domains. The main CRM login stays on your agency’s whitelabel domain.
The Complete Custom CSS for a Branded GHL Login Page
Paste this CSS in Agency Settings → Company → Whitelabel → Custom CSS (under Custom Code). Replace the variable values with your brand colors and adjust the logo URL. HighLevel does not publish its login page class names and treats custom CSS as unsupported, so confirm the selectors in Chrome DevTools first.
Community templates currently target login classes prefixed .hl_login. Agency custom CSS also loads across the whole dashboard. So the broad input, label and * rules will restyle more than the login page unless you scope them to the login classes you find.
/* =============================================
GoHighLevel White-Label Login Page CSS
AutogenCRM
============================================= */
/* Brand variables, edit these only */
:root {
--brand-bg: #0f172a; /* Dark page background */
--brand-card: #1e293b; /* Login card background */
--brand-primary: #2563eb; /* Button & accent color */
--brand-text: #f1f5f9; /* Main text color */
--brand-subtle: #94a3b8; /* Placeholder & label color */
--brand-border: rgba(255,255,255,0.10);
}
/* Page background */
body.auth-page {
background: var(--brand-bg) !important;
background-image: none !important;
}
/* Login card */
.auth-card, .login-card {
background: var(--brand-card) !important;
border: 1px solid var(--brand-border) !important;
border-radius: 12px !important;
box-shadow: 0 25px 50px rgba(0,0,0,0.4) !important;
}
/* Input fields */
input[type="email"],
input[type="password"],
input[type="text"] {
background: rgba(255,255,255,0.05) !important;
border: 1px solid var(--brand-border) !important;
border-radius: 8px !important;
color: var(--brand-text) !important;
padding: 12px 16px !important;
}
/* Labels and helper text */
.auth-label, label {
color: var(--brand-subtle) !important;
font-size: 14px !important;
}
/* Primary button, with Safari z-index fix */
button[type="submit"],
.auth-submit-button,
.btn-primary {
background: var(--brand-primary) !important;
border: none !important;
border-radius: 8px !important;
color: #ffffff !important;
font-weight: 700 !important;
padding: 14px 24px !important;
position: relative !important; /* Safari fix */
z-index: 999 !important; /* Safari click fix */
cursor: pointer !important;
}
/* Hide GHL default logo if uploading your own */
.auth-logo-default,
img[src*="gohighlevel"] {
display: none !important;
}
/* iOS 17 font rendering fix */
* {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
Expected Error, CSS not applying after save: Your browser may be showing a cached copy of the page. After saving new CSS, hard-refresh your browser (Ctrl+Shift+R or Cmd+Shift+R) and test the login URL in a private/incognito window. If it still does not apply, your selectors probably no longer match the current login markup, so inspect the page and update them.
Critical Failure Points: White-Label Login Setup Mistakes
Failure Point 1, Using the Wrong CNAME Target: GHL’s white-label login domain requires the CNAME to point to whitelabel.ludicrous.cloud. Older tutorials list app.msgsndr.com or a gohighlevel.com address, and copying those causes SSL errors and broken login pages. On Cloudflare, set the record to DNS only (gray cloud), or SSL will not provision.
Check GHL’s current white-label documentation for the exact CNAME value as it may update with platform changes.
Failure Point 2, Not Testing on Safari and iOS: Custom CSS that changes backgrounds or button layering can render differently in Safari than in Chrome. So a login button that works on desktop Chrome may not respond on iOS. Always test on Safari on both macOS and iOS before distributing your portal URL to clients.
Troubleshooting a Branded Login URL That Will Not Load
Most broken custom login pages come down to DNS, and CSS is rarely the cause. Check the CNAME target, remove duplicate records and confirm SSL has provisioned before you change any code. The checks below run in order, starting with the most common cause.
- Confirm the CNAME target. The record must point exactly to whitelabel.ludicrous.cloud. Old tutorials list other targets that no longer work for the agency login domain.
- Keep one record only. A second CNAME, A record or AAAA record on the same subdomain can cause SSL errors.
- Turn off the Cloudflare proxy. Set the record to DNS only (gray cloud). A proxied orange-cloud record stops HighLevel from issuing the SSL certificate.
- Give it time. HighLevel suggests allowing up to 30 minutes for DNS to propagate. SSL is issued automatically after the record resolves.
- Re-save if you are migrating. If the domain was set up on an older target, delete it from the Whitelabel Domain field, click Update Company, then re-enter it and save again.
- Check the browser. The browser needs TLS 1.2 or 1.3. Old browsers on locked-down office machines can show certificate warnings even when the setup is correct.
If the page loads but looks unbranded, test it in a private window. If the logo shows but your colors do not, your CSS selectors probably no longer match the current login markup. Inspect the page in Chrome DevTools and update the class names.
The Consensus Break: The Portal URL Matters More Than the CSS
Most white-label login guides focus on the CSS. The CSS makes it look right. The URL makes clients trust it. A familiar subdomain such as app.youragency.com tells clients the login belongs to your agency and cuts down on support questions.
HighLevel supports one whitelabel login domain per agency, so every client signs in at the same branded URL. More portal setup guidance at our how it works page, and agency snapshot templates at AutogenCRM.
What a Custom Login Page Does Not Change
A branded login URL covers the web app. It does not rebrand everything a client might see, so set expectations before launch. Clients on phones still use the LeadConnector app unless you buy the white-label mobile app, and some other places keep default branding.
- Mobile app: clients using a phone still log in through the LeadConnector app unless you buy HighLevel’s white-label mobile app. That app is a separate paid add-on on every plan except Enterprise.
- Favicon: HighLevel has no agency-wide favicon setting. Favicons are set per asset, such as sites, the Client Portal and memberships.
- System links: links inside emails and texts keep the default domain until you also set up an API Domain.
- Session length: how long clients stay logged in is controlled separately, under Company → Advanced Settings → Session Timeout.
Covering these four points at handoff saves a round of “why does it still say LeadConnector?” support tickets.
Related GoHighLevel Guides
- GoHighLevel Site Templates Guide
- GoHighLevel Login Guide
- GHL Login Guide
- GoHighLevel Snapshot Marketplace
Frequently Asked Questions
What GHL plan do I need for a white-label login page?
Every current HighLevel agency plan supports a branded login page. Starter ($97/mo), Unlimited ($297/mo) and Agency Pro ($497/mo, formerly SaaS Pro) all include a custom whitelabel domain and the white-label desktop app. Agency Pro adds SaaS mode and the SaaS Configurator. The white-label mobile app is a separate paid add-on on these plans and is bundled only with Enterprise.
Can I use a custom domain for the GHL client portal?
Yes. The white-label login page supports any custom domain you own. You configure it by adding a CNAME record at your DNS registrar pointing your custom subdomain (e.g. app.youragency.com) to whitelabel.ludicrous.cloud, then entering it in Agency Settings → Company → Whitelabel → Whitelabel Domain. HighLevel issues the SSL certificate automatically once the record resolves, so allow up to 30 minutes for DNS propagation. On Cloudflare, keep the record DNS only (gray cloud).
Does the white-label login page affect how clients access their CRM data?
No. The white-label login page is purely a visual and domain-level customization. Client data, sub-account configuration, workflows, and CRM records are unchanged. The login page change affects only what URL clients visit and how the page looks. All functionality remains identical to the standard GHL login, and sign-in is still handled by HighLevel’s own login system, regardless of what domain the client types.
What is the GoHighLevel login URL after white labeling?
Your clients log in at the subdomain you enter in the Whitelabel Domain field, for example app.youragency.com, instead of app.gohighlevel.com. The default URL still works for you as the agency owner. Once the CNAME resolves and SSL is issued, share only the branded URL with clients so they never see HighLevel branding.
Can each client have their own branded login domain in GHL?
No. HighLevel allows one whitelabel login domain per agency, and every sub-account user signs in through it. For client-specific branding, connect the client’s own domain to their funnels and websites or to the Client Portal. Those assets support separate custom domains, but the main CRM login stays on your agency domain.
Does the custom login page show in the GoHighLevel mobile app?
No. The whitelabel domain and custom CSS apply to the web app in a browser. On phones, clients use the LeadConnector app, which shows HighLevel’s standard branding. To put your own name and logo on the mobile login, you need the white-label mobile app, a paid add-on unless you are on Enterprise.
Do I need custom CSS to brand the HighLevel login page?
No. Uploading your logo, adding Privacy and Terms URLs and connecting a whitelabel domain already gives clients a branded login page. Custom CSS is optional. It only changes colors, backgrounds and button styles. Because HighLevel treats custom CSS as unsupported, keep it small and recheck it after platform updates.
Ready to Get Your GoHighLevel System Built?
We'll build your entire GHL setup for $499 and give you a free professional website.
Book a Free Call See Packages & PricingOr call +1 (681) 276-7045 · Mon–Fri, 9 AM–5 PM ET


