Zoho CRM's email setup is more configurable than any comparable CRM — and that is precisely where the deliverability problems start. The same follow-up email can leave your CRM through four entirely different sending paths, depending on how a given user's account is configured. Each path has a different authentication profile, a different sending IP, and a different placement outcome. Reps assume "email sent" means the message arrived. Often it did not.
The fix is not to switch CRMs — Zoho is a capable platform. The fix is to know which path you are actually using, verify authentication for that specific path, and seed-test placement before you scale an outreach cycle.
The four sending paths in Zoho CRM
When a user sends an email from Zoho CRM — from a lead record, from a deal, from Cadences, from a campaign — one of four transport mechanisms carries it:
- ZeptoMail (transactional). Zoho's own transactional ESP. High deliverability for transactional flows, strict policy against marketing or bulk. DKIM is configured via CNAME selectors on your sending domain.
- Zoho Mail (hosted inbox). If the user's primary email is hosted on Zoho Mail, CRM sends as that user through Zoho Mail's own MTA. Authentication ties back to your Zoho Mail domain verification.
- IMAP/SMTP connection to a third-party inbox. User connects their Gmail, Microsoft 365, or another SMTP server. Outbound sends traverse that provider's infrastructure with that provider's authentication.
- OAuth connection to Gmail or Microsoft 365. The cleaner variant of the above. Zoho uses the provider's API to send, messages appear in the user's Sent folder, and authentication inherits from the connected account.
The paths are not interchangeable for deliverability purposes. A DKIM setup that works for ZeptoMail does not cover the case where a rep is sending through their connected Gmail. Teams routinely configure one path and assume it blankets the others.
Open the raw headers of a recent outbound message from Zoho CRM. Look at Received: and the DKIM-Signature. If the signing host is zeptomail.zoho.com, you are on ZeptoMail. If it is .google.com, you are on connected Gmail. If it is .outlook.com, Microsoft 365. That tells you which authentication chain you actually need to fix.
From, Reply-To, and the alignment trap
The most common Zoho CRM deliverability bug is a misalignment between the From header, the Reply-To, and the envelope sender. Here is how it happens:
- The rep uses their personal company address in the
From—anna@your-corp.com. - Zoho CRM, because the user did not connect a mailbox, falls back to sending via ZeptoMail under a different envelope sender (
MAIL FROM). - DKIM signs as ZeptoMail's configured selector — fine.
- But the
Fromdomain DMARC policy isp=reject, and ZeptoMail's signing was never explicitly authorised under your domain's DMARC alignment. Placement crashes.
The whole chain needs to line up. Either the sending path must be fully aligned with the From domain (DKIM signs under your-corp.com, envelope sender subdomain is under your-corp.com), or the From has to use a subdomain that is explicitly delegated to the sending platform.
Why Zoho CRM follow-ups land in Promotions specifically
Beyond authentication, Zoho CRM follow-ups have specific content patterns that Gmail Promotions flags:
- Open-tracking pixel on low-engagement threads. A one-line follow-up ("just checking in") with a tracking pixel has a pixel-to-text ratio that looks bulk-like. Gmail pushes these to Promotions.
- Link tracking through a shared Zoho domain. Unbranded link tracking domains have accumulated spam scores from every Zoho customer who ever used them. Moving to a branded tracking domain measurably improves Gmail placement.
- Auto-appended unsubscribe footer on 1:1 email. If Zoho's campaign module is mis-wired to append a marketing-style unsubscribe footer to sales follow-ups, the messages trip Gmail's "bulk" classifier even at single-recipient volume.
- Image-heavy signatures. Logo + headshot + social icons in a three-line follow-up inverts the image-to-text ratio. Strip to plain text for first touches.
A native integration for leading CRMs is in private beta — placement tests inside the CRM, alerts on drops.
Seed testing the path you actually use
The placement test has to fire through the same sending path your real outbound uses. A test that leaves via ZeptoMail when your reps are sending via connected Gmail is measuring the wrong surface.
Setup
- Identify, per user, which path that user is sending on. Zoho's email configuration page tells you, or the header of a recent sent message confirms.
- Take a real outbound template from that user's current Cadence or deal workflow, rendered with real merge fields.
- Send the message from the user's actual CRM path to a seed set covering Gmail personal, Gmail Workspace, Outlook.com, Microsoft 365, and any regional providers your prospects use.
- Record inbox vs Promotions vs Junk per provider per user.
Cadence
Monthly for every active sending user. Plus triggered tests when a user changes their connected inbox, when a new template is rolled out team-wide, or when outbound performance drops more than twenty percent week-over-week.
A pragmatic remediation order
When a seed test comes back bad, fix in this order — cheapest and highest-impact first:
1. Authentication
- Verify SPF for the actual sending path.
- Verify DKIM for the actual sending path.
- Verify DMARC alignment.
2. Content
- Strip signature images from first-touch templates.
- Disable open tracking for first-touch emails.
- Reduce link count to 0 or 1 on the first send.
3. Infrastructure
- Move to branded link-tracking domain.
- If using ZeptoMail, verify your domain is in good standing.
- If using connected Gmail/O365, audit that user's warm-up history.
4. Template rewrite
- Only after 1-3 are clean is there value in A/B testing copy.FAQ
How do I tell whether my CRM is sending via ZeptoMail or via the user's connected inbox?
Received: chain does not lie.