// fix guide · Klaviyo

Fix Klaviyo emails going to spam

When Klaviyo campaigns start landing in spam, the cause is usually specific to how Klaviyo is configured, not your subject lines. This guide covers the klaviyomail.com alignment trap, branded sending domain setup, Smart Sending and Shopify sync side effects, and how to test a real Klaviyo campaign send with Unspam. The single most important fix: stop sending from Klaviyo's shared domain.

// why it happens

Why Klaviyo emails land in spam.

01

Your DKIM signature still says klaviyomail.com

Out of the box, Klaviyo sends from its shared domain, so DKIM signs klaviyomail.com and Gmail shows "via klaviyomail.com" next to your brand name. That breaks DMARC alignment, and since the February 2024 Google and Yahoo rules, anyone sending 5,000+ emails a day to Gmail must send DMARC-aligned mail. Klaviyo's own docs call a branded sending domain a requirement for bulk senders. Set one up under Settings > Domains, then confirm the DKIM d= domain on a live send.

02

You activated a branded sending domain, then kept full volume

A new send.yourbrand.com subdomain has zero reputation with Gmail and Yahoo. Flip it on and immediately blast your full list, and providers see an unknown domain at high volume, a classic spam pattern. Warm the new domain the way Klaviyo's deliverability guidance recommends: start with your most engaged segment (30 to 60 day openers and clickers) and widen the audience over two to four weeks.

03

Shopify sync filled Klaviyo with profiles that never opted in

The Shopify integration syncs customer profiles in real time, including buyers who never subscribed and old Accepts Marketing imports from before Klaviyo switched to Shopify's subscription model. Target a raw list instead of a segment and you mail stale, never-engaged addresses, which drives bounces and complaints. Build a segment combining consent with recent engagement conditions and make it your default campaign audience.

04

No sunset flow, so dead profiles drag your domain down

Klaviyo never removes unengaged profiles for you, and you pay to keep them active. Profiles with no opens or clicks in 90 to 180 days are the most likely to complain or decay into spam traps. Build a sunset flow off an unengaged segment, send a final win-back, then suppress non-responders so Klaviyo stops mailing them while keeping their data.

05

Your spam complaint rate crossed Gmail's line and nothing stopped the send

Gmail wants complaints under 0.1% and starts blocking bulk senders around 0.3%. Klaviyo reports complaints after the fact in each campaign's Deliverability tab and in the deliverability hub, with per-provider breakouts, but it will not halt a bad send for you. Most providers, Gmail above all, do not share complaints back with ESPs, so Klaviyo's numbers undercount: monitor your real Gmail spam rate in Google Postmaster Tools.

06

Shared infrastructure ties you to other Klaviyo senders

Unless you send around one million marketing emails a month and pass Klaviyo's review, you are on shared IPs, and by default your links run through shared tracking domains like trk.klclick.com. You cannot control the pool, but domain reputation is yours: a branded sending domain plus dedicated click tracking puts your own domain on every signal filters check. A dedicated IP is not the fix at typical volumes; thin volume on a dedicated IP performs worse than a healthy shared pool.

// authentication

How Klaviyo authenticates your mail.

Klaviyo signs every send itself, so there is nothing to paste into your root SPF record. Authentication lives or dies on one thing: whether you have activated a branded sending domain under Settings > Domains.

record default the problem the fix
DKIM Without a branded sending domain, Klaviyo DKIM-signs mail with its shared klaviyomail.com domain, not your From domain. The DKIM d= domain never matches your From domain, so DMARC alignment fails and Gmail shows "via klaviyomail.com" beside your sender name. Add a branded sending domain via Settings > Domains > Add Domain; static routing generates 3 CNAME records (two are DKIM selectors like km1._domainkey) plus a TXT verification record, dynamic routing uses 4 NS records instead.
SPF The Return-Path (bounce) domain is Klaviyo-managed, so SPF always passes, but against Klaviyo's domain rather than yours. SPF passes without alignment, which is why DMARC reports show SPF pass but alignment fail on shared-domain sends. Activating a branded sending domain moves the Return-Path to your subdomain; do not add a Klaviyo include to your root SPF, it changes nothing because Klaviyo controls the bounce domain.
DMARC Klaviyo works without any DMARC record on your domain, and many stores never publish one. Google and Yahoo require at least p=none on bulk senders' From domains, and an enforcement policy (quarantine or reject) without aligned DKIM sends your own campaigns to spam. Publish v=DMARC1; p=none with an rua reporting address; the Add Domain wizard in Settings > Domains includes a DMARC setup step, and you tighten the policy once reports run clean.
Tracking domain Opens and clicks route through shared Klaviyo tracking domains such as trk.klclick.com until you change it. Every link points at a domain you share with thousands of other senders, and the mismatch with your From domain reads as phishing-adjacent to filters. On a paid plan, go to Settings > Domains > Click tracking domains > Add domain and publish the CNAME (for example trk.yourbrand.com pointing to dct.klaviyodns.com).
// test your real sends

