Skip to main content

Email Subdomain Setup for GoHighLevel Client Accounts

Purpose

This SOP documents the process of setting up a dedicated email subdomain in GoHighLevel (GHL) to ensure optimal email deliverability, proper DNS authentication, and maintain sender reputation for client accounts.

Scope

Covers:

  • Dedicated subdomain configuration in GHL
  • DNS record setup (SPF, DKIM, DMARC)
  • Default header configuration
  • Domain verification

Does Not Cover:

  • Domain warm-up procedures
  • Email campaign creation
  • List management and hygiene
  • Ongoing email monitoring

Prerequisites

  • Access to client's DNS provider dashboard (Cloudflare, GoDaddy, etc.)
  • GHL agency or sub-account admin access
  • Client's root domain name
  • Authority to modify DNS records
  • Basic understanding of DNS record types

Step-by-Step Procedure

Step 1: Select Subdomain Prefix

Standard subdomain: Use sc.clientdomain.com for all clients.

The sc prefix is short (keeps From addresses clean), branded (Symphony Core), and avoids conflicts with mail. which is reserved by cPanel/webmail on many hosting providers.

Exception — High-Volume or Multi-Purpose Clients:

  • Use marketing.clientdomain.com for promotional emails
  • Use orders.clientdomain.com for transactional emails
  • This separates reputation by email type

Step 2: Create Dedicated Sending Domain in GHL

  1. Log into GHL agency account
  2. Navigate to Settings > Email Services > Dedicated Sending Domains
  3. Click Add New Domain
  4. Enter chosen subdomain (example: sc.clientdomain.com)
  5. Click Create
  6. Copy all provided DNS records to a secure location

Step 3: Add SPF Record to DNS

  1. Log into client's DNS provider
  2. Create new DNS record:
    • Type: TXT
    • Name: [subdomain prefix] (example: sc)
    • Value: v=spf1 include:mailgun.org ~all
    • TTL: 3600
  3. Save record

Step 4: Add DKIM Records to DNS

GHL provides two DKIM records. For each record:

  1. Create new DNS record:
    • Type: TXT
    • Name: [exactly as provided by GHL]
    • Value: [exactly as provided by GHL]
    • TTL: 3600
  2. Save record
  3. Repeat for second DKIM record

Step 5: Add DMARC Record to DNS

  1. Create new DNS record on root domain (not subdomain):
    • Type: TXT
    • Name: _dmarc
    • Value: v=DMARC1; p=none; rua=mailto:dmarc-reports@clientdomain.com
    • TTL: 3600
  2. Replace clientdomain.com with actual domain
  3. Save record

Step 6: Configure Default Headers in GHL

  1. Return to GHL dedicated domain settings

  2. Set Default From Name:

    • Format: "[FirstName LastName] from [Company Name]"
    • Example: "Sarah Thompson from Acme Solutions"
    • Avoid generic names like "Admin" or "System"
  3. Set Default From Email:

  4. Click Save

Step 7: Verify Domain

  1. Wait 15-30 minutes for DNS propagation
  2. In GHL, click Verify DNS button
  3. Confirm all three show "Verified":
    • SPF ✓
    • DKIM ✓
    • DMARC ✓
  4. If verification fails, wait additional 15 minutes and retry

Step 8: Enable for Sub-Account

  1. Navigate to Sub-Account Settings > Email Services
  2. Select verified dedicated domain as default
  3. Enable Email Verification toggle
  4. Click Save

Required Inputs

  • Client root domain name
  • DNS provider login credentials
  • GHL agency account access
  • Valid email address for DMARC reports
  • Subdomain prefix decision

Expected Outputs

  • Verified dedicated sending domain in GHL (all three checks green)
  • Active DNS records in client's DNS provider
  • Configured default headers (From Name and From Email)
  • Domain available in email builder dropdown
  • Sub-account configured to use dedicated domain
  • Email verification enabled

Troubleshooting

Common Issues

Issue: DNS verification fails after 30+ minutes Solution:

  1. Verify records added to correct domain/zone in DNS provider
  2. Check for typos in TXT record values
  3. Ensure no trailing periods in record names
  4. Use whatsmydns.net to verify global propagation
  5. Clear DNS cache if testing locally

Issue: DMARC verification fails while SPF and DKIM pass Solution:

  1. Confirm DMARC record added to root domain (not subdomain)
  2. Verify format starts with v=DMARC1; (case-sensitive)
  3. Check policy set to p=none for initial setup
  4. Ensure no extra spaces in record value

Issue: From email domain mismatch error in campaigns Solution:

  1. Verify From email uses the dedicated sending subdomain (sc.clientdomain.com)
  2. Confirm From domain matches the DKIM signing domain for DMARC alignment
  3. Update default headers to match the sending subdomain
  4. Check campaign-level email overrides

Issue: SPF record validation warning about too many lookups Solution:

  1. Review existing SPF records for other services
  2. Consolidate multiple includes if possible
  3. Ensure total DNS lookups stay under 10
  4. Contact GHL support for dedicated IP if needed

Exceptions and Edge Cases

  • Case A: Multiple Email Types - If client sends both transactional and marketing emails, create separate subdomains (sc.domain.com and marketing.domain.com) to isolate reputation
  • Case B: High Volume Senders (1000+ emails/day) - Request dedicated IP through GHL support to prevent shared infrastructure issues
  • Case C: Existing SPF Record - If domain already has SPF record, modify existing record to include mailgun.org rather than creating duplicate
  • Case D: DNS Propagation Delays - Some DNS providers take up to 48 hours; document setup completion date and schedule verification check

Revision History

DateVersionChange DescriptionAuthor
2026-02-271.2Fix From Email guidance: use sending subdomain (not root domain) for DMARC alignmentSymphony Core Systems Team
2026-02-271.1Standardize on sc. subdomain prefix; add email-forwarding-sop cross-referenceSymphony Core Systems Team
2025-10-091.0Initial version[Author Name]