Blog/Publisher

AMP for Email Ads: What Actually Works in Gmail

Interactive newsletter ads, tested in real Gmail inboxes: who can see them, the eleven formats, and the three layout rules that decide if an ad is seen.

MT
MailAdx Team
Published 1 Nov 2026·16 min read
AMP for Email Ads: What Actually Works in Gmail

AMP for Email lets a newsletter ad do things inside the inbox: take a poll vote, run a quiz, reveal a coupon, calculate a repayment, collect a lead or register a reader for an event, all without opening a browser. In practice it works in Gmail and Yahoo Mail, only from senders those providers have approved, and every other mail app shows the ordinary HTML version of the email instead. Three layout rules decide whether an interactive ad is actually seen in Gmail: a slot that can grow must hold content whose height is known at first measure, it must sit at the very end of the email, and a fixed slot must be tall enough for every state the ad can reach after a tap. Get those wrong and the ad can be counted as served while nobody sees it.

We shipped interactive ads in MailAdx on 27 October after testing every format in real Gmail inboxes. This guide covers what readers can see, what each format is for, the layout rules we found the hard way, how impressions and leads are counted, and how a publisher or advertiser gets started.

What an interactive newsletter ad is

An ordinary newsletter ad is a picture and a link. Everything interesting happens after the click, in a browser, on a page that may load slowly or lose the reader on the way.

An interactive ad keeps the reader in the email. AMP for Email adds a third part to a message, alongside the plain text and HTML parts. It uses a restricted set of web components for forms, lists, carousels and live data. A mail client that supports it shows that part. One that does not ignores it and shows the HTML.

For advertising, the important change is that the ad can respond. A reader taps an answer and sees the result. They tap "Reveal code" and the code appears. They type a loan amount and the repayment updates. They enter their details, tick consent and get a confirmation, all in the same place.

One thing it is not: ordinary web advertising moved into email. AMP's web ad component is not allowed in email at all. Neither are iframes, third-party analytics tags or custom JavaScript. Every interactive ad has to be built from the components email permits, which is why formats have to be designed for this environment rather than ported from display.

Who can actually see an interactive ad?

This is the first thing any publisher or buyer should understand, because it sets the scale of the opportunity.

Mail client                      Shows the interactive version?
───────────────────────────────  ─────────────────────────────────────
Gmail                            Yes, from an approved sender
Yahoo Mail                       Yes, from an approved sender
Mail.ru                          Yes, from an approved sender
Apple Mail                       No: shows the HTML version
Outlook                          No: shows the HTML version
Most other apps                  No: shows the HTML version

Two conditions have to hold together: the reader's mail client supports AMP, and the sender has been approved. Under the rules published on amp.dev, a sender must pass SPF, DKIM and DMARC for the domain in the From address, include a fallback HTML part, comply with each provider's own requirements and submit a production-ready sample through a single registration form. Approval is per sending address, and each provider replies separately.

So interactive ads arrive one publisher at a time, and they reach only part of each list. On a newsletter where half the audience reads in Gmail, half the audience is the ceiling. That is a real limit and also why the design has to treat the ordinary version as equally important.

Every interactive ad on MailAdx therefore carries an ordinary fallback. If the reader's client shows the HTML part, the slot behaves like any normal open-time ad: an image chosen when the email opens, which collapses cleanly when nothing sells. A publisher adopting interactive ads changes nothing for the rest of their audience. Our guide to registering your sender walks through the approval steps.

The eleven formats, and what each one is for

We built eleven formats, chosen because each gives an advertiser something a click cannot. Each has its own measure of success.

Format              Reader does                     Advertiser learns
──────────────────  ──────────────────────────────  ─────────────────────────────
Interactive native  Reads, taps a button            Clicks (the default format)
Image card          Sees a large image, taps        Clicks
Carousel            Swipes up to 8 cards            How far they swiped, per card
Poll                Votes in one tap                The split of answers
Quiz                Answers, sees right or wrong    Answers, right and wrong
Explainer (FAQ)     Opens questions in place        Which questions mattered
Calculator          Types numbers, sees a result    Uses per impression
Offer reveal        Taps to reveal a code           Reveals, shop clicks
Lead form           Enters details + consent        Consented leads
One-tap subscribe   Joins with an email + consent   Consented subscribers
RSVP                Picks a slot + consent          Registrations, by slot

