Gmail Summary Cards and Email Markup

Gmail sometimes displays a compact summary of an email — a summary card — either above the message body or directly in the inbox. Common examples include order and package-tracking cards, flight and hotel reservation cards, and promotional Deal cards.

These cards can be generated through two different mechanisms. It is important to distinguish between them because senders can control only one.

Two Different Mechanisms

Summary Cards

1. Sender-Added Email Markup

You can add structured data to an email so Gmail can recognize it and display a card or an action button, such as Track package or View reservation.

The markup uses the Schema.org vocabulary in JSON-LD format. Google describes the supported types in its Gmail Markup / Actions in Gmail documentation.

Like AMP for Email, this is a sender-configured feature. You add the markup to the email yourself, and interactive Go-to action buttons also require you to register your sending domain with Google.

Informational markup that creates a card without an action button does not require registration. However, Gmail requirements and behavior may change, so check the current Google documentation before relying on a particular type of markup.

Gmail markup is not limited to orders and travel reservations. It can also be used for promotional content. For deals and discounts, you do not need to add JSON-LD manually: Yespo provides a built-in Gmail Promotions annotation feature that you configure directly in the email editor.

The manual JSON-LD approach described below is needed only for Schema.org types that the editor does not support, such as orders, parcel deliveries, and reservations.

🚧

Important

Gmail processes markup only in messages that pass SPF and DKIM authentication. Whether a card is displayed may also depend on sender reputation.

Before using markup, make sure your sending domain is authenticated. Even correctly added markup may not appear when the domain is not authenticated.

2. Gmail's Automatic Annotations

Gmail can also generate a summary card automatically by analyzing the content of an email. No structured data from the sender is required.

This is why a Deal card may appear in a campaign even when you have not added any markup.

🚧

Important

This mechanism is controlled entirely by Google. Yespo does not add or manage automatic Gmail annotations, so they cannot be enabled or disabled in the template settings or by the Yespo support team.

To determine where a card came from, first check whether the Email Annotations for Gmail toggle is enabled in the message settings. If it is enabled, the card is based on an annotation configured by the sender.

If the toggle is disabled but a Deal card still appears, the card was generated through Gmail's automatic content analysis. It is not caused by a Yespo delivery or template issue.

Similarly, if a configured card does not appear, this does not necessarily indicate an error. Gmail ultimately decides whether to display it.

Adding Markup to a Yespo Email

Yespo provides a dedicated no-code interface only for Gmail Promotions annotations. For other Schema.org types, add the markup as HTML code, in the same way as any other custom code block.

  1. Go to Messages → Messages → Email and open an existing email or create a new one.
  2. In the code editor, add a <script type="application/ld+json"> block containing your markup.

The block is not displayed as visible content in the email. Gmail reads it on the server while processing the message.

📘

Note

Yespo preserves the <script type="application/ld+json"> block when the message is saved.

Whether Gmail displays a card depends on the validity of the markup, domain authentication, and other Google requirements. Markup with an action button also requires sender registration with Google.

Example markup for an order confirmation:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Order",
  "merchant": "Your Store",
  "orderNumber": "1234567",
  "priceCurrency": "USD",
  "price": "49.99",
  "acceptedOffer": {
    "@type": "Offer",
    "itemOffered": {
      "@type": "Product",
      "name": "Your Product Name"
    }
  },
  "url": "https://example.com/orders/1234567"
}
</script>

You can personalize markup values with Velocity, just as you would in other parts of the template. For example, you can insert an order number or price from event parameters.

Testing and Registration

Testing and Registration
  1. Validate the JSON-LD syntax before sending the email. You can use a general Schema.org validator, such as Schema Markup Validator. Gmail will not recognize an invalid block, but the email itself may not display an error.
  2. Send a test email to your own Gmail account and check whether the card appears. Because Yespo sends the markup without modifying it, this test helps you verify how Gmail processes messages from your domain.
🚧

Important

A test email may not display a visible card even when the markup is configured correctly.

Informational markup without an action button may affect only Gmail's internal categorization. For example, the message may appear under Purchases without any visible changes in the inbox.

A single test message from a low-volume or unregistered sender may also be displayed differently from messages sent by established senders. Therefore, the absence of a visible card does not necessarily mean that the markup failed.

To verify authentication, open Show original in Gmail and make sure that SPF and DKIM have the PASS status. If both checks pass, domain authentication is not the reason the card is missing.

  1. For markup that adds a clickable action rather than only an informational card, register the sender with Google. You must submit the application yourself because Yespo does not apply for or manage the registration on your behalf.

    The process is similar to AMP sender registration: send a real email containing the markup from your production domain to Google's review address, complete the registration form, and wait for approval.

  2. Refer to Google's Gmail Markup documentation for the current list of supported types, requirements, and testing recommendations. Google may change these conditions independently of Yespo.

Related



Did this page help you?