Deliverability Best Practices
Maximize inbox placement with actionable guidance
Follow these practices to maximize inbox placement and avoid spam folders.
1. Domain Authentication (SPF + DKIM + DMARC)
Checklist:
- ✅ Add the three DKIM CNAME records from your domain's
records(required to send) - ✅ Add SPF record:
v=spf1 include:amazonses.com ~all. If the domain already has one, addinclude:amazonses.comto it instead (e.g.v=spf1 include:amazonses.com include:_spf.mx.cloudflare.net ~all): a domain must have exactly onev=spf1record, and two break SPF for every sender - ✅ Add DMARC policy:
v=DMARC1; p=quarantine; rua=mailto:[email protected]
See Domains for setup.
2. From Address Consistency
Use the same "From" email across sends. Changing senders confuses filters.
✅ [email protected] (always)
❌ [email protected], then [email protected]
3. Honor Bounce & Complaint Events
Automatically unsubscribe contacts who:
- Hard-bounce (invalid address)
- Complain (mark as spam)
Tratto auto-updates status to bounced or complained. Use webhooks to sync to your database.
app.post('/webhooks/tratto', (req, res) => {
const event = req.body;
if (event.type === 'bounced' || event.type === 'complained') {
// Update your database: mark contact as unsubscribed
db.contacts.update(event.contactId, { status: 'unsubscribed' });
}
res.json({ ok: true });
});4. List Hygiene
Remove inactive/bounced addresses regularly:
curl "https://api.tratto.email/v1/contacts?status=bounced" \
-H "Authorization: Bearer tratto_live_..."Sending to invalid addresses = spam complaints = sender reputation damage.
5. Sending Frequency Recommendations
- Transactional: Send immediately (password reset, order confirmation)
- Marketing: 1-2x per week (too frequent = unsubscribes)
- Newsletters: Weekly or monthly (consistency matters)
High frequency without engagement = spam folder.
6. Content Best Practices
Avoid spam triggers:
- ❌ ALL CAPS subjects
- ❌ Excessive exclamation marks: "Buy NOW!!!"
- ❌ High image-to-text ratio (100% images = spam)
- ❌ Hidden text (white text on white background)
Do:
- ✅ Clear, honest subject lines
- ✅ Balance images with text
- ✅ One-click unsubscribe link
- ✅ Real postal address (CAN-SPAM requirement)
7. Monitor Bounce & Complaint Rates
Check analytics weekly:
curl "https://api.tratto.email/v1/analytics/summary?period=7d" \
-H "Authorization: Bearer tratto_live_..."- Bounce rate: < 2% acceptable
- Complaint rate: < 0.1% acceptable
High rates damage sender reputation. Take action immediately.
8. Ramping Volume
Tratto sends over a shared pool; there are no dedicated IPs. Increase new volume in steps anyway — see Ramping Up Sending Volume.
Deliverability Checklist
- Domain authenticated (SPF + DKIM + DMARC)
- Consistent "From" address
- Bounce/complaint events honored
- List cleaned of bounced addresses
- Sending frequency appropriate
- Content avoids spam triggers
- Bounce & complaint rates monitored
- New volume ramped in steps, not in one jump
See Ramping Up Sending Volume for how to increase volume safely.
Edit this page on GitHub
Last updated on