A countdown ("Offer ends in 2 days") can be added to any format, and the ad stops serving when it reaches zero, so a reader opening the email next week never sees an expired offer. That is one of the quiet benefits of deciding the ad at open time. The post on open-time ad serving covers why.

Publishers also get three free modules for their own use in unsold slots: a poll that shows results, a feedback question whose answers only the publisher sees, and a 1-to-5 rating. An unsold fixed slot can ask readers something useful instead of showing a blank space, and the publisher's reports show every answer per slot.

Pricing is per impression, like the rest of MailAdx. We did not add per-lead or per-click billing for interactive ads. A lead form and an image card are both bought on a CPM, and the value of the extra signal shows up in the results.

Rule 1: a slot can only grow if its height is known at first measure

Newsletter ads are decided at open, so an interactive slot is a small list that fetches its content when the email loads. Gmail lays out that list once and does not measure it again. If the content's height is not known at that moment, the slot stays at the size it started.

Our first test made the problem plain. A carousel of product cards produced a perfect server log: request received, ad chosen, impression pixel fired, first image fetched. The inbox showed an empty space. The carousel worked out its height from the width of a box that had no height yet, so it rendered into nothing.

What matters is whether height can be calculated immediately:

Content                                  Can an elastic slot grow to fit it?
───────────────────────────────────────  ───────────────────────────────────
Text, answer options, expanding FAQ      Yes
An image with a declared width + height  Yes
A carousel                               No: use a fixed-height slot
Anything visible when the email opens    No: use a fixed-height slot

I got this wrong before I got it right. After the first rounds I wrote down that elastic slots could not work with images at all. A later test, using a logo at a declared size, grew perfectly. The fifty-pixel gap I had blamed on Gmail turned out to be padding in our own template. Spacing belongs on the ad card, not the slot.

Rule 2: elastic slots only work at the very end of the email

This is the rule most people building for AMP email have not found yet, and it is not in the documentation.

On our first live sends, an elastic slot in the middle of a newsletter stayed closed. The same slot as the last block of the email opened. The cause is how Gmail hosts interactive content. It sizes the interactive frame to the whole email, so as far as the AMP runtime is concerned, every element is already on screen. AMP will not resize something on screen unless the reader has acted or the element is near the bottom of the content. Near the bottom means past whichever comes later: 85% of the way down the content, or 1,000 pixels before its end. In a short email that is the last 15%. In a long one, the last 1,000 pixels.

The result is a trap. A closed slot still renders its template, so its impression pixel still fires. In our test, a house module nobody could see recorded five views. On an ordinary campaign, that would be an advertiser paying for ads no reader saw.

So the rule on MailAdx is enforced, not suggested:

  • Top and middle slots are always fixed-height. They render anywhere in the email.
  • Only a bottom slot, directly above the footer, can be elastic.
  • The ad server refuses an elastic tag that does not say it is at the end, rather than serving and billing an ad that may stay closed.
  • The publisher's test-email check fails an elastic slot with more than 15% of the email's text below it.

Why not just use fixed slots everywhere? Because a fixed slot reserves its space whether or not an ad sells. That is fine when a house module or another format can fill it. An elastic slot at the end of the email collapses when empty, so a publisher who wants interactive ads with no risk of a blank area can start there. The ad unit best practices cover placement more generally, and the fill rate guide covers how to think about unsold slots.

Rule 3: fixed slots must fit every state, not just the first

A fixed slot clips whatever does not fit. Interactive ads change size when the reader acts, so a slot sized for the ad as it first appears can cut off the result the reader just asked for.

We hit this testing a coupon. The reveal worked, but the "Offer ends in 2 days" line disappeared afterwards, pushed below the bottom of the slot. A quiz's explanation or a poll's results line can do the same.

Two changes fixed it. Slot heights are now estimated from every state a creative can reach, including the revealed code, the poll results, the quiz verdict, the calculator result and an error line. And answer options hide once chosen, so the result takes their place rather than adding to the height.

The heights that came out of that work, for typical creatives:

