aibrevo

GoHighLevel White Label: The Complete Setup Guide

How GoHighLevel white label actually works: the DNS and domain steps, desktop and mobile app rebranding, SaaS Mode and Stripe rebilling mechanics, and the real plan-tier costs competitor guides get wrong.

GoHighLevel white label branding icon

Key takeaways

  • Basic white label (custom login domain, logo, colors, branded email) requires the Unlimited plan at $297/mo. Full SaaS Mode, with automated Stripe rebilling and agency markup, requires Agency Pro at $497/mo, per GoHighLevel's pricing guide (modified 22 Aug 2026).
  • The fully white-labeled mobile app ($497/mo or $1,491/quarter) and the branded Client Portal app ($49/mo per sub-account) are two different products. Most competitor guides conflate them into a single number.
  • GoHighLevel doesn't publish a platform-fee percentage on SaaS Mode transactions. Any guide citing a specific 'GHL takes X%' figure is speculating, not quoting a documented rate.
  • Rebilling clients at cost is available on both Unlimited ($297) and Agency Pro ($497); rebilling with your own markup requires Agency Pro specifically.
  • Launching a branded mobile app needs its own Apple Developer (Organization enrollment, $99/year, up to 48-hour activation) and Google Play developer accounts, separate from your GoHighLevel subscription and separate from each other.
  • Most documented app store rejections are avoidable formatting errors: oversized screenshots, descriptions over character limits, or missing App Privacy and pricing fields, not deep technical problems.

GoHighLevel white label means replacing GoHighLevel’s own branding with yours across the login domain, the desktop app, the mobile app, and the billing experience your clients see. It happens in layers, not one switch. Basic branding (your logo, your domain, your colors) is available on the $297/mo Unlimited plan. Automated client billing through SaaS Mode requires the $497/mo Agency Pro plan. A fully native mobile app carrying only your brand is a separate $497/mo add-on, distinct from the $49/mo branded Client Portal app that most competitor guides mistake for the same product. This guide walks through each layer with the actual DNS steps, plan gates, and documented pitfalls — citing GoHighLevel’s own help documentation rather than recycled agency blog copy.

What “white label” actually covers on GoHighLevel

White label isn’t a single toggle. It’s five separate domain configurations plus a desktop rebrand, and each one gets set up independently, on its own settings screen, with its own verification step. Inside Agency View, under Settings > Company Settings > White Label, you configure the whitelabel login domain — the URL your clients see instead of a GoHighLevel address. Separately, at the sub-account level under Settings > Business Profile, you set a Branded Domain for API calls and short links. GoHighLevel’s domain setup documentation is explicit that this must be a subdomain, not a root domain, because pointing it at your root domain “will cause your domain to point away from your website.”

The other three domain types get less attention in most competitor guides, but agencies running a full resale business need all five configured correctly. Email sending gets its own Dedicated Domain under Settings > Email Services, where GoHighLevel auto-generates the SPF and DKIM DNS records you need rather than making you build them by hand. Sites and funnels get a separate domain, used when a client-facing landing page or funnel needs to live on your brand rather than a generic HighLevel URL. The Client Portal — the branded area clients log into for community and membership features — gets its own domain too, independent of the main login domain. Treating any of these five as interchangeable is a common source of confusion: verifying the login domain doesn’t verify the API domain, and a DNS record that works for email sending won’t satisfy the Sites domain requirement.

The convention most agencies follow is app.youragency.com for the login domain, with additional subdomains (link.youragency.com, mail.youragency.com) for the others. At your DNS provider, that means creating a CNAME record pointing your chosen subdomain at the target HighLevel gives you, then returning to HighLevel to verify it. If you’re on Cloudflare, the proxy status toggle on that CNAME record needs to be off (DNS-only, not proxied). Leaving it proxied is one of the more common causes of a verification that silently fails — with no error message pointing you back to the actual cause.

Domain setup happens alongside the broader sub-account structure you’re branding, so it’s worth having that architecture settled first. If your agency also pushes data in or out of GoHighLevel through webhooks or a custom integration, the branded API domain you set here is the same one those integration endpoints will reference. The API integration guide covers the endpoint and authentication details once your domain is live.

Desktop rebranding sits in the same White Label settings screen: upload your logo (it replaces GoHighLevel’s mark in the top-left corner and on the login page), then set your brand colors and favicon. Third-party agency estimates (ecosire.com, ghlscaleup.com) put the actual admin work at roughly 2-4 hours, with DNS propagation adding another 15-60 minutes typically, sometimes longer depending on your registrar’s TTL settings. That timing figure isn’t from GoHighLevel’s own documentation, so treat it as directional rather than a guaranteed window.

