Outbound: Mailshake7 min read

Mailshake: Test Deliverability Before Your Campaign Goes Live

Mailshake ships campaigns fast. Seed addresses in the test-list let you verify placement before the real recipients ever see the subject line.

Mailshake is designed for speed. The product philosophy is clear: draft a campaign in the editor, pick a mailbox, drop in a CSV, schedule it, and go. That speed is also the risk. A campaign that goes out to 2,000 prospects at 8 AM Monday with a slightly off subject line can burn your sending domain's reputation for a month before anyone has run the first-response metrics. The fix is a 10-minute seed check before the campaign goes live.

This article walks through the pre-launch seed workflow specifically for Mailshake: where to put the seed addresses, how to read the result, and the sanity-check pattern that catches the most common mistakes.

Mailshake's draft → send flow

Mailshake campaigns have three moving parts:

  • Sender mailboxes. Connected Google Workspace, Microsoft 365, or SMTP accounts. Mailshake rotates across them if you connect more than one.
  • Recipients. Imported from CSV, the built-in list, or a CRM sync.
  • Sequence. One initial message and optional follow-ups, each with its own delay and its own copy.

The campaign composer shows a preview, but the preview only renders your template — it doesn't tell you anything about placement. You can have a clean template with broken SPF alignment and it will still preview fine. Send → spam.

The seed-before-live workflow

The cleanest way to use Mailshake for deliverability verification is to run every new campaign through a seed pass first. The seed pass is a duplicate of the real campaign with a tiny recipient list made of seed mailboxes, sent from the same mailbox with the same template and the same schedule window.

  1. Duplicate the real campaign. In Mailshake, open your drafted campaign, click the three-dot menu, pick Duplicate. Rename the copy seed-test · [campaign name].
  2. Replace recipients with seeds. In the duplicate, clear the recipients list. Generate 20+ seed addresses from Inbox Check and paste them in as CSV. Use realistic first/last name values so your personalization tokens render correctly.
  3. Keep the sending mailbox identical. This is critical. The seed run has to send from the same mailbox or rotation set as the real campaign. Switching mailboxes invalidates the test.
  4. Keep the schedule identical. Send in the same time window as the real campaign. A test sent at 2 AM doesn't represent how Gmail will score a real send at 9 AM.
  5. Send the seed campaign. Only step 1 first — don't pre-schedule the follow-ups.
  6. Check seed mailboxes within 30 minutes. Record inbox / Promotions / spam / missing per provider.
  7. Decide: launch, fix, or retry. Inbox placement ≥ 90% across Gmail and Outlook → launch the real campaign. Below that → fix and retry.
Get 20+ seed addresses free

The free Inbox Check tool generates 20+ fresh seed addresses per test across Gmail, Outlook, Yahoo, Mail.ru, Yandex, ProtonMail and more. No signup, no credit card.

→ Run a free test now

The sanity-check pattern

Most campaigns that fail a seed test fail for one of six reasons. Run through this list before you fix anything else:

  1. SPF/DKIM/DMARC alignment. Look at the raw message headers of the seed that landed. Authentication-Results should show spf=pass, dkim=pass, dmarc=pass with alignment. If one is missing or failing, fix DNS and retest. This is the single most common cause of Mailshake campaigns landing in spam.
  2. From-name / from-address mismatch. Mailshake lets you set a display name that is different from the authenticated address. Some filters weight this as phishing signal if the names look inconsistent with the domain.
  3. Subject line. ALL CAPS, excessive punctuation, spammy phrases, emoji. Rewrite. If you're testing "Quick question" vs "Quick question about [company]", seed both.
  4. Link density. More than two links in a cold email is aggressive. The tracking pixel plus a CTA link plus a footer link plus an unsubscribe link adds up. Collapse to one CTA plus unsubscribe.
  5. Image-to-text ratio. If you have a signature image, make sure there's meaningful text around it. Cold emails that are mostly image are filtered hard by Outlook.
  6. Domain age and warm-up. A brand new sending domain will fail seed tests no matter how clean the copy is. Mailshake has a built-in warm-up (SHD Email Warmer). Use it for 3–4 weeks before scaling.

Reading the seed result

Build a small grid per test:

Provider      Folder       Notes
Gmail #1      Inbox        auth ok, SPF aligned
Gmail #2      Promotions   subject feels promotional
Gmail #3      Inbox
Outlook #1    Inbox
Outlook #2    Junk         SCL 5, check sender rep
Yahoo         Inbox
Yandex        Inbox
Mail.ru       Inbox
ProtonMail    Inbox
...

Aggregate: inbox rate, Promotions rate, spam rate. Your go/no-go line is inbox ≥ 90% on Gmail + Outlook specifically (the two providers where your prospects actually live). If Yahoo is bad but Gmail is clean, you can ship — note it and investigate later.

When Promotions is the problem, not spam

Gmail's Promotions tab is not a deliverability failure, but it is a cold-email failure. Prospects do not read Promotions. If seeds show Promotions rather than Inbox, tighten the copy until it looks more like a one-to-one business note: no images, no emojis, no marketing-style CTAs, short subject line without a number in it, no unsubscribe footer if you can avoid it (legally you may need to keep one).

Don't test the happy path only

If you have A/B subject lines, seed both. They can behave very differently at filter level, and you need the data before you commit the send to 2,000 prospects.

Post-launch: monitor without seeding every day

Seed every new campaign before launch. Don't seed every day for the lifetime of a running campaign — that's overkill. Instead, run a weekly baseline seed test from the same Mailshake mailbox sending a consistent control message. That baseline tells you when your mailbox reputation is drifting, independent of any specific campaign's copy.

Combine the per-launch seed test with the weekly baseline and you have two-dimensional data: is the copy good (per-launch), and is the mailbox healthy (weekly baseline)? Most Mailshake users only track the first dimension, which is why they get surprised by sudden placement collapses.

FAQ

How long should I wait after sending seeds before checking placement?

15–30 minutes. Gmail and Outlook finish their initial classification within 10 minutes. Some providers (Yahoo, Mail.ru) can take a bit longer.

Do I need to warm up the mailbox before the seed test?

Yes. A cold mailbox will fail seed tests for reasons that have nothing to do with your campaign. Run SHD warmer (or another warm-up) for 3–4 weeks first.

Can I skip seed testing if the campaign is small, under 100 prospects?

You can, but the downside of seed testing a 100-prospect campaign is 10 minutes of work. The downside of not seed testing and burning a sending domain is a month of recovery. Seed it.

My seed test passes 100% but real campaigns get low reply rates. What's wrong?

Reply rate is not placement. Placement is about landing in the inbox; reply rate is about copy, timing, and offer. Seed testing validates that your message arrived — it doesn't validate that the message is good.
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