Format              Typical fixed height
──────────────────  ────────────────────
Poll                350 px
Quiz                360 px
Offer reveal        380 px
One-tap subscribe   450 px
Calculator          560 px
RSVP                610 px

These are not universal numbers, since they depend on how much text a creative has. The important part is that the height is calculated from the creative, and a creative that does not fit a slot is refused at serving time rather than clipped in front of a reader. When we applied the new estimator, older test creatives at smaller heights were refused until they were resized.

Other things that break quietly

Beyond layout, several smaller rules cost us time. If you build for AMP email yourself, these will save you some.

Form fields cannot be named after page properties. Our event sign-up refused every submission with "Please choose a time". The time slot was selected correctly, but the field was named slot, which clashes with a property of web page elements, so AMP's sanitizer silently removed it. The form was valid and passed validation. Nothing warned us.

The validator proves markup, not behaviour. Two layout modes passed the official validator and were never laid out in Gmail. The server received no request for them at all.

Form responses need the right cross-origin headers. If a form endpoint omits the credentials header AMP expects, the reader sees an error even though the server recorded the submission.

Every email slot needs its own number. In a test with ten slots, the tenth fell back to slot one, and two slots shared one template. The test-email check now fails duplicates.

The fallback has to match the slot. A polls-only slot once showed an offer's fallback card. Readers on Apple Mail would have seen an ad the publisher had never allowed in that position. The fallback now honours the slot's allowed formats.

The first send may land in Spam. Our first live send passed SPF, DKIM and DMARC and still went to Spam, flagged as similar to known spam. Later sends landed in the inbox. A new sender should warm up before judging the format.

How impressions and interactions are counted

Interactive ads raise a question every buyer should ask: what proves the ad was seen?

On MailAdx, an impression is counted when the ad's render pixel loads, not when the slot fetches its content. That is the same principle as the IAB's rich media practice: an impression is an ad rendered, and interaction rate is interactions divided by impressions. The layout rules above exist because, in AMP email, a render pixel can fire in a slot that is not open. Refusing elastic slots away from the end of the email is what keeps that number honest.

We also rejected some formats on these grounds alone. Tap-to-expand ads, overflow buttons and slide-out panels were technically possible, and advertisers might like them. But the list inside them loads and fires its pixel when the email opens, not when the reader taps. An ad hidden behind a tap would bill for impressions nobody saw. We do not offer them.

Apple Mail and Gmail affect interactive ads differently. Gmail fetches images through its proxy when a reader opens the email, and interactive ads render only in Gmail or Yahoo, so the Apple Mail prefetching described in our post on Apple Private Relay applies to the fallback version rather than the interactive one. The post on Gmail and Apple Mail tracking covers the differences. Our fatigue rule applies to interactive ads too: after eight impressions without a click, a campaign rests for that reader for a week, as described in the post on ad fatigue.

Reports show interactive and fallback impressions separately for each creative, along with engagement, clicks, leads and spend. A carousel shows how far readers swiped, an FAQ which questions were opened, a calculator how many readers used it. For many products, the reader who swiped through every card and did not click yet is the most interesting person in the audience, and an ordinary ad cannot see them. The reporting page and the advertiser reporting guide cover what buyers receive.

Leads, consent and what happens to the data

A form inside an email collects personal data, which raises the bar for how it is handled.

  • Consent is explicit. The reader ticks a box, and the form states who is collecting the data, with a link to the advertiser's privacy policy. The consent is stored with the lead.
  • Leads are encrypted at rest. Email addresses are encrypted, with a hash kept for de-duplication and erasure requests.
  • Advertisers get leads by download or a signed webhook, so they can confirm a delivery really came from us.
  • Personal details are removed after 90 days, keeping only the count. We hold them as a processor long enough to deliver them, not as a marketing list.

One feature is off on purpose. Pre-filling a form with the reader's email address would raise completion rates, and our tag can support it. But the gateway in front of our ad server logs full request addresses, so a pre-filled email would end up in logs. It stays off until that logging changes. The newsletter advertising legal guide covers the wider consent rules.

How we tested it

Every statement in this post comes from looking at a real Gmail inbox rather than reading a log. The sequence ran over seven rounds. The final full test put every format in one email: nine passed, and the failures were the RSVP field name, the clipped coupon countdown and the mismatched fallback. After the fixes, a retest passed for the poll, coupon, RSVP, quiz and calculator. In that retest, an RSVP registration from Gmail was stored encrypted with its consent and delivered to a test webhook with a valid signature.