How to test a Klaviyo campaign with Unspam.

Klaviyo's Preview & test button does not behave like a campaign send: click tracking is not applied, unsubscribe links are placeholders, and the mail goes out ad hoc instead of through your normal campaign path. The only honest test is a real campaign send to a seed address.

  1. 01

    Get your Unspam seed address

    Start a spam test or inbox placement test in Unspam and copy the test address it generates. Placement tests include seed addresses across Gmail, Outlook, Yahoo, Zoho, ProtonMail and AOL.

  2. 02

    Create a seed list in Klaviyo

    Go to Audience > Lists & segments, create a new list named something like Deliverability seeds, and add the Unspam address as a profile.

  3. 03

    Clone the real campaign and point it at the seed list

    In Campaigns, clone the campaign you are worried about and select the seed list as the recipient. In the recipients step, turn off Smart Sending for this campaign, or repeat tests within 16 hours get silently skipped.

  4. 04

    Send it for real, not via Preview & test

    Use the normal Send or Schedule action so the email leaves through your actual sending domain with live click tracking and one-click unsubscribe headers, exactly like a customer send.

  5. 05

    Read the results in Unspam

    Check the spam score, the SPF, DKIM and DMARC results on the live send (the DKIM domain should be your branded subdomain, not klaviyomail.com), placement per provider, client previews and the heatmap. The AI fix assistant flags what to change before the real send.

// platform gotchas

Klaviyo features that quietly affect delivery.

Smart Sending skips recipients and never reschedules them

Smart Sending is on by default and skips anyone who already received an email from you within the last 16 hours, including seed addresses and flow emails. Skipped messages are not queued for later; they are simply never sent. Adjust the window in your account's email settings or disable it per campaign when testing.

Klaviyo suppression does not sync back to Shopify

Unsubscribes update Shopify consent, but profiles you suppress in Klaviyo stay marked as subscribed in Shopify. Any other app reading Shopify consent, or a careless re-import, can resurrect addresses you suppressed for bouncing or complaining. Treat Klaviyo's suppression list as the source of truth and audit imports against it.

Test emails skip click tracking and live unsubscribe links

Mail sent through Preview & test gets no tracked links and no functional unsubscribe link, so it neither looks nor behaves exactly like a campaign. A test that reaches the inbox proves little, and one that hits spam may just reflect odd ad hoc timing. Validate with a real campaign send to seed addresses instead.

Dedicated click tracking requires a paid plan

Until you activate it, every link resolves through shared Klaviyo tracking domains such as trk.klclick.com, whose reputation you share with every other sender on them. Setup lives in Settings > Domains > Click tracking domains and needs one CNAME pointing to dct.klaviyodns.com. Free accounts see Upgrade required and stay on the shared domain.

// FAQ

Klaviyo deliverability, answered.

Why does Gmail show "via klaviyomail.com" next to my sender name?

Your account is still on Klaviyo's shared sending domain, so the mail is signed by klaviyomail.com instead of your own domain. Gmail flags the mismatch with the via label. Set up a branded sending domain in Settings > Domains and the label disappears once the domain is verified and active.

Do I need to add Klaviyo to my domain's SPF record?

No. Klaviyo controls the Return-Path domain, so SPF is evaluated against Klaviyo's infrastructure and already passes. Adding an include to your root SPF does nothing for alignment. The fix that matters is the branded sending domain, which aligns DKIM and moves the bounce domain to your subdomain.

My open rates dropped right after activating my branded sending domain. Did I break something?

Probably not. Your new sending subdomain has no reputation yet, so providers throttle it until it earns trust. Warm it by mailing your most engaged segments for two to four weeks before returning to full volume, and watch the per-provider breakouts in Klaviyo's deliverability hub while it builds.

Klaviyo test emails land in spam but real campaigns seem fine. Which one do I trust?

Neither, on its own. Test sends skip click tracking, use placeholder unsubscribe links, and go out at odd ad hoc times, all of which changes how filters score them. The reliable signal is a real campaign send to seed addresses, then reading authentication and placement on that exact send.

Can Unspam connect to my Klaviyo account and test campaigns automatically?

No. Unspam does not integrate with Klaviyo's API or any other ESP API. The workflow is manual by design: add Unspam's test address to a Klaviyo list, send a real campaign to it, and read the results in Unspam. That is the only way to test the exact mail your customers receive.

Will a dedicated IP get me out of the spam folder?

Almost certainly not. Klaviyo grants dedicated IPs case by case, generally to senders doing around one million marketing emails a month with strong existing metrics, and low volume on a dedicated IP performs worse than a healthy shared pool. Modern filtering weighs domain reputation heavily, so fix authentication, segmentation and complaint rate first.

Klaviyo platform details were verified against publicly available documentation in June 2026 and may have changed since. Klaviyo is a trademark of its respective owner. Unspam is not affiliated with or endorsed by Klaviyo.

// see where you land

Test your next Klaviyo campaign before your subscribers do.