Quick Answer

With custom SMTP in GoHighLevel, you only see open and click events. Delivered, bounced, deferred, and complained events are invisible inside GHL because those events happen at the SMTP provider level — GHL hands the message to your SMTP server and loses visibility. This is a fundamental architectural limitation, not a bug. Fix: monitor all delivery metrics at your SMTP provider's dashboard (Mailgun Analytics, SendGrid Activity, SES CloudWatch) instead of relying on GHL.

Why GoHighLevel SMTP Stats Are Broken: The Fundamental Limitation

By Braedon·Mailflow Authority·GoHighLevel Email·Updated 2026-03-31

The Problem

You set up custom SMTP in GoHighLevel. Your emails are sending. But the stats look weird:

  • Sent: Shows a number
  • Delivered: Empty or unreliable
  • Bounced: Empty
  • Opened: Shows data
  • Clicked: Shows data

This isn't a configuration error. It's how GHL works with custom SMTP. For tracking limitations in detail, see our tracking limitations guide and email statuses explained.

Why This Happens

Your GHL Campaign
  ↓ (GHL sends to your SMTP server)
Your SMTP Server (Mailgun/SendGrid/SES)
  ↓ (SMTP server sends to recipient's server)
Recipient's Mail Server
  ↓ (delivers to inbox or spam)
Recipient Opens Email
  ↓ (tracking pixel fires back to GHL)
GHL Records Open ✓

GHL has visibility at the top (sending to SMTP) and the bottom (pixel fires). Everything in the middle is invisible to GHL:

  • Did the SMTP server accept it? (usually yes)
  • Did the recipient's server accept it? (delivery/bounce)
  • Was it deferred? (retry queues)
  • Did the recipient complain? (spam report)

These events happen between your SMTP provider and the recipient's server. GHL isn't part of that conversation.

What You're Missing

MetricIn GHL?Where to Find It
SentYesGHL
DeliveredNoSMTP provider dashboard
Hard bouncedNoSMTP provider dashboard
Soft bouncedNoSMTP provider dashboard
DeferredNoSMTP provider dashboard
Spam complaintNoSMTP provider dashboard
OpenedYesGHL
ClickedYesGHL
UnsubscribedYesGHL

The dangerous gap: You can't see bounces or complaints in GHL. A campaign could have 8% bounces (triggering SMTP provider suspension) and you wouldn't know until checking the provider dashboard.

How to Monitor Properly

Mailgun

  1. Log into Mailgun dashboard
  2. Navigate to SendingLogs or Analytics
  3. View: Delivered, Bounced, Complained, Stored, Suppressed
  4. Filter by domain and date range
  5. Set up alerting: Mailgun can email you when bounce rate exceeds a threshold

SendGrid

  1. Log into SendGrid
  2. Navigate to ActivityMessages
  3. View full event lifecycle per message
  4. Stats → Overview shows aggregate delivery data
  5. Log retention: 3 days (Essentials), 7 days (Pro) — check frequently

AWS SES

  1. SES Console → Reputation Dashboard
  2. View bounce rate, complaint rate, send volume
  3. CloudWatch: Set alarms for bounce rate > 5%, complaint rate > 0.1%
  4. SNS Topics: Configure notifications for each event type

Building a Monitoring Dashboard

For agencies managing multiple clients, build a centralized monitoring workflow:

Using n8n

Cron (every 6 hours)
  → HTTP Request: Mailgun Stats API (per domain)
  → Format data: bounce rate, complaint rate, delivery rate
  → IF bounce rate > 3%: Send alert
  → IF complaint rate > 0.1%: Send alert  
  → Log to Google Sheets / Airtable dashboard

This gives you a single dashboard showing deliverability health across all client domains — something GHL fundamentally cannot provide.

Key Metrics to Track

MetricHealthyWarningCritical
Delivery rate97%+95-97%Below 95%
Bounce rateUnder 2%2-5%Above 5%
Complaint rateUnder 0.05%0.05-0.1%Above 0.1%
Open rate (from GHL)20%+15-20%Below 15%

The Workaround That Doesn't Exist

Some agencies try to solve this by:

  • Using GHL's API to pull delivery data → doesn't work (GHL doesn't have the data)
  • Setting up Mailgun webhooks to GHL → GHL doesn't process delivery webhooks from custom SMTP
  • Building a custom webhook processor → works but requires development (n8n can do this)

The honest answer: GHL's custom SMTP integration is send-only. Monitoring is at the provider level. Accept this and build your monitoring there.

Practitioner note: This is the single biggest surprise for GHL agencies migrating from LC Email to custom SMTP. LC Email shows decent stats because it's GHL's own Mailgun integration. Custom SMTP loses those stats. The deliverability improvement is worth the monitoring trade-off, but you MUST check your SMTP provider dashboard weekly. I've seen agencies go months without checking and discover their bounce rate was 12% — silently destroying their domain reputation.

Practitioner note: For multi-client agencies: build the n8n monitoring workflow. 30 minutes of setup gives you automated alerting across all client domains. Without it, you're manually checking Mailgun for each client — which nobody does consistently.

If you need GHL deliverability monitoring set up properly with alerting and dashboards, schedule a consultation — I build monitoring infrastructure for GHL agencies.

Sources


v1.0 · March 2026

Frequently Asked Questions

Why doesn't GHL show delivery stats with custom SMTP?

Architecture: GHL passes the message to your SMTP server via SMTP protocol. Once the server accepts it, GHL's job is done. What happens next (delivery, bounce, deferral, complaint) occurs between your SMTP server and the recipient's server — GHL has no visibility into this handoff.

Can I fix this? Will GHL add delivery stats?

As of March 2026, GHL does not process delivery webhooks from custom SMTP providers. There's no configuration that enables it. This is a feature gap in GHL's custom SMTP implementation. The workaround is monitoring at the provider level.

What stats CAN I see in GHL with custom SMTP?

Opens (via tracking pixel GHL injects) and clicks (via link tracking GHL applies). Both are tracked by GHL regardless of SMTP provider because GHL controls the pixel and link rewriting. Everything else — delivered, bounced, deferred, complained — is provider-side only.

How do I know if my GHL emails are actually being delivered?

Check your SMTP provider's dashboard: Mailgun → Analytics → Delivery stats. SendGrid → Activity → Message events. AWS SES → CloudWatch metrics + SES Dashboard. These show the full delivery lifecycle that GHL can't display.

What about LC Email stats?

LC Email (GHL's built-in Mailgun) shows more stats because GHL has a tighter integration with their own Mailgun infrastructure. When you switch to custom SMTP, you trade those stats for better deliverability and control. The trade is worth it.

Want this handled for you?

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