HubSpot is an excellent CRM and a decent marketing automation platform. It is also responsible for more "my emails stopped landing" support tickets than any other ESP we see. The reason is not that HubSpot is broken — it is that its default sending configuration leaves four specific landmines that a standard Gmail inbox test will never uncover.
If HubSpot mail is landing in Spam, the cause is almost always one of: a blacklisted shared tracking domain, an unaligned via hubspot.com header, an unwarmed connected domain, or misconfigured marketing-vs-sales send routing. Fix those four and 80% of problems evaporate.
Failure 1: shared tracking domain (hubspotlinks.com)
By default, every click-tracked link in a HubSpot email is rewritten to hubspotlinks.com or a similar HubSpot shared domain. That domain is used by every HubSpot customer. When even a small fraction of them run spammy campaigns — and some always do — the domain lands on Spamhaus DBL, URIBL or SURBL. Your perfectly written email is now carrying a flagged URL.
Diagnostic: check hubspotlinks.com (and any other HubSpot-owned tracking domain your portal uses) against:
- Spamhaus DBL —
spamhaus.org/lookup - URIBL —
uribl.com - SURBL —
surbl.org
Fix: set up a custom tracking domain. In HubSpot: Settings → Website → Domains & URLs → connect a subdomain (e.g. links.yourdomain.com) as your email link domain. Keep the subdomain at least 30 days old before heavy use.
Failure 2: "via hubspot.com" header
When HubSpot sends on behalf of your From address without authenticated sending domain setup, Gmail displays from you@yourdomain.com via hubspot.com in the header. Users see the "via" string. More importantly, Gmail's filter sees DMARC alignment fail, because the From domain and the authenticated domain no longer match.
Diagnostic: send a test from your HubSpot-connected address to a Gmail seed. Open the message, expand "show details". If you see "via hubspot.com", you have this problem. Confirm by checking Authentication-Results in raw headers for dmarc=fail or dmarc=none.
Fix: set up authenticated sending in HubSpot (Settings → Marketing → Email → Configure → Email sending domain). You publish the HubSpot-provided SPF include and DKIM record in your DNS. Gmail then sees alignment and drops the "via" display. DMARC passes. Placement recovers within a week.
Failure 3: unwarmed connected domain
HubSpot does not warm your domain for you. Connecting a fresh domain and blasting 10,000 marketing emails the next day is the fastest way to torch reputation. We regularly see startups move their first real newsletter from Mailchimp to HubSpot, send at Tuesday-9am volume, and land 70% in Spam.
Diagnostic: ask two questions. How old is the authenticated sending domain (counting from when DKIM was set up, not when the domain was registered)? What was the volume curve across the last 30 days?
- Under 30 days with DKIM + first send over 1,000 = very bad.
- Under 90 days with DKIM + first send over 10,000 = bad.
- Any flat volume jump of 10x week-over-week = bad.
Fix: warm up before scaling. Week 1: 500 sends to your most engaged segment. Week 2: 1,500. Week 3: 4,000. Week 4: 10,000. All to recipients who have opened mail from you in the last 90 days. Only after that do you send to re-engagement segments or cold-ish marketing lists.
Failure 4: marketing vs sales send routing
HubSpot has two distinct sending paths: Marketing Email (bulk, goes through HubSpot's shared marketing IPs) and Sales Sequences / 1:1 (sent via OAuth through your connected Gmail or Outlook mailbox). Mixing them up is a common cause of unexpected Spam placement.
Common mistakes:
- Sending a cold outreach campaign as a Marketing Email — hits HubSpot's cold-outreach guardrails and shared-IP reputation issues.
- Sending a transactional receipt through Sales tools without the transactional add-on — triggers unsubscribe logic that should not apply.
- Using 1:1 sequences at bulk volume from a mailbox that does not have capacity — hits Gmail's per-mailbox daily limits.
Fix: route by purpose.
- Marketing newsletters / promos: Marketing Email with authenticated sending domain.
- Cold outreach: Sales Sequences via connected mailbox, low volume per mailbox, proper warm-up.
- Transactional: Transactional Email add-on (dedicated IP, bypasses marketing filtering).
How to test each failure mode
- Tracking domain: DNSBL lookup on
hubspotlinks.comand your custom tracking subdomain. - Via hubspot.com: Gmail seed send, inspect full headers.
- Domain warmth: HubSpot's Email Health report shows domain age and volume curve.
- Send routing: audit which emails go through Marketing vs Sales vs Transactional in the HubSpot settings.
- Real placement: send a copy of your current email to a 20+ provider seed list for actual folder placement per provider.
HubSpot's Email Health report vs real placement
HubSpot's Email Health surfaces bounce rate, unsubscribe rate, spam complaint rate and sender score. It is a useful hygiene panel. It does not measure folder placement. You can have a green Email Health card while landing 50% in Outlook Junk.
Email Health answers "am I doing long-term damage to my reputation?". A placement test answers "are people actually seeing this email?". You need both.
Setting up a custom tracking domain
- Pick a subdomain.
links.yourdomain.comorgo.yourdomain.comare conventional. - Publish a CNAME pointing to HubSpot's required target (HubSpot will show you the exact value in the settings UI).
- Connect the domain in HubSpot as Email Sending Domain.
- Wait 48 hours for DNS propagation and HubSpot verification.
- Switch Email Sending to use the new domain as the tracking domain.
- Check the new subdomain against Spamhaus DBL, URIBL, SURBL the following week — and monthly thereafter.
Send your current HubSpot email to a 20+ provider seed list. Gmail, Outlook, Yahoo, Mail.ru, Yandex, GMX, ProtonMail and more. You get per-provider placement, authentication results, and DNSBL status for both your sending and tracking domains. No signup.