How to Test Whether Your Cold Emails Reach the Primary Inbox

The Sendvanta Team · September 18, 2026 · 9 min read

Your campaign shows a 48% open rate. Your reply rate is 0.4%. Something is wrong, but the dashboard won't tell you what. Open tracking can't distinguish a prospect reading your email in their Primary tab from a security scanner fetching a pixel out of a quarantine folder. The only way to know where your mail actually lands is to send it somewhere you can look.

That's an inbox placement test: you send your real campaign email to a set of mailboxes you control across the providers your prospects use, then you open each one and write down which folder it landed in. It sounds crude because it is crude. It's also the single most useful deliverability diagnostic you can run, and most teams never do it.

This post walks through the manual version first — because you should understand what the test actually measures before you automate it — and then the automated version.

What an inbox placement test measures (and what it doesn't)

Delivery and placement are different outcomes. A message that gets accepted by the receiving server and dropped straight into Junk counts as "delivered" in almost every sending tool on the market. Your bounce rate stays at 1%. Your pipeline stays at zero. If that distinction isn't crisp yet, start with deliverability vs. inbox placement.

A seed test tells you, for one message, from one mailbox, at one moment in time:

  • Which folder the message landed in — Primary, Promotions, Updates, Junk/Spam, or nowhere at all
  • Whether SPF, DKIM, and DMARC passed at the receiving end, not just in your DNS checker
  • Provider-specific spam scores in the headers (Microsoft's SCL and BCL, SpamAssassin's X-Spam-Score on many corporate servers)
  • How long delivery took — multi-minute delays usually mean greylisting or reputation throttling
  • Whether links were rewritten, images blocked, or the message clipped

What it does not tell you: how a real prospect with real engagement history will be treated. Gmail personalizes filtering per recipient. A brand-new seed account with no contacts and no sent mail is not a purchasing manager who has emailed twenty vendors this quarter. Treat seed results as directional, not as a guarantee. A test that comes back 100% Primary means your fundamentals are clean; it does not mean your campaign will perform.

Building a seed list that reflects your actual prospects

The most common mistake is testing against five Gmail accounts when 65% of your list is on Microsoft 365. Placement problems are provider-specific — Microsoft filters on IP and domain reputation far more aggressively than Google, while Google routes heavily on content and engagement signals.

Export your lead list, split the MX records by provider, and build your seed set in roughly the same proportions. A workable set for a B2B list:

  • 3–4 Google Workspace accounts on separate custom domains (not consumer @gmail.com — your prospects aren't either)
  • 3–4 Microsoft 365 tenants, ideally with different security posture (one default, one with Defender for Office 365 enabled)
  • 1–2 consumer Gmail and Outlook.com accounts for comparison
  • 1–2 mailboxes on other stacks your list contains — Zoho, Proton, iCloud, or a self-hosted server running SpamAssassin
  • Regional providers if you sell outside North America and Western Europe

Ten to sixteen seeds is enough. Twenty-five isn't meaningfully better, and every extra seed is another mailbox you have to maintain.

Then make the seeds look lived-in. Send and receive normal mail from them, add contacts, read messages, keep them out of a permanent blank state for at least a couple of weeks before you rely on them. A dormant mailbox that receives nothing but test campaigns learns exactly one pattern.

Running the test manually

The rule is simple: change nothing about how the email is sent except the recipient.

  • Send from the actual mailbox you'll use for the campaign, not your main company address. Placement is per-mailbox, not per-domain — two mailboxes on the same domain can land differently.
  • Use the actual sending tool and actual sending settings, including link tracking, custom tracking domain, and signature.
  • Use real copy with real personalization filled in. "Test test test" scores completely differently from a 120-word pitch with two links and a calendar mention.
  • Send at the same time of day as your campaign, through the same schedule.
  • Stagger the sends. Blasting sixteen identical copies in ninety seconds from one mailbox is itself a bulk-mail signal and will skew results toward spam. Space them by a few minutes and let each one carry its own personalization tokens.

Then check each mailbox by hand within an hour and record: provider, folder, delivery time, and the authentication results line from the raw headers. In Gmail, open the message, choose Show original, and read the SPF/DKIM/DMARC block. In Outlook, view message source and look for X-Forefront-Antispam-Report with the SCL and BCL values — SCL 5 or higher means the filter flagged it.

Put this in a spreadsheet, one row per seed per test. You are not looking for a single number; you are looking for patterns across tests. The first test is only a baseline.

Reading the results

What you seeMost likely causeFirst thing to fix
Junk on Microsoft only, Primary on GoogleDomain or IP reputation with Microsoft, often from sending too fast on a new domainCut volume per mailbox, extend warm-up, check Microsoft SNDS
Promotions tab on Gmail, Primary elsewhereContent signals: images, multiple links, marketing phrasing, HTML-heavy templateStrip to plain text, one link, conversational copy
Spam across every providerAuthentication failure, blacklisted domain, or a hard-flagged phrase/linkVerify SPF, DKIM alignment, and DMARC; check the domain on Spamhaus
Primary everywhere, still no repliesPlacement is fine — targeting or copy is the problemStop tuning deliverability; rewrite the offer
Inconsistent between two mailboxes on one domainPer-mailbox reputation or an under-warmed accountPause and re-warm the weak mailbox, don't blame the domain
Delivered 20+ minutes lateGreylisting or throttling from reputation pressureReduce daily send volume, check for recent spam complaints

One threshold worth holding yourself to: if fewer than 80% of seeds land in Primary, don't launch. Fix first. If Gmail specifically is pushing you to Promotions, that's its own set of causes and fixes — covered in why cold emails land in Gmail Promotions.

Pair it with signals seeds can't give you

A seed test is a snapshot. Live campaign data is the film. Cross-reference:

  • Reply rate segmented by recipient provider. If Microsoft prospects reply at a third of the rate of Google ones, you have a Microsoft placement problem regardless of what your seeds said.
  • Bounce and deferral codes. "554 5.7.1 message rejected due to content" and "451 4.7.500 server busy" are two completely different stories.
  • Google Postmaster Tools domain reputation, if you have enough Gmail volume for it to populate.
  • Verified engagement rather than raw opens — scanner clicks will make a spam-foldered campaign look healthy. More on that in cold email open rates are lying to you.

When to test

Testing once, at setup, is how teams get blindsided six weeks later. A realistic cadence:

  • Before the first send from any new domain or mailbox, after warm-up completes
  • Whenever you materially change the email body, the offer, or the tracking domain
  • Weekly while scaling volume — placement degrades gradually, not in one step
  • Immediately after any reply-rate drop of more than 30% week over week
  • After a domain or IP shows up on a blocklist, and again 72 hours after delisting

Automating it

The manual version works. It also takes 30–45 minutes per test, requires you to maintain a dozen mailboxes, and nobody does it weekly for long.

Sendvanta runs seed-mailbox inbox-placement tests inside the platform: pick a draft and a sending mailbox, and the test goes out to a maintained seed set across Google, Microsoft, and other providers, then reports folder placement, authentication results, and delivery timing per seed. Drafts also get scored through SpamAssassin before they go anywhere, so content problems surface before you spend a placement test on them. Underneath that, mailbox, domain, DKIM, and IP health are scored continuously, and sending slows or pauses automatically when risk thresholds are crossed — which is the part that catches the slow degradation a weekly test would miss.

You connect your own Gmail, Microsoft 365, or SMTP mailboxes on every plan, including the free one ($0 forever, 1,000 active leads, 3,000 emails/month, up to 10 of your own SMTP mailboxes). Paid plans start at $29/mo. There's more detail on the deliverability tooling at /features.

Whichever way you run it, run it. The teams that think their cold email is working and the teams whose cold email is actually working are not the same group, and a fifteen-minute placement test is how you find out which one you're in.

How many seed mailboxes do I need for a reliable inbox placement test?

Ten to sixteen is enough for most B2B lists, weighted to match the provider mix of your actual leads. More seeds add maintenance work without much extra signal — the limiting factor is that seeds don't behave like real recipients, not the sample size.

Can I just send to my own Gmail account to check placement?

No. Gmail personalizes filtering per recipient, and a mailbox you've emailed before is biased toward Primary. It also tells you nothing about Microsoft 365, which is where most B2B placement problems occur.

Does a 100% Primary seed test guarantee good deliverability?

It guarantees your authentication, content, and current reputation are clean enough for a fresh recipient. It does not predict how real prospects with engagement history will be filtered, and it says nothing about placement a week later at higher volume.

Should I test every mailbox separately if I'm rotating mailboxes?

Yes. Placement is largely per-mailbox. Two accounts on the same domain, warmed differently or sending at different volumes, routinely land in different folders. Test each one before it joins rotation and spot-check the weakest performers weekly.

What spam score should a draft hit before I run a placement test?

Under 3.0 on SpamAssassin is a reasonable floor; under 2.0 is comfortable. Fix content scoring first — a placement test on a draft with an obvious content problem just tells you what the spam scorer already knew.

Methodology: written 15 February 2026, based on manual seed-testing procedures across Google Workspace, Microsoft 365, and self-hosted SpamAssassin receivers, and on header-level results (SPF/DKIM/DMARC, SCL/BCL) rather than open-tracking data.

Ready to send outbound that lands?

Create your free Sendvanta workspace — no credit card required.

Start free