There’s also a distinct White-Label Desktop App product: a downloadable macOS/Windows/Linux application with your own theme, icon, name, and placeholder images, which GoHighLevel builds for you after you configure those assets. It’s a separate deliverable from the browser-based domain rebrand described above, and separate again from the mobile app covered below, so budget for it as its own line item rather than assuming it’s bundled into the login-domain rebrand.

What each plan tier actually unlocks

The plan-gating question is where most confusion starts, because “white label” and “SaaS Mode” get used interchangeably when they gate at different tiers. Basic white label (custom domain, logo, colors, and branded email notifications) requires Unlimited at $297/mo. The SaaS Configurator, automated Stripe rebilling with your own markup, and automatic sub-account provisioning all require Agency Pro at $497/mo (or $4,970 billed annually). This is confirmed directly in GoHighLevel’s Pricing & Billing help documentation, modified 22 August 2026 (see the full 2026 pricing breakdown for how these tiers compare against everything else on the platform, not just the white-label features).

Monthly cost to unlock each white-label capability Cumulative monthly cost to reach each white-label capability on GoHighLevel: Unlimited plan (basic white label: domain, logo, colors, branded email) $297; Agency Pro (adds SaaS Mode: automated Stripe rebilling with markup, sub-account provisioning) $497; Agency Pro plus the Branded Client Portal app $546; Agency Pro plus the full Whitelabel Mobile App $994. Source: HighLevel Pricing & Billing help documentation, modified 22 Aug 2026. Unlimited (basic white label) Agency Pro (+ SaaS Mode) + Client Portal app + Whitelabel Mobile App $297/mo $497/mo $546/mo $994/mo Source: HighLevel Pricing & Billing help doc, modified 22 Aug 2026
Cumulative monthly cost to reach each white-label capability. The two mobile-app rows are alternatives, not both required: see the pricing conflict below.

Rebilling logic splits the same way. Charging clients back for usage-based services (SMS, calls, email sends) at cost, with no markup, works on both Unlimited and Agency Pro. Adding your own markup on top of GoHighLevel’s underlying cost is what actually requires Agency Pro, since that’s where the SaaS Configurator’s pricing-tier logic lives. As historical context, not current guidance: GoHighLevel’s own documentation records that phone rebilling through LeadConnector (not Twilio) became available on the $297 plan back on 25 January 2023, a milestone from an earlier pricing structure, cited here for accuracy rather than as advice for a 2026 build.

Two different mobile apps, two different price tags

This is the specific point where most competitor content gets it wrong, and it’s worth being precise about it, because the two products solve different problems. The Whitelabel Mobile App is a fully native iOS and Android application carrying only your brand — your icon, your name, your app store listing — built through GoHighLevel’s Mobile App Customiser. It costs $497/mo or $1,491/quarter and requires Agency Pro as a base. The Branded Client Portal app is a different, lighter product: branded mobile access to community or membership features for your clients, priced at $49/mo per sub-account you enable it for.

Several agency-run SEO sites (ecosire.com, ghlscaleup.com, ghlprime.com, among others ranking for this exact query) state one number or the other without acknowledging the second product exists. In at least one case, different pages on the same domain cite $497/mo on one page and roughly $49/mo on another, without explaining they’re different SKUs. If you’re quoting a client on “white-label mobile,” confirm which of the two products they actually need before pricing the project. A $49/mo Client Portal doesn’t get them a standalone app in the App Store, and a $497/mo full white-label app is likely overkill for a client who just wants branded portal access.

A useful way to sort a client’s request: if they’re asking whether their customers can find the app by searching “their company name” in the App Store or Google Play, they need the full Whitelabel Mobile App and the developer-account work described below. If they’re asking for branded access to a community, course, or membership area inside an existing app experience, the Client Portal covers it at a fraction of the cost and with none of the app store submission process.

What launching the branded app actually requires

Building the app inside GoHighLevel is the easy part. Getting it live requires your own developer accounts on both platforms, configured before HighLevel can submit anything on your behalf, and GoHighLevel’s own onboarding doc for this step assumes you already have both accounts set up before you open the Mobile App Customiser.

