Quick Answer

Manage multiple GHL client domains by standardizing: use consistent subdomains (mail.clientdomain.com), create DNS record templates, maintain a tracking spreadsheet with domain status and credentials, and set up per-domain monitoring. Each client gets isolated SMTP credentials, their own authentication records, and dedicated reputation. Review all domains weekly for authentication and reputation health.

Managing Multiple Client Email Domains in GoHighLevel

By Braedon·Mailflow Authority·GoHighLevel Email

The Multi-Domain Challenge

At 5 clients, managing email domains is simple. At 20, it's a process. At 50+, it's a system or it's chaos.

Every client domain needs:

  • Sending subdomain configured
  • SPF, DKIM, DMARC records in DNS
  • SMTP credentials in the ESP
  • Credentials configured in GHL
  • Warmup completed
  • Ongoing monitoring

Multiply that by 30 clients and you understand why most agencies get this wrong. See our multi-domain strategy guide and agency infrastructure guide for the framework.

Domain Naming Standards

Pick One Convention

Standardize your subdomain naming across all clients:

ConventionExampleBest For
mail.mail.clientdomain.comGeneral sending
send.send.clientdomain.comMarketing focus
notify.notify.clientdomain.comTransactional
marketing.marketing.clientdomain.comClear purpose

Pick one and use it everywhere. When troubleshooting at 2am, you don't want to remember which client uses "mail." and which uses "send."

Practitioner note: I use mail.clientdomain.com for every client unless they specifically need multiple sending streams. Consistency eliminates an entire category of mistakes. When I see a domain in logs, I instantly know the structure.

The Domain Tracking System

Minimum Viable Spreadsheet

Track every client domain with these columns:

ColumnPurpose
Client NameWho it belongs to
Root Domainclientdomain.com
Sending Subdomainmail.clientdomain.com
ESP ProviderMailgun / SendGrid / SES
SPF StatusVerified / Pending / Failed
DKIM StatusVerified / Pending / Failed
DMARC Statusp=none / p=quarantine / p=reject
DMARC RUAWhere reports go
Warmup StatusComplete / Week 2 / Not Started
Monthly VolumeCurrent average
GHL Sub-AccountWhich sub-account uses it
Last Audit DateWhen you last checked everything

Update this after every client onboarding and during monthly reviews.

DNS Record Templates

For each new client, you're adding the same records with different values. Template them:

SPF (Mailgun):

mail.CLIENTDOMAIN.com. TXT "v=spf1 include:mailgun.org ~all"

SPF (SendGrid):

mail.CLIENTDOMAIN.com. TXT "v=spf1 include:sendgrid.net ~all"

DMARC:

_dmarc.mail.CLIENTDOMAIN.com. TXT "v=DMARC1; p=none; rua=mailto:[email protected]"

Note the DMARC rua points to your agency email so you receive reports for all clients centrally.

MX (Mailgun):

mail.CLIENTDOMAIN.com. MX 10 mxa.mailgun.org.
mail.CLIENTDOMAIN.com. MX 10 mxb.mailgun.org.

Client Onboarding Process

Step 1: Domain Access

Get DNS access for the client's domain. Options:

  • Client adds you as a collaborator in Cloudflare/their DNS provider
  • Client gives you credentials (less ideal)
  • Client adds records themselves from your template (slowest)

Best approach: Have clients use Cloudflare and add your agency email as a member. This gives you direct DNS access without sharing passwords.

Step 2: Create Sending Domain in ESP

In Mailgun:

  1. Sending > Domains > Add Domain
  2. Enter mail.clientdomain.com
  3. Select region (US or EU based on client audience)
  4. Copy the required DNS records

Step 3: Add DNS Records

Add all records from your ESP to the client's DNS:

  • SPF (TXT record)
  • DKIM (TXT or CNAME records — typically 2)
  • Tracking CNAME (for click/open tracking)
  • MX records (for bounce handling)

Step 4: Verify Domain

Return to ESP dashboard and verify. All records should show green.

If verification fails:

  • Wait 15-60 minutes for propagation
  • Double-check for typos
  • Confirm no conflicting records exist
  • Use dig or nslookup to verify records are live

Step 5: Create SMTP Credentials

In Mailgun: Sending > Domain Settings > SMTP Credentials > New SMTP User

Create a dedicated credential for this client's domain. Don't reuse credentials across clients.

Step 6: Configure GHL Sub-Account

  1. Log into the client's GHL sub-account
  2. Settings > Email Services > Add SMTP
  3. Enter the client-specific SMTP credentials
  4. Test sending

