What is the difference between a message-ID and a thread-ID?

Still have a question, spotted an error, or have a better explanation or a source we should cite?

A Message-ID is a unique identifier for a single email. Every email that leaves a mail server gets its own Message-ID, generated automatically. It looks like this: <20231215143022.abc123@example.com>. The receiving server uses it to prevent duplicate delivery (if the same email arrives twice, the Message-ID tells the server to ignore the second copy).

A Thread-ID (technically called In-Reply-To and References headers) links related emails together into a conversation thread. When you reply to an email, your mail client copies the original email's Message-ID into the reply's In-Reply-To header. That's how Gmail, Outlook, and Apple Mail know which emails belong in the same conversation view.

Here's the practical difference: Message-ID is for the servers (prevents duplicates, tracks delivery). Thread-ID headers are for the humans (groups emails into conversations in your inbox).

As an email sender, you don't need to do anything about Message-IDs. Your ESP or mail server generates them automatically. Thread-IDs only matter if you're sending reply-chain emails (customer support threads, Gmail's "On [date], you wrote..." style). Most marketing email doesn't use threading because each campaign is standalone.

One edge case worth knowing: some ESPs reuse Message-IDs across sends (bad practice, causes delivery issues). If you're seeing duplicate suppression problems or missing emails, that's worth checking. But honestly, if you're not running a custom mail server or building a support ticket system, you'll never need to think about these headers.

Contributors

Who worked on this answer

Every name links to their profile. Every company links to their site. Real people, real accountability.

Ask an AI · tailored to your setup

Get personalized guidance on email headers

I read this on the Email Almanac about Message-ID and Thread-ID: "Message-ID is a unique identifier for each email. Thread-ID headers (In-Reply-To, References) link emails into conversation threads. Servers use Message-ID to prevent duplicates. Inboxes use Thread-ID to group conversations." Help me understand how this applies to MY specific situation: 1. Should I be generating custom Message-IDs or Thread-IDs for my campaigns? 2. How do I check if my ESP is handling these correctly? 3. Could threading issues be causing delivery problems or inbox display issues? 4. Are there any threading best practices for transactional or support emails? --- My details (the more you share, the better the advice): - Email platform/ESP: e.g. Mailchimp, Postmark, custom SMTP - Email type: marketing campaigns, transactional, support/reply chains - Current challenge: describe what prompted this question - Sending volume: e.g. 5,000/month - Experience level: beginner / intermediate / advanced

Edit the yellow boxes, then send to the AI of your choice.