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.
- Duplicate the real campaign. In Mailshake, open your drafted campaign, click the three-dot menu, pick Duplicate. Rename the copy
seed-test · [campaign name]. - 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.
- 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.
- 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.
- Send the seed campaign. Only step 1 first — don't pre-schedule the follow-ups.
- Check seed mailboxes within 30 minutes. Record inbox / Promotions / spam / missing per provider.
- Decide: launch, fix, or retry. Inbox placement ≥ 90% across Gmail and Outlook → launch the real campaign. Below that → fix and retry.
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.
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:
- SPF/DKIM/DMARC alignment. Look at the raw message headers of the seed that landed. Authentication-Results should show
spf=pass,dkim=pass,dmarc=passwith alignment. If one is missing or failing, fix DNS and retest. This is the single most common cause of Mailshake campaigns landing in spam. - 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.
- Subject line. ALL CAPS, excessive punctuation, spammy phrases, emoji. Rewrite. If you're testing "Quick question" vs "Quick question about [company]", seed both.
- 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.
- 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.
- 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).
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.