Step 7: Warmup

Start the warmup process. New domains need 3-4 weeks of gradual volume increase.

Practitioner note: I batch client onboarding. Instead of setting up one client at a time, I do all DNS work for new clients on Monday, verify on Tuesday, configure GHL on Wednesday, and start warmup Thursday. Batching prevents context-switching and reduces errors.

Monitoring at Scale

Weekly Domain Review

Cycle through all client domains each week:

Monday-Tuesday: Check SMTP provider dashboards for each domain

  • Bounce rate (alert if > 2%)
  • Complaint rate (alert if > 0.1%)
  • Delivery rate trends

Wednesday-Thursday: Check Google Postmaster Tools for each domain

  • Domain reputation
  • Spam rate
  • Authentication pass rates

Friday: Review DMARC aggregate reports

  • Authentication failures
  • Unknown senders
  • Policy compliance

Automated Alerting

Set up alerts in your SMTP provider for:

  • Bounce rate exceeds 3% for any domain
  • Complaint rate exceeds 0.1% for any domain
  • Sending volume drops unexpectedly (may indicate broken automation)
  • Sending volume spikes unexpectedly (may indicate compromised credentials)

Client Health Score

Create a simple scoring system:

MetricGoodWarningCritical
Bounce Rate< 1%1-3%> 3%
Complaint Rate< 0.05%0.05-0.1%> 0.1%
GPT ReputationHighMediumLow/Bad
Auth Pass Rate> 99%95-99%< 95%

Review scores monthly and prioritize intervention for clients in warning or critical status.

Common Multi-Domain Problems

DNS Record Conflicts

Multiple SPF records on the same domain break authentication. Ensure only ONE SPF record exists per (sub)domain.

Wrong:

mail.client.com. TXT "v=spf1 include:mailgun.org ~all"
mail.client.com. TXT "v=spf1 include:_spf.google.com ~all"

Right:

mail.client.com. TXT "v=spf1 include:mailgun.org ~all"

Client DNS Changes

Clients (or their web developers) sometimes modify DNS without telling you. A "helpful" change can break email authentication.

Prevention: Ask clients to notify you before any DNS changes. Better yet, manage DNS yourself through Cloudflare.

Credential Rotation

When team members leave your agency, rotate SMTP credentials for all domains they had access to.

Domain Expiration

Clients sometimes let domains expire. Set calendar reminders 60 days before expiration for every client domain you manage.

Practitioner note: I lost a client's email for three days because their domain expired on a Saturday and nobody noticed until Monday. Now I track every client domain expiration date and send reminders at 90, 60, and 30 days. A $12 domain renewal shouldn't take down an email infrastructure.

Client Offboarding

When a client leaves:

  1. Document their DNS records — Give them a list of what to keep or remove
  2. Remove domain from ESP — Delete SMTP credentials and domain
  3. Remove from GHL — Clear SMTP configuration in sub-account
  4. Update your tracking sheet — Mark domain as decommissioned
  5. Remove from monitoring — Stop tracking their domain
  6. Transition guide — If they're setting up their own email, provide guidance

If you need help building systems to manage email domains across your GHL client base, book a consultation. I'll set up the infrastructure, monitoring, and processes that scale with your agency.

Sources


v1.0 · April 2026

Frequently Asked Questions

How many email domains can I manage in GoHighLevel?

GHL has no hard limit on SMTP configurations across sub-accounts. Each sub-account can have its own SMTP credentials and sending domain. Agencies commonly manage 20-50+ client domains without issues.

Should every GHL client have their own sending domain?

Yes. Shared sending domains mean shared reputation. One client's bad list hygiene damages every other client using that domain. Per-client domains are more work to set up but prevent cross-contamination.

How do I track DNS records across multiple client domains?

Use a spreadsheet or project management tool tracking: client name, root domain, sending subdomain, ESP, SPF status, DKIM status, DMARC status, warmup stage, and weekly volume. Review and update monthly.

What naming convention should I use for client subdomains?

Pick one convention and use it everywhere: mail.clientdomain.com is the most common. Alternatives: send.clientdomain.com, email.clientdomain.com. Consistency makes management and troubleshooting faster.

What happens when a client leaves my GHL agency?

Remove the SMTP configuration from their sub-account, remove their domain from your ESP account, and document the DNS records they need to remove or update. Provide them with a transition guide if they're moving to another provider.

Want this handled for you?

Free 30-minute strategy call. Walk away with a plan either way.