Above 0.1% Gmail starts marking sender domain. KL03 fires; investigate immediately.
At a glance
The percentage of recipients who hit “Mark as spam” or “Report junk” on a campaign in the period. Computed as SUM(spam_complaints) ÷ SUM(recipients) × 100 aggregated across every campaign. Spam rate is the most consequential deliverability metric on the entire dashboard: above 0.1% Gmail starts placing the sender into the spam folder for the recipient’s whole network, and once that happens it takes 30-60 days of clean sending to recover.
| What it counts | SUM(spam_complaints) ÷ SUM(recipients) × 100 to 4 decimal places, across every campaign in the period. Pulled from Klaviyo’s campaign-values-reports endpoint. |
| API endpoint + statistics field | POST /api/campaign-values-reports with statistics: ["spam_complaints", "recipients"]. Klaviyo aggregates server-side. |
| What “spam complaint” means | A recipient clicked “Report spam” in their email client (Gmail’s “Report spam” button, Outlook’s “Junk”, Apple Mail’s “Mark as Junk”). The mailbox provider relays this to the sender via a feedback loop. Hitting “Unsubscribe” does NOT count as a spam complaint that’s tracked separately as unsubscribes. |
| Attribution model | Not applicable. Spam complaints are a send-side metric, the 5-day click + 1-day view PLACED_ORDER attribution does not apply. |
| Email vs SMS | Email-only. SMS spam reports (replies of “STOP”, carrier-flagged) are tracked separately by Klaviyo and not pulled here. |
| Flows included? | This card pulls campaign-values-reports only. Flow spam complaints are tracked in flow-values-reports separately and aren’t aggregated here. For most merchants, campaigns generate >90% of spam complaints anyway. |
| MPP impact | None. iOS Mail Privacy Protection pre-fetches images but does not click “Report Spam”, complaints are explicit recipient action only. |
| Threshold sensitivity | The 0.1% alert threshold is Gmail’s industry-standard line. At 0.3% Gmail places sends straight to spam folder; at 0.5% the sender domain is effectively delisted from Gmail for weeks. This is by far the strictest threshold on the dashboard. |
| Currency | Not applicable, spam_rate is a percentage. |
| Time window | 30D vsP (default 30D vs the prior 30D) |
| Alert trigger | >0.1% (drives sentiment_key: spam_rate). Audit KL03 fires here. |
| Roles | owner, marketing, engineering |
Calculation
Calculated automatically from your Klaviyo data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.Worked example
A fashion brand with a 220,000-subscriber list runs the following campaigns over the 30-day window 14 Mar 26 to 12 Apr 26:| Campaign | Recipients | Spam complaints | Spam % |
|---|---|---|---|
| Weekly newsletter | 180,000 | 162 | 0.090% |
| Flash sale (50% off, sent twice) | 360,000 | 612 | 0.170% |
| New arrivals announcement | 150,000 | 105 | 0.070% |
| Re-engagement send | 28,000 | 84 | 0.300% |
| Win-back final notice | 18,000 | 90 | 0.500% |
| Account total | 736,000 | 1,053 | 0.143% |
- 0.143% is already over the line. Gmail’s threshold is 0.1%. The merchant is in territory where Gmail will start placing sends into the spam folder for an increasing fraction of Gmail recipients. The damage isn’t visible immediately, it shows up as falling open rates 1-2 weeks later as more sends silently route to spam.
- The flash sale at 0.17% drove most of the volume. A double-send of a heavy-discount campaign generated 612 of the 1,053 complaints. Frequency is the most reliable trigger of spam complaints: the same campaign sent twice within a few days dramatically increases complaints because a meaningful slice of recipients see the second send as harassment regardless of how good the offer is.
- The re-engagement and win-back are catastrophic on a small base. 0.3% and 0.5% respectively are the kind of complaint rates that get sender domains delisted in days, not weeks. Win-back to dormant subscribers is high-risk by definition; doing it through the same sending domain as your healthy promotional sends contaminates everything. Use a separate subdomain.
- The blended figure hides a per-campaign emergency. Looking only at the 0.143% blended account rate, the merchant might think “small over the line, manageable”. Looking at the 0.5% win-back, they should pause the campaign immediately. Always read this card alongside the per-campaign view in Klaviyo’s dashboard.
- At 0.143% there’s a 14-day window before reputation damage shows up in revenue. Gmail’s domain reputation is sticky; one bad month doesn’t kill it instantly. But the corrective action (stop sending to dormant cohorts, audit list source quality, slow cadence) should happen this week, not after open rates drop. By the time opens drop, the merchant has already lost 2-3 weeks of revenue and Gmail recovery takes 30-60 days.
Sibling cards merchants should reference together
Spam rate is the most consequential deliverability metric. Pair it with these:| Card | Why pair it with Spam Rate |
|---|---|
| Klaviyo Bounce Rate | The other half of the deliverability pair. ISPs throttle on EITHER bounce rate above 5% OR spam rate above 0.1%. Watch both. |
| Klaviyo Unsubscribe Rate | A healthy unsub rate (1-2%) ABSORBS dissatisfied recipients before they hit “spam”. A suspiciously low unsub rate next to a rising spam rate means the unsubscribe link is broken or hard to find. |
| Klaviyo Delivery Rate | If spam rate breaches 0.1% but delivery rate is still 98%, you have 1-2 weeks before the consequences show up. Use the lag to act early. |
| Klaviyo Sender-Reputation Risk Alert | Composite alert combining bounce >5% OR spam >0.1%. The single best early-warning signal. |
| Klaviyo Email-Attributed Revenue | Revenue follows reputation with a 2-3 week lag. Spam-rate breaches today predict revenue dips later. |
| Klaviyo Open Rate | The first visible casualty. As Gmail starts spam-foldering sends, opens fall 5-15% before bounce rate or anything else moves. |
| Klaviyo Subscriber Growth Rate | Lists that grow too fast through paid acquisition (giveaways, lead-gen ads) often show elevated spam complaints. New subscribers don’t recognise the brand and report the welcome email as spam. |
| Klaviyo Suppressed Profiles | Klaviyo auto-suppresses spam complainers. The growth in suppressions tracks spam complaints with a 1-2 day lag. |
Reconciling against the vendor’s own dashboard
Where to look in Klaviyo: Klaviyo → Analytics → Deliverability for the headline spam complaint rate over time. Klaviyo’s own dashboard breaks this down per-campaign and per-ISP, this card sums it across all campaigns to a single account-level figure. The figures should match this card to within a few thousandths of a percent (this is a 4-decimal-precision metric). Other Klaviyo views that look like the same number but aren’t:- Campaigns → individual campaign view → “Performance”: per-campaign spam rate only. This card aggregates across all campaigns.
- Account Settings → Sender Reputation: a blended score that mixes spam, bounce, engagement, authentication. Not the same as raw spam rate.
- Reports → Custom Reports: configurable to match this metric. Default reports differ.
- Gmail Postmaster Tools: ISP-side view from Gmail. Should track directionally but not numerically. Gmail uses a different denominator (delivered to Gmail vs total recipients).
| Reason | Direction of divergence |
|---|---|
| Time-zone. Klaviyo runs on the merchant’s account timezone; Vortex IQ runs on UTC by default. Boundary days differ. | ±1 day of complaints at the boundary, usually <0.005% on this metric. |
| Page caps: 50 campaigns per call. Mature accounts running >50 active campaigns see truncated values. | Vortex IQ slightly off for very high-cadence senders. |
| Feedback loop lag. Mailbox providers send spam complaint feedback to Klaviyo with 1-72 hour delay. Yesterday’s number may keep updating for 3 days. | Vortex IQ slightly lower for the most recent few days. |
| Flow complaints. This card pulls campaigns only. Flow spam complaints are tracked separately. For most accounts campaigns generate >90% of complaints anyway. | Vortex IQ slightly different than account-level for flow-heavy accounts. |
| 4-decimal precision rounding. Klaviyo displays 2 decimals in the dashboard; Vortex IQ stores 4. A campaign at 0.1234% shows as 0.12% in the dashboard. | Cosmetic only. |
| Card | Expected relationship | What causes legitimate divergence |
|---|---|---|
| Gmail Postmaster Tools (no connector) | Gmail’s “User-reported spam rate” should track directionally with this. Postmaster shows Gmail-only; this card aggregates all ISPs. | Postmaster has Gmail-only visibility; Klaviyo has all-ISP. Different denominators. |
| Microsoft SNDS (no connector) | Microsoft’s Smart Network Data Services shows spam complaint rate on Outlook/Hotmail traffic. | SNDS uses IP-based reporting, Klaviyo uses domain-based. Different shapes. |
shopify.total_revenue | Spam-rate breaches today predict revenue dips 2-3 weeks later. No direct numerical relationship. | Other channels can compensate or fail in parallel. |
Known limitations / merchant FAQs
My spam rate is 0.15%, what do I do right now? Three actions in the next 24 hours: (a) pause the campaign with the highest individual spam rate (open Klaviyo dashboard, sort campaigns by spam rate descending); (b) suppress everyone who has not opened an email in 90+ days, this is the cohort most likely to mark future sends as spam; (c) cut send frequency for the next 7 days to engaged segments only (opened or clicked in last 30 days). Do not “ride it out”, every additional send at 0.15% deepens the reputation damage with Gmail. Is this the same as Gmail Postmaster Tools’ spam rate? Directionally yes, numerically no. Postmaster Tools shows Gmail-only complaint rate computed against Gmail-delivered messages. This card shows all-ISP complaints against all-recipient sends. If 60% of your list is Gmail, the two figures will be similar; if your list is heavily Outlook or Apple, they’ll diverge significantly. Use Postmaster for Gmail-specific diagnosis, this card for blended account health. What’s the difference between spam complaints and unsubscribes? A spam complaint is the recipient clicking “Report spam” or “Mark as junk”, which signals to the ISP that the sender shouldn’t be allowed in the inbox at all. An unsubscribe is the recipient clicking the unsubscribe link in the footer, which signals to you that they want off the list. Both remove the address from future sends. Spam complaints damage your reputation; unsubscribes don’t. A healthy account has unsub rate 5-20× higher than spam rate (e.g. 1% unsub, 0.05% spam) because the unsubscribe path absorbs dissatisfaction before it reaches the spam button. How long does it take to recover from a spam-rate breach? Depends how high it went and for how long. Brief blips above 0.1% recover in 1-2 weeks of clean sending. Sustained breaches above 0.3% take 30-60 days because Gmail’s domain reputation algorithm lags. Above 0.5% the most reliable recovery is to migrate to a fresh sending subdomain and warm it slowly over 4-6 weeks, leaving the contaminated domain for transactional-only mail. Does this card include flow spam complaints? No, this card aggregatescampaign-values-reports only. Flow spam complaints are tracked separately in flow-values-reports and aren’t pulled here. For most merchants, campaigns generate >90% of total complaints anyway, so the campaign-only figure is a reliable proxy. If your account is flow-heavy (high welcome flow volume, high abandoned-cart volume to a non-engaged audience), the true account-wide rate may be slightly higher.
Why did my spam rate spike on a campaign that performed well otherwise?
The most common cause is “unsubscribe friction”. If the unsubscribe link is buried, broken, or requires login, recipients hit “Report spam” instead because it’s faster and removes them from the list immediately. Audit the email template: the unsubscribe link should be visible above the fold of the footer, in plain text, and one click should remove the recipient (no “are you sure” page). The second most common cause is unrecognised sender, recipients who don’t remember signing up report unfamiliar mail as spam. Add a clear “You’re receiving this because you signed up at yourstore.com” line above the footer.
Does sending from a custom subdomain help?
Yes, materially. With a custom subdomain (mail.yourstore.com) reputation damage is contained. With shared Klaviyo infrastructure, your spam rate affects only your share of the shared IP pool, which Klaviyo manages defensively. Custom subdomains let you separate marketing sends (higher complaint risk) from transactional sends (low complaint risk) so a marketing-side reputation hit doesn’t disrupt order confirmations. Recommended above 100,000 sends per month or any time your spam rate has been above 0.1% in the last 90 days.
My re-engagement campaign caused the spam spike, should I stop running them?
No, but isolate them. Re-engagement to dormant subscribers is high-risk by definition; the recipients haven’t engaged in 90+ days and a meaningful fraction will report unfamiliar mail as spam. Best practice: send re-engagement from a dedicated subdomain (e.g. reengagement.yourstore.com) that’s separate from your healthy marketing sends, send to small batches (5,000 at a time) over a week, and suppress non-openers aggressively after the campaign. The numbers from the worked example above (0.5% on win-back) are typical and acceptable on an isolated subdomain; they’re catastrophic on the main domain.
Why does this matter so much more than open rate or click rate?
Spam rate is the only metric on the dashboard that directly damages future sends to recipients you haven’t sent to yet. Low open rate means recipients ignored you; spam rate means recipients told the ISP to stop you reaching others. Above 0.1% the consequences extend to your full list, not just the campaign that caused the spike.