Notix
Learn

Transactional emails going to spam: seven causes, in the order to check them.

A receipt or a password reset landing in spam is rarely a mystery once you know where to look. The causes below are ordered from the one most likely to be wrong to the one most likely to be slow, and each names the place in Notix where it shows up and the change that fixes it.

The seven causes.

Check them top to bottom. The first five are settings and can be fixed today; the last two are reputation and are fixed by sending better mail for long enough that the provider’s record changes.

CauseWhy it sends you to spamWhere you see it in NotixWhat to change
1. No authentication, or DMARC that does not alignWithout SPF and DKIM the receiver cannot tell your mail from a forgery, and Gmail and Yahoo now require both from every sender. A DMARC record whose policy the message fails is worse than none.The domain page: each record has its own status and the domain is rechecked every six hours until every record resolves. The pre-send check blocks with domain_unverified when the from-domain is not verified.Publish the DKIM and SPF records the domain page shows, add the suggested DMARC record at p=none, and send only from verified domains.
2. A new domain with no historyReputation is per domain. A domain that sent nothing last month is judged on authentication, content and the shared IPs it borrows, and a sudden burst from it looks like an attacker's.The reputation card on the overview is empty or near zero for a new domain; bounces and complaints on the first sends move it fast.Warm the domain: start with recipients who will open, grow volume over two weeks, keep transactional mail flowing throughout.
3. Marketing and transactional mail from one domainA campaign that draws complaints drags every password reset from the same domain down with it, because the provider scores the domain, not the message kind.Complaints on the reputation card after a campaign, then bounces or spam placement on transactional mail from the same domain.Verify a subdomain for marketing and keep receipts, codes and resets on another. Each verified domain gets its own DKIM key and its own history.
4. Content and link signalsLinks to a raw IP address, shortened links, a message that is one large image, spam-filter symbols in the subject, or a marketing message with no unsubscribe link are the signals filters weigh first.The pre-send deliverability check: a raw-IP link and a missing unsubscribe link on marketing content block; a spam score of 10 or more blocks; the rest are warnings with a fix each.Run the check on every template, fix the blocks, and treat the warnings as a review list before the send.
5. A from-address on a free mailbox domainMail claiming to be from gmail.com or yahoo.com that did not come from those providers fails their DMARC policy outright. It is the fastest route to the spam folder there is.The from-domain cannot be verified in Notix, so the send is refused before it leaves.Send from a domain you own and have verified. A subdomain such as mail.yourcompany.com is enough.
6. A complaint rate above Google's linesGoogle's guidelines say to keep the spam rate below 0.10% and never to reach 0.30%. Between the two you are being watched; at three complaints in a thousand Gmail starts filtering, and it takes weeks of clean sending to recover.The complaint rate on the reputation card, drawn against the limit, with a warning at 70% of it. Complained addresses appear on the suppression list with the reason COMPLAINT.Send less, to people who asked, with an unsubscribe that is easier to find than the spam button. One-click unsubscribe headers go on every marketing and journey send for you.
7. Mailing addresses that already bouncedA high hard-bounce rate tells the provider the list was bought, scraped or never verified. Each repeat bounce costs more than the first.The suppression list: every hard bounce is added with the reason and the message that caused it, and a later send to it is recorded as SUPPRESSED rather than attempted.Keep the list. Verify an imported list before the first send, and import your previous provider's suppressions so an old address is never tried again.

The records behind cause 1 are on SPF, DKIM and DMARC. The thresholds behind cause 6, and what reputation is made of, are on email deliverability. The headers behind the unsubscribe half of cause 4 are on the List-Unsubscribe header.

Start from the symptom.

The pattern of where mail lands narrows the cause faster than checking everything.

