ESP8 min read

HubSpot campaigns hitting Spam? Four fixes that handle 80% of cases

HubSpot's sending setup has four specific failure modes that a Gmail-only test never reveals. Here is the diagnostic and the fix list.

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.

The short version

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

  1. Tracking domain: DNSBL lookup on hubspotlinks.com and your custom tracking subdomain.
  2. Via hubspot.com: Gmail seed send, inspect full headers.
  3. Domain warmth: HubSpot's Email Health report shows domain age and volume curve.
  4. Send routing: audit which emails go through Marketing vs Sales vs Transactional in the HubSpot settings.
  5. 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

  1. Pick a subdomain. links.yourdomain.com or go.yourdomain.com are conventional.
  2. Publish a CNAME pointing to HubSpot's required target (HubSpot will show you the exact value in the settings UI).
  3. Connect the domain in HubSpot as Email Sending Domain.
  4. Wait 48 hours for DNS propagation and HubSpot verification.
  5. Switch Email Sending to use the new domain as the tracking domain.
  6. Check the new subdomain against Spamhaus DBL, URIBL, SURBL the following week — and monthly thereafter.
Free HubSpot placement test

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.

Frequently asked questions

Does HubSpot warm up sending domains automatically?

No. HubSpot manages its own IP pool reputation but does not warm your domain for you. If you move a cold domain onto HubSpot and scale volume, you do it yourself — week-over-week ramp, engaged-first, then broader segments.

Should I use HubSpot's default tracking domain or set up a custom one?

Set up a custom one before any serious sending. The default shared tracking domain (hubspotlinks.com) is regularly listed on URI blocklists because of other customers' behaviour. A custom subdomain isolates you from that risk.

Why does HubSpot show 'via hubspot.com' for some senders and not others?

Because authenticated sending domain is configured for some and not others. Gmail only shows "via" when the From domain cannot be authenticated as the actual sender. Set up SPF include + DKIM in DNS and the "via" string disappears.

Can I use HubSpot for cold outreach?

Technically yes through Sales Sequences, but HubSpot is not optimised for it. If cold outreach is your primary use case, a dedicated cold-outreach tool (Instantly, Smartlead, Woodpecker) will give you better deliverability controls. Use HubSpot for marketing automation and CRM.
Related reading

Check your deliverability across 20+ providers

Gmail, Outlook, Yahoo, Mail.ru, Yandex, GMX, ProtonMail and more. Real inbox screenshots, SPF/DKIM/DMARC, spam engine verdicts. Free, no signup.

Run Free Test →

Unlimited tests · 20+ seed mailboxes · Live results · No account required