> ## Documentation Index
> Fetch the complete documentation index at: https://docs.instantcampaign.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Structured data for AI inboxes

> Add machine-readable facts (offers, events, orders) and a short key-facts line to your emails so Gmail, Apple Intelligence and other AI readers summarise them correctly.

AI features in the inbox read the **body** of your email. Gmail's Gemini summaries, Apple Intelligence and other assistants try to pull out what matters: the discount, the code, when the offer ends, the event date, the order and its delivery. InstantCampaign can state those facts for them in two ways:

* **Structured data**: invisible [schema.org](https://schema.org) markup (JSON-LD) in the email's head. It uses the shapes Gmail documents for Promotions annotations (`DiscountOffer` and your logo as `Organization`) and for email markup (`Order`, `ParcelDelivery`), plus `Event` and `EmailMessage`.
* **Key facts line** (optional): one short, visible line above the footer, in your brand colours, for example *20% off · Code FALL20 · Ends Oct 31, 2026*. It is never hidden, because hidden text counts against you with spam filters.

This complements the [AI inbox preview](/guides/audience-and-campaigns/ai-inbox-preview), which checks whether a summary is likely to keep your key facts.

## Where to turn it on

* **Campaigns**: in the send wizard, on the **Tracking** step, under **Structured data for AI inboxes**. It's saved with that send.
* **Automations**: open a **Send email** step. The same section is below the send policy.
* **Transactional API**: pass `structuredData` on `POST /api/v1/transactional/send`. See [Transactional email](/guides/developers/transactional-email).

It is **on by default** for campaigns created from 18 October 2026 and for new **Send email** steps. Older campaigns and existing automation steps keep it off until you turn it on, so mail your subscribers already know does not change.

## Automatic or manual facts

| Mode | What is stated |
| - | - |
| **Automatic** | Facts read from the email after personalisation: a discount code, the discount ("20% off", "free shipping"), the date the offer ends, the main link, and for order emails the order number, total, items and tracking from `data.order`. Anything you fill in yourself wins. |
| **Manual only** | Only the facts you fill in. |

The facts form takes a discount code, an offer description, an end date, an event (name, start, location or link) and the main link. Merge tags and Liquid work in every field, so a per-recipient code such as `{{ contact.coupon }}` is stated correctly for each person.

Detection reads English, French, Spanish, German, Italian and Portuguese wording and month names. In other languages automatic mode finds nothing, so nothing is added; fill the facts in by hand instead. Dates written like `03/04` are ignored because the day and month order is ambiguous.

## What it never includes

* No contact data beyond what the email already shows. Order facts never include addresses, names, email addresses or phone numbers.
* Your unsubscribe link, footer and List-Unsubscribe header are untouched. The key facts line sits above the footer.
* If there is nothing to state (no offer, event, order or main link), nothing is added.

## Preview

Click **Preview markup** in the section to see the key facts line and the JSON-LD for the campaign's template. The preview renders for a sample recipient with the template's sample data, so it never shows a real contact's data. The **view in browser** copy of a sent email carries the same markup.

A **test email** sent from the email builder includes the markup too, with the default settings a new campaign starts with (automatic facts, key facts line on) and the template's sample data, so the test shows what recipients will get. To check a send with different settings, use **Preview markup** on that send.

Spark and AI assistants connected over [MCP](/guides/developers/mcp-server) can show the same facts with the `get_structured_email_data` tool.

## What to expect from Gmail

* Gmail shows Promotions-tab annotations (deal badges, deal cards) only for senders it accepts, and may not show them to every recipient. Order and delivery cards from email markup need sender registration with Google. Until then the markup is still read by AI summaries.
* Markup **does not change** which tab your email lands in. Gmail's tab classifier ignores annotations.

Google's current documentation: [Promotions annotations](https://developers.google.com/workspace/gmail/promotab/overview) and [registering for email markup](https://developers.google.com/workspace/gmail/markup/registering-with-google).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.