What is schema.org EmailMessage markup?

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

Schema.org EmailMessage markup is structured data you add to your HTML email so mail clients can understand what the message is about at a machine level, not just display it.

The most common use case is Gmail Actions. If you add the right schema markup to a booking confirmation, Gmail can display a "Check in" button right in the inbox, without the subscriber having to open the email. Same idea for RSVP confirmations, order tracking, flight details, and other transactional messages that have a clear action.

Schema markup lives inside a <script type="application/ld+json"> block in your email's <head>. It follows the vocabulary defined at Schema.org, specifically the EmailMessage type and its subtypes. Google has its own extensions on top of that for Gmail-specific actions.

To get Gmail Actions working, you need to submit your domain to Google for approval. Not every sender qualifies. You'll also need to match the schema exactly. A typo in the markup means the action simply won't show, with no error surfaced to the reader.

Worth knowing: the Promotions tab annotations in Gmail (things like offer code callouts and expiry dates) are a related but separate feature. They use schema markup too, but through Gmail's specific Promotions annotations format rather than EmailMessage.

If you're building transactional email and want to add action buttons, start with Google's Email Markup documentation and test carefully before rolling out to your full list. Our Email Header Analyzer can help verify your email is rendering and delivering as expected.

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

Help me implement EmailMessage schema

I read about schema.org EmailMessage markup. Help me understand how to use this: - ESP: e.g. SendGrid, Postmark, custom SMTP - Type of emails: transactional / marketing - What I want to show: action buttons? order tracking? RSVP? - Gmail user % of my list: if known - Have I applied for Gmail Actions approval? yes / no / unsure

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