The billing path was tested with a test account too. A lead ad in a fixed 520-pixel middle slot rendered in Gmail, and the impression was billed exactly half a cent at a $5 CPM.

What has not been tested is just as important. Everything above is Gmail on the web. We have not yet run the same rounds in Yahoo Mail or confirmed every format in the Gmail phone apps. We will not describe a format as working there until it has been seen there. Our own sender registrations are filed, and publishers register their own addresses, so reach grows as approvals arrive.

Getting started as a publisher

  1. Check your audience. Look at what share of your list reads in Gmail and Yahoo. That is your ceiling.
  2. Register your sending address. Each sender is approved separately, so allow time. The sender registration guide lists what to prepare.
  3. Add a slot. Start with one bottom slot directly above your footer, or a fixed slot in the middle with a house module to fill it. The interactive ads documentation has the tag and the slot rules.
  4. Send yourself a test. Use the check in your dashboard. It catches elastic slots in the wrong place and duplicate slot numbers.
  5. Look at the inbox, not just the reports, before your first real send.

The publisher page explains how interactive slots sit alongside your existing ad units.

Getting started as an advertiser

  1. Pick the format that matches the decision you want. A poll or quiz for awareness, an offer for a sale, a lead form or RSVP for pipeline, a calculator for a considered purchase.
  2. Plan for two audiences. Every interactive creative needs a fallback, and many readers will only ever see that version. Make it good.
  3. Keep it short. Height is limited, and every extra line makes a slot taller. Our post on newsletter ad creative applies here too.
  4. Judge on the format's own measure: votes per impression for a poll, leads for a form, not CTR for everything.

The advertiser page explains how buying works, pricing sets out the costs, and you can create an account to build a first interactive creative with a live preview.

Frequently asked questions

What is AMP for Email?

AMP for Email is a format that adds an interactive part to an email, alongside the usual plain text and HTML parts. Supporting mail clients display it, so readers can vote, fill in forms, swipe carousels or see live content inside the message. Other clients ignore it and show the HTML version.

Which email clients support AMP?

Gmail, Yahoo Mail and Mail.ru support AMP email from approved senders. Apple Mail and Outlook do not, so their readers see the HTML version. An interactive ad should always have an ordinary fallback for those readers.

Can you run ads in AMP emails?

Yes, but not with ordinary web ad tags. AMP's ad component, iframes and third-party scripts are not allowed in email. Interactive email ads are built from permitted components such as lists, forms and carousels, with the ad chosen when the email is opened.

Why is my AMP ad not showing in Gmail?

Usually for one of three reasons. The sender has not been approved, so Gmail shows the HTML part. The slot has no declared height and its content, such as a carousel, cannot be measured when Gmail first lays it out. Or an elastic slot sits above the end of the email, where Gmail will not let it grow.

Do AMP email slots have to be fixed height?

Not always. A slot can grow to fit content with a known height, such as text or images with declared sizes, but only directly above the footer. Anywhere else, or for carousels, use a fixed height, and size it for every state the ad can reach after a tap.

How do I register to send AMP email?

Your email must pass SPF, DKIM and DMARC for your From domain and include a fallback HTML part. Then send a production-ready AMP email to the addresses on amp.dev and complete the sender registration form. Each sending address is approved separately, and each provider replies on its own.

Are leads from interactive email ads GDPR compliant?

They can be, if the form asks for explicit consent, names who is collecting the data and links to a privacy policy, and if the data is protected and kept no longer than needed. On MailAdx, consent is stored with each lead, emails are encrypted at rest, and personal details are removed after 90 days. The advertiser remains responsible for how it uses the lead.

Stay ahead of the newsletter ad space

Get weekly articles on email monetisation, ad tech, and platform updates.

Subscribe + request demo →
MT
MailAdx Team

Editorial & Product

2026-11-01·16 min read

Related articles

Ready to monetise your newsletter?

See how MailAdx fits your setup in a personalised 30-minute demo.

No credit card required
Setup in 30 minutes
Dedicated onboarding