Setting Up Client Portals in GoHighLevel
Client retention in agencies is a function of perceived value. Agencies that lose clients early rarely lose them because the work is bad — they lose them because clients don't see the work happening. A client portal changes that dynamic: it gives clients 24/7 visibility into their campaigns, lead flow, and results without requiring your team to produce manual reports. When clients can log in and see that 47 new leads came in this week, that their email campaign had a 32% open rate, and that three appointments are scheduled — they stay.
GoHighLevel's sub-account model, combined with its white-label capabilities, makes client portal setup straightforward for agencies. This guide covers everything from the initial sub-account architecture to custom-branded dashboards, client-facing reporting, and the automation that makes ongoing portal management effortless.
Key Takeaways
- GHL's sub-account model gives each client an isolated environment with their own contacts, pipelines, and automations
- White-label capability lets agencies brand GHL as their own platform with custom domain and logo
- Client login access can be configured with granular permissions — clients see only what you want them to see
- Custom dashboards built per client communicate value without requiring manual report generation
- Client communication within GHL (conversations inbox) keeps all client interactions in one place
- Snapshot templates let agencies deploy standardized portal configurations across new clients instantly
- Client portals built on GHL reduce churn by increasing perceived value and transparency
- The portal can include a client communication hub, campaign performance view, and appointment scheduling
Understanding GHL's Agency Architecture
Before building client portals, understanding GHL's architecture is essential because it determines what your clients can and cannot see.
Agency Level (Your Account): This is the master account — you see everything. Agency-level access lets you:
- Create and manage all client sub-accounts
- Push snapshot templates to sub-accounts
- Access any sub-account's data from the agency dashboard
- Set white-label domain and branding
- Manage billing for sub-accounts
Sub-Account Level (Client Accounts): Each client lives in a separate sub-account. Their contacts, pipelines, automations, and data are completely isolated from other clients. Sub-account-level users (including clients you grant login access to) see only that sub-account's data.
User Roles in Sub-Accounts: When you give a client access to their sub-account, assign them an appropriate role:
- Admin: Full access to everything in the sub-account (not recommended for clients)
- User: Access to contacts, conversations, and appointments (appropriate for most clients)
- Custom: Configure exactly which sections a client can access using GHL's role permissions
The role system is the mechanism for controlling what clients see in their portal. Spend time configuring this correctly before inviting clients — you don't want a client accidentally modifying automation workflows or seeing cost/billing data.
White-Label Setup: Branding the Portal as Your Platform
GHL's white-label capability (available on the Agency Unlimited plan at $297/month) lets you present the platform under your agency's brand. From the client's perspective, they're logging into "YourAgency CRM" or "YourAgency Growth Platform" — not GoHighLevel.
Domain Configuration:
- In your GHL agency settings, navigate to White Label > Domain Settings
- Add your custom domain (e.g., app.youragency.com or crm.youragency.com)
- Update your DNS: add a CNAME record pointing your subdomain to GHL's servers (GHL provides the target address)
- SSL is provisioned automatically by GHL once DNS propagates
Brand Customization:
- Upload your agency logo (this appears in the platform header and login page)
- Set your brand color (used in the platform's primary UI color)
- Customize the email sender name and address for system emails (appointment confirmations, etc.)
- Update the login page with your agency name and branded copy
Client-Facing Domain for Portals:
If you want each client to have their own branded portal URL (e.g., portal.clientcompanyname.com), this requires more DNS configuration — you'd map the client's subdomain to a GHL sub-account. This is more complex but provides the most professional client experience. For most agencies, a single branded domain (app.youragency.com) for all clients is sufficient.
Designing the Client Dashboard
The dashboard is the first thing clients see when they log in. It should answer three questions in under 30 seconds: How many new leads did I get? How are my campaigns performing? What's in my pipeline?
Building the Client Dashboard in GHL:
Navigate to the client's sub-account, then go to Reporting > Dashboards > New Dashboard.
Recommended Client Dashboard Widgets:
| Widget | Data Source | Timeframe |
|---|---|---|
| New Leads This Month | Pipeline (contacts created) | Current month |
| Lead Sources Breakdown | Attribution report | Current month |
| Pipeline Overview | Pipeline stage distribution | Current state |
| Email Campaign Performance | Email analytics | Last campaign |
| Appointments This Month | Calendar | Current month |
| Review Count (New) | Reputation dashboard | Current month |
| Active Conversations | Conversations inbox | Real-time |
Keep the dashboard to 6–8 widgets maximum. Too much information creates cognitive overload and ironically reduces the perceived value — clients click away when they don't know what to focus on.
Date Range Defaults:
Set each widget to show "This Month" by default. Clients think in monthly terms, and month-to-date numbers are the most relevant for ongoing performance conversations. Include a comparison to last month where GHL supports it — showing "47 leads this month vs. 31 last month (+52%)" is more compelling than just "47 leads."
Dashboard Naming:
Name the dashboard with the client's business name: "Acme HVAC — Performance Dashboard." When clients log in and see their company name on the dashboard, it feels personal and invested, not generic.
Client Access Configuration and Permissions
Configuring exactly what clients can access — and what they can't — is critical for a professional portal experience.
Access Levels to Grant Clients:
Give clients access to:
- Dashboard (view only)
- Conversations inbox (so they can see and respond to customer messages if desired)
- Contacts (read-only view — they can see their leads but not modify)
- Calendar (to see their appointments)
- Reputation management (to respond to reviews themselves)
Restrict clients from:
- Workflows and automations (they shouldn't modify the automation logic you've built)
- Billing settings
- Agency-level settings
- Other sub-accounts
- Team settings (you manage users, not them)
Creating a Client Login:
- In the sub-account, navigate to Settings > Team Members > Add User
- Enter the client's name and email
- Select the appropriate role (User, or a custom role you've configured)
- Send the invitation email — clients receive a link to set their password
- The client logs in at your white-label domain (e.g., app.youragency.com)
Custom Role Creation:
If GHL's default roles don't match your desired permission profile, create a custom role:
- Navigate to Settings > Roles & Permissions
- Click "Add Role"
- Toggle each permission section (contacts, conversations, calendar, etc.) on or off
- Name the role (e.g., "Client View Only")
- Assign this role to client users
Setting Up the Client Communication Hub
Beyond reporting, client portals are most valuable when they centralize communication. GHL's conversations inbox can serve as the communication hub — not just for the client's customers, but for communication between you (the agency) and the client.
Two Communication Flows in GHL:
-
Client's customer conversations: Inbound SMS, emails, and calls from the client's leads and customers appear in the Conversations inbox. The client can view these (and optionally respond) from their portal login.
-
Agency-to-client communication: You can communicate with clients via GHL's internal notes, tasks, and (with some configuration) a private channel in the conversations inbox.
Internal Notes on Contacts:
Train your team to add internal notes to the client's contact records when significant events occur. Example: "Reached out to lead [Name] — they expressed interest in the premium package, following up Friday." When clients review their contacts, they see the activity log and feel confident that their agency is actively working.
Task Assignments for Transparency:
When your team completes a deliverable (landing page launched, campaign sent, pipeline updated), create a completed task in GHL's task system. Clients can see completed tasks, providing a transparent activity log without requiring status update emails.
Snapshot Templates: Deploying Portals at Scale
If you're an agency onboarding multiple clients in the same industry (e.g., you specialize in HVAC companies or dental practices), GHL's snapshot feature dramatically speeds up portal setup.
What a Snapshot Includes:
- Workflow automations
- Funnel/landing page templates
- Email and SMS templates
- Pipeline structure
- Custom fields
- Dashboard configuration
- Calendar structure
Creating a Snapshot:
- Build your ideal client portal setup in a "template" sub-account
- Navigate to Agency Settings > Snapshots
- Click "Create Snapshot" from the template sub-account
- GHL packages all the included elements
Deploying a Snapshot to a New Client:
When onboarding a new client:
- Create a new sub-account
- Apply your industry-specific snapshot during creation
- Customize the client-specific elements (business name, phone number, logo)
- The client immediately has a fully configured portal — not a blank account
For agencies that onboard 5+ clients per month in similar industries, snapshots reduce per-client setup time from 8–12 hours to 1–2 hours.
Automating Client Reporting
Manual monthly reporting is one of the biggest time sinks for agency teams. GHL automation can significantly reduce this burden.
Automated Performance Summary Email:
Build a GHL workflow that fires on the 1st of each month:
- Sends a pre-templated email to each client with their key metrics
- Metrics pulled from GHL custom value calculations or manually updated custom fields
- The email is branded from your agency, formatted as a monthly report snapshot
This isn't a full analytics report — it's a highlights summary. For full reports, direct clients to their portal dashboard.
Triggered Milestone Notifications:
Set up workflows that automatically notify clients when notable milestones occur:
- "You reached 100 leads this month!" — when monthly lead count custom field hits 100
- "Your first 5-star review came in!" — when reputation management records a new 5-star review
- "New lead from Google Ads — high intent" — when a lead tagged "high-intent" is created
These notifications make clients feel like things are happening without requiring your team to manually send updates.
Weekly Activity Summary:
A Friday afternoon automated email summarizing the week: "This week: 12 new leads, 3 appointments booked, 1 new review." Short, data-driven, effortless to receive. Clients who get weekly data feel more informed and are less likely to reach out to question what's being done.
Client Retention Through Portal Engagement
The portal drives retention only if clients actually use it. Adoption requires intentional onboarding.
Client Portal Onboarding Session:
Spend 30 minutes with every new client walking them through their portal:
- Show them the dashboard and explain each widget
- Demonstrate how to see their leads and conversations
- Show them where to find their appointment calendar
- Explain what notifications they'll receive automatically
Clients who understand their portal visit it regularly. Clients who receive login credentials without explanation almost never log in.
Regular Portal Review Meetings:
Monthly strategy calls should include 10 minutes reviewing the portal dashboard together on screen. "Let's look at your dashboard — I see your Google Ads campaign generated 34 leads this month, which is up from 22 last month. Here's what we're doing differently..." This makes the dashboard a tool for strategy conversation, not just passive data consumption.
Portal Engagement as Churn Indicator:
Clients who stop logging into their portal are at higher churn risk. Set up a GHL workflow (if you track client logins) to alert your account manager when a client hasn't logged in for 14+ days. Proactively reach out before they start questioning the value of the engagement.
Frequently Asked Questions
How many clients can I manage on one GHL Agency account?
GHL's Agency Unlimited plan ($297/month) includes unlimited sub-accounts — you can manage an unlimited number of clients on one agency account. There are no per-client fees beyond your flat agency subscription. SMS and calling costs are pay-as-you-go via Twilio and billed separately based on actual usage. Most agencies either absorb these costs in their management fee or pass them through to clients at cost.
Can clients see my agency's pricing or internal costs?
No — if permissions are configured correctly, clients can only see the data within their sub-account. They cannot see your agency dashboard, other clients' data, your billing information, or any agency-level settings. Ensure clients are assigned user roles (not agency-level access) and that you haven't shared any agency-level login credentials.
What happens to a client's data when the engagement ends?
When you end a client engagement, you have several options: archive the sub-account (data preserved but inactive), export the client's data as CSV and hand it over, or transfer the sub-account to the client's own GHL account (if they want to continue with GHL independently). GHL supports sub-account transfers between agency accounts, which is a clean offboarding option for clients who want to manage their platform themselves after your engagement ends.
Can I build a custom client portal instead of using GHL's native interface?
Yes — some agencies build custom-branded web portals that pull data from GHL's API and display it in a fully proprietary design. This requires development work (typically 3–8 weeks) but results in a completely branded experience with no GHL UI visible. This approach is worth the investment for agencies positioning themselves as premium technology providers where the appearance of proprietary tooling is important for pricing and differentiation.
How do I handle a client who wants access to edit their automations?
Consider whether it's actually in their interest — clients who modify automations without understanding them often break their own campaigns. If a client is technically sophisticated and insists on edit access, create a custom role that grants access to specific workflow sections but restricts access to your core automation logic. Document any workflows the client can modify and add internal notes explaining the expected behavior so issues are easier to diagnose.
Next Steps
A well-configured client portal on GoHighLevel shifts your agency relationship from "vendor reporting results" to "trusted partner providing transparent access to performance." That shift reduces churn, increases client satisfaction, and enables you to serve more clients with less manual reporting overhead.
ECOSIRE's GoHighLevel services include white-label portal setup, client dashboard configuration, and snapshot template creation for agencies. We build agency infrastructure on GHL that scales from 5 clients to 50+ without requiring proportional increases in team size.
Contact our team to discuss your agency's client management workflow and how a properly configured GHL portal architecture can improve retention and operational efficiency.
Written by
ECOSIRE Research and Development Team
Building enterprise-grade digital products at ECOSIRE. Sharing insights on Odoo integrations, e-commerce automation, and AI-powered business solutions.
Related Articles
Case Study: Agency Growth with GoHighLevel CRM
How a digital marketing agency replaced five disconnected tools with GoHighLevel and grew MRR by 89% in 10 months using ECOSIRE's CRM implementation.
GoHighLevel Agency Growth Playbook: 0 to 100 Clients
Proven strategies to scale your GoHighLevel agency from zero to 100 clients — covering acquisition, pricing, retention, and operational systems.
AI-Powered Appointment Booking with GoHighLevel
Set up AI-powered appointment booking in GoHighLevel — covering AI conversation flows, calendar integration, qualification logic, and no-show prevention.