Apple requires enrollment as an Organization, not as an individual: a DBA or sole proprietorship doesn’t qualify. You’ll need a D-U-N-S number (Dun & Bradstreet’s business identifier, free to look up but sometimes slow to issue if your company isn’t already in their database), a company domain email address (a free Gmail or Outlook address won’t pass verification), an enroller who holds an owner or executive role at the company, and the $99/year Apple Developer Program fee. Account activation can take up to 48 hours, and two-factor authentication is required throughout — on every account tied to the enrollment. That 48-hour activation window sits before the app-build process even starts, so it’s worth kicking off Apple enrollment in parallel with your domain and desktop rebrand rather than waiting until the app itself is ready to submit.

Google Play’s requirement is a paid developer account as well. GoHighLevel’s own documentation references this requirement without stating the fee on the page, and the publicly known figure is a one-time $25 registration charged directly by Google, worth confirming against Google’s current developer console pricing before you budget a client project around it. Unlike Apple’s Organization requirement, Google Play doesn’t force a specific business-entity type at signup, though GoHighLevel still needs your Play Console credentials linked before it can publish a build on your behalf.

Typical app store review window, in hours Directional review timing for white-labeled apps: Apple App Store review typically 24 to 72 hours; Google Play review often under 24 hours. Figures compiled from third-party aggregator reporting, not a GoHighLevel-published SLA. Treat as illustrative, not guaranteed. Apple App Store (low end) Apple App Store (high end) Google Play 24 hrs 72 hrs <24 hrs Directional only, third-party aggregator data, not a GHL-published SLA
Illustrative review timing, not a guaranteed window. Apple account activation (up to 48 hours) happens before this clock even starts.

GoHighLevel’s own troubleshooting documentation lists the actual rejection reasons it sees repeatedly, and nearly all of them are formatting problems rather than technical ones. On iOS: a description over 4,000 characters, keywords over 100 characters, URLs that don’t start with https://, competitor brand names used in your keyword list, screenshots that are missing or the wrong dimensions (1242x2688px for the 6.5” size, 1290x2796px for 6.7”), and missing copyright, content-rights, age-rating, App Privacy, or pricing fields. Every one of those is checkable against Apple’s own submission form before you ever click “Submit for Review,” which is exactly the step most rushed launches skip.

On Android, the pattern repeats with different limits: a short description over 80 characters, a full description over 4,000 characters, phone numbers or URLs embedded directly in the description text, a missing content rating, or a build uploaded to the wrong release track (internal testing instead of production, for instance, which passes review but never reaches real users). None of these require an engineer to fix. They require someone running through the actual checklist line by line before hitting submit, ideally the same person each time, since this is exactly the kind of task that gets skipped under launch-week time pressure.

How SaaS Mode and Stripe rebilling actually work

SaaS Mode is the layer that turns white-label branding into an actual resale business. GoHighLevel bills your agency first, through your Agency Wallet, for usage-based services (SMS, calls, email sends) at its underlying rates. You then rebill your clients, either at cost or with a markup you define in the SaaS Configurator, which also handles the resale plan tiers you push out to sub-accounts on subscription — and the automatic provisioning that spins up a new sub-account the moment a client signs up. For the step-by-step Configurator walkthrough, plan-tier setup, and provisioning rules, see the dedicated SaaS Mode setup guide.

The billing runs through your own connected Stripe account. Your agency connects Stripe once, and client payment methods get collected either through a payment-request link (a one-time URL a client clicks to add a card, no login required) or by linking an existing Stripe customer record if the client already has one on file. From the client’s side, adding or updating a card themselves happens under Sub-Account > Settings > Company Billing. Funds collected from clients deposit directly into your connected Stripe account, not GoHighLevel’s, and Stripe can’t be disconnected while active SaaS billing depends on it, which is worth knowing before you experiment with switching payment processors mid-contract. Standard Stripe processing fees apply on top of whatever markup you set, currently around 2.9% plus $0.30 per transaction on Stripe’s own published rate card, not a GoHighLevel-negotiated rate.

There are two SaaS Mode architectures, and they matter for which payment processors you can offer. SaaS V1 is Stripe-only, configured at the agency level, one processor for every sub-account under that agency. SaaS V2 supports multiple providers (Stripe, NMI, Authorize.net, Square) configured per sub-account, so different clients on the same agency account can run through different processors, though any single sub-account still runs on only one processor at a time. Agencies picking between the two mostly care about one thing: whether any of their clients already require a non-Stripe processor for compliance or existing merchant-account reasons. If the answer is no across the board, V1’s simpler agency-level setup is usually the less fiddly choice.