SymptomStart with
Everything goes to spam, every providerCause 1 or 5. Check the domain page first; if the from-domain is not verified or is a free mailbox domain, nothing else matters yet.
Spam at Gmail only, fine elsewhereCause 6, then 2. Open Postmaster Tools for the domain and read the spam rate and reputation panels for the last 30 days.
Started after a campaign or an importCause 3 and 7. Look at complaints and bounces on the reputation card for that week, and at what the suppression list added.
One template goes to spam, the others do notCause 4. Run the pre-send check on that template and compare its findings with a template that lands.
Auth emails from Supabase or Firebase go to spamCause 1 and 5: the default sender is on the platform's own domain with your name on it. Point the platform's SMTP settings at Notix and a domain you verified.

For auth mail from a platform, the settings are on the Supabase integration and its Firebase counterpart. For anything else, the pre-send check returns the findings with a fix each, and is the quickest first move when one template is the problem.

What Notix already does about each.

  • Authentication. Verifying a domain generates its DKIM key and SPF record and rechecks them every six hours until they resolve; a send from an unverified domain is refused.
  • Content. Campaigns and journeys cannot go out past a blocking finding of the deliverability check; the same check is an API call for transactional templates.
  • Complaints and bounces. Both put the address on the suppression list on receipt, with the reason, and a later send to it is recorded as suppressed rather than sent. One list covers transactional and marketing mail.
  • Unsubscribe. Every campaign and journey send carries the one-click List-Unsubscribe headers; an unsubscribed contact is refused at send time for marketing mail while receipts and codes still go out.

What stays yours is who you send to, how often, from which domain, and what the message says. That is also where most spam placement is decided.

FAQ

Questions, answered.

Why are my transactional emails going to spam?
Usually one of seven things, and they are worth checking in order: the domain is not authenticated or its DMARC fails; the domain is new and has no reputation; marketing and transactional mail share a domain and a campaign drew complaints; the content carries a signal filters dislike, such as a raw-IP link or a missing unsubscribe on marketing mail; the from-address is on a free mailbox domain; the complaint rate is above Google's 0.10% line; or the list contains addresses that already bounced. Each shows up in a specific place in Notix, which is what the table on this page is for.
How do I stop my transactional emails going to spam?
Verify the sending domain so SPF and DKIM pass and publish a DMARC record; send transactional mail from its own subdomain so a marketing campaign cannot pull it down; run every template through the pre-send deliverability check and fix the blocking findings; keep the complaint rate below 0.10% by sending only wanted mail with a working unsubscribe; and never mail an address that bounced, which the suppression list handles for you. If it is still going to spam after that, the domain's reputation needs time, and the fix is steady wanted mail rather than another setting.
Does Notix check my email before it sends?
Campaigns and journey activations run through the deliverability check automatically and are refused on a blocking finding: an unverified from-domain, a raw-IP link, marketing content with no unsubscribe link, or a spam score of 10 or more. You can call the same check on a transactional template from the API and read the findings, each with a fix.
Will a new domain always go to spam at first?
Not always, but a new domain with no history is judged on less evidence, so a large first send from it is the riskiest thing you can do. Send a modest volume to engaged recipients first, keep transactional mail running because it is wanted mail that builds the record, and grow over two weeks. Notix does not automate that ramp.
Is a spam complaint the same as an unsubscribe?
No, and the difference is the whole game. An unsubscribe is a preference you honour and nobody scores you for; a complaint is the recipient telling their mailbox provider your mail is unwanted, and it counts against the domain. Notix adds a complained address to the suppression list with the reason COMPLAINT so it is never mailed again, but the complaint has already been counted. Make the unsubscribe easier to find than the spam button.
My Supabase or Firebase auth emails land in spam. Why?
Both platforms send their built-in auth mail from their own domain with low limits and no reputation attached to your name. Put your Notix SMTP credentials into the platform's custom SMTP settings and send from a domain you verified in Notix; the messages then authenticate as yours and inherit your domain's history. The integration pages walk through the settings for each.

Run the pre-send check on the template that is landing in spam.

Verdict, score and findings with a fix each, from the API or the console.