Configuring all of this correctly — plan gates, Stripe Connect, the SaaS Configurator’s pricing tiers, and the domain layer underneath it — is enough moving parts that many agencies bring in a specialist rather than build it solo the first time. HighLevel Automation Team runs white-label GoHighLevel setup work for agencies reselling into specific verticals, and Autoesta offers a comparable GoHighLevel setup service for agencies building a SaaS resale business from a blank account. Either route, in-house or outsourced, the mechanics above are what actually get configured behind the scenes.

SaaS Mode billing flow GoHighLevel bills the agency through its Agency Wallet for usage-based services at underlying cost. The agency rebills clients through its connected Stripe account, at cost or with a markup defined in the SaaS Configurator. Client funds deposit into the agency's Stripe account, not GoHighLevel's. GoHighLevel bills at cost via Agency Wallet Your Agency sets markup in SaaS Configurator Client billed via your Stripe account Source: HighLevel SaaS Mode FAQs and Stripe Connect documentation, help.gohighlevel.com
Client funds settle into the agency's own connected Stripe account, not GoHighLevel's. The agency owns the billing relationship end to end.

What GoHighLevel actually takes, and what it doesn’t disclose

This is worth stating plainly: it’s a genuine gap in GoHighLevel’s own documentation. GoHighLevel does not publish a platform-fee percentage on SaaS Mode transactions anywhere in its help center. What’s confirmed is narrower. You pay GoHighLevel’s underlying usage costs (SMS, calls, email, charged at GHL’s rates) through your Agency Wallet. You keep the full spread between what you charge clients and what you pay GoHighLevel, minus standard Stripe processing fees, commonly cited around 2.9% + $0.30 per transaction, which is Stripe’s own generic published rate, not a GoHighLevel-specific number.

Any blog post stating “GoHighLevel takes X% of your SaaS revenue” as a fixed figure is speculating, not citing documentation. Treat those claims with the same skepticism you’d apply to an unsourced statistic anywhere else. If margin certainty matters for your pricing model, the honest answer is to model your specific usage volume against GoHighLevel’s current wallet rates directly in your account rather than trust a percentage figure floating around agency forums.

A rough illustrative example, using confirmed inputs only: an agency on Agency Pro ($497/mo) reselling to 20 sub-accounts at $297/mo each generates $5,940/mo in client billing. Against the $497 base subscription, that’s $5,443/mo in gross spread before usage costs and Stripe fees — the two variables that actually determine real margin and that no fixed percentage can substitute for.

A more complete cost and scope breakdown, including where a white-label build typically lands within GoHighLevel’s standard pricing tiers, is in aibrevo’s implementation cost guide.

Common technical pitfalls worth checking before launch

A short list of specific, documented failure points, rather than generic advice to “test everything”:

  • Root domain instead of subdomain. Using a root domain for the API or branded-links domain breaks routing entirely, per GoHighLevel’s own warning. Every white-label domain should be a subdomain, no exceptions.
  • Cloudflare proxy left on. If your DNS runs through Cloudflare, the CNAME record needs Proxy Status off (DNS-only) or domain verification fails silently.
  • App store field omissions. Missing App Privacy details, pricing tier, or age rating are among the most common iOS rejection reasons, and all three are easy to check before submission rather than after a rejection email.
  • SMS-specific branding claims. There’s no dedicated GoHighLevel documentation confirming exact steps for removing GoHighLevel branding from SMS specifically, as opposed to email, which has clear documentation. Don’t promise a client SMS-level white-labeling detail beyond what the general domain setup actually covers.
  • Deliverability under a brand-new sending domain. A newly configured email-sending domain needs standard SPF, DKIM, and DMARC setup and a warm-up period like any new domain would, but GoHighLevel’s own documentation doesn’t spell out its specific guidance on this gap. A dedicated sending domain that skips warm-up tends to land in spam for the first few weeks regardless of platform, which is worth setting client expectations around before launch, not after open rates come in low.
  • Treating the two mobile-app SKUs as one line item on a quote. Scoping “white-label mobile app” without first confirming whether the client needs the full native app or the Client Portal is the single most common source of the pricing conflict described above. Ask before you quote.
  • Assuming DNS propagation finishes before the demo. Propagation is typically 15 to 60 minutes but can run longer depending on the registrar and TTL settings on the old record, and scheduling a client walkthrough right after flipping a CNAME is a common way to hit a “domain not verified” error live on a call. Build in a buffer, or verify the domain resolves correctly the day before, not the hour before.

An agency that treats each of these as a pre-launch checklist item rather than something to discover mid-rollout avoids the two most expensive outcomes here: a client who sees an unbranded error message during their own onboarding, and an app store rejection that pushes a launch date by a week while a fix works through review again.

Getting the setup right the first time

White-labeling GoHighLevel is straightforward in outline, domain configuration, desktop rebrand, mobile app setup, SaaS Mode billing, but each layer has its own plan gate, its own documentation gaps, and its own way to quietly cost an agency money if it’s configured wrong. The two products most often confused, the full $497/mo mobile app versus the $49/mo Client Portal, are worth resolving with a client before quoting a project, not after. And the platform-fee question is worth answering honestly rather than repeating an unsourced percentage: model your actual usage costs against GoHighLevel’s wallet rates, because that’s the only number that will match your real invoice.

None of this is a reason to avoid white-labeling. It’s a reason to sequence it correctly: domains first since they take the longest to propagate and verify, desktop branding second since it’s the fastest visible win for a client demo, then SaaS Mode and Stripe once the agency is actually ready to bill clients automatically, and mobile apps last, since app store review timelines are the least predictable part of the whole rollout and shouldn’t gate everything else.

If you’re scoping a white-label build and want a second read on cost and timeline before committing, aibrevo’s GoHighLevel implementation services page covers what a fully scoped SaaS Mode rollout includes, from the initial domain and DNS work through Stripe Connect and the first sub-accounts going live.

More guides

Related reading

FAQs

How much does GoHighLevel white label actually cost per month?

Basic white label (domain, logo, colors, branded email) needs Unlimited at $297/mo. Full SaaS Mode with markup rebilling needs Agency Pro at $497/mo. Add the fully white-labeled mobile app for another $497/mo, or the branded Client Portal app for $49/mo per sub-account instead: they're different products.

What's the difference between the white-label mobile app and the branded Client Portal app?

The Whitelabel Mobile App is a full native iOS/Android app carrying only your brand, at $497/mo or $1,491/quarter. The Client Portal app is a lighter branded access point for community or membership features, at $49/mo per enabled sub-account. Competitor guides frequently merge these into one number.

Does GoHighLevel take a cut of what I charge my clients through SaaS Mode?

GoHighLevel doesn't publish a platform-fee percentage on SaaS Mode transactions anywhere in its documentation. What's confirmed: you pay GHL's underlying usage costs through your Agency Wallet and keep the markup you charge clients, minus standard Stripe processing fees (around 2.9% + $0.30, Stripe's own published rate).

Do I need a separate Apple Developer account to white-label the mobile app?

Yes. GoHighLevel requires you to enroll your own Apple Developer account as an Organization, not an individual: a DBA or sole proprietorship won't qualify. You'll need a D-U-N-S number, a company domain email, an enroller who's an owner or executive, and the $99/year program fee.

How long does app store approval take for a white-labeled GoHighLevel app?

Directionally, Apple review typically runs 24 to 72 hours and Google Play often clears in under 24 hours, per third-party aggregator reporting rather than a GoHighLevel-published SLA. Apple account activation itself can take up to 48 hours before you can even submit a build.

Can I rebill clients for SMS and calling without upgrading to Agency Pro?

Yes, at cost. Rebilling clients for usage-based services without adding your own markup works on the $297/mo Unlimited plan. Adding a markup on top of what GoHighLevel charges you requires Agency Pro at $497/mo, since that markup logic runs through the SaaS Configurator.

What's the most common DNS mistake agencies make when setting up white label?

Pointing the API or branded-links domain at a root domain instead of a subdomain. GoHighLevel's own documentation warns this will cause the domain to point away from your website entirely. Cloudflare users also need to disable the proxy status on the CNAME record, or verification fails.

Why would my white-labeled app get rejected from the App Store?

The most common documented reasons are formatting errors, not technical failures: a description over 4,000 characters, keywords over 100 characters, invalid URLs that don't start with https://, competitor brand names in your keywords, or missing App Privacy, pricing, or age-rating fields.

Is SaaS Mode the same thing as white label?

No. White label is the branding layer: your domain, logo, colors, and app icon replacing GoHighLevel's. SaaS Mode is the billing and provisioning layer on top of that: automated sub-account creation, tiered pricing, and Stripe rebilling. You can white-label without SaaS Mode, but you can't run SaaS Mode without white label.

Want a second opinion on your setup?

A free 30-minute call with an engineer. A written read on your current setup, whether or not you hire us.