Interactive email template

Beta feedback form

Collect structured beta feedback with dynamic feature prompts and issue tags.

Gather launch-critical feedback in one message while testing is active.

Inbox preview

Static HTML rendering of the email body. Use it to check the layout before sending the live AMP version to a test inbox.

Gmail · Primary

Mailneo demo <hello@mailneo.co>

10:42 AM (2 min ago)

Beta feedback form

to me · interactive email

Interactive preview

Beta feedback request

Load feature prompts dynamically and collect issue-specific notes.

  • Good for phased releases.
  • Dynamic blocks keep prompts current.
  • Needs backend endpoints before send.
Submit beta feedback

code snippets

<!doctype html>
<html amp4email>
  <head>
    <meta charset="utf-8" />
    <script async src="https://cdn.ampproject.org/v0.js"></script>
    <script async custom-element="amp-form" src="https://cdn.ampproject.org/v0/amp-form-0.1.js"></script>
    <script async custom-element="amp-list" src="https://cdn.ampproject.org/v0/amp-list-0.1.js"></script>
    <script async custom-template="amp-mustache" src="https://cdn.ampproject.org/v0/amp-mustache-0.2.js"></script>
    <style amp4email-boilerplate>
      body {
        visibility: hidden;
      }
    </style>
    <style amp-custom>

  body {
    margin: 0;
    padding: 20px;
    background: #f8fafc;
    font-family: Arial, Helvetica, sans-serif;
    color: #1f2937;
  }
  .email-card {
    max-width: 640px;
    margin: 0 auto;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    overflow: hidden;
  }
  .header {
    background: #fff7ed;
    border-bottom: 1px solid #fed7aa;
    padding: 20px 24px;
  }
  .header h1 {
    margin: 0;
    font-size: 22px;
    line-height: 1.3;
    color: #9a3412;
  }
  .header p {
    margin: 8px 0 0;
    font-size: 14px;
    line-height: 1.5;
    color: #7c2d12;
  }
  .section {
    padding: 20px 24px;
  }
  label {
    display: block;
    margin: 0 0 6px;
    font-size: 13px;
    line-height: 18px;
    font-weight: 700;
    color: #334155;
  }
  input,
  textarea,
  select {
    width: 100%;
    box-sizing: border-box;
    margin: 0 0 12px;
    padding: 10px 12px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    font-size: 14px;
    color: #1f2937;
    background: #ffffff;
  }
  textarea {
    min-height: 90px;
    resize: vertical;
  }
  .inline-checkbox {
    width: auto;
    margin: 0 8px 0 0;
    vertical-align: middle;
  }
  .button {
    display: inline-block;
    border: 0;
    border-radius: 8px;
    background: #f97316;
    color: #ffffff;
    text-decoration: none;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    padding: 12px 16px;
    cursor: pointer;
  }
  .button.alt {
    background: #ea580c;
  }
  .button.ghost {
    background: #ffffff;
    color: #9a3412;
    border: 1px solid #fdba74;
  }
  .muted {
    margin: 10px 0 0;
    font-size: 12px;
    line-height: 18px;
    color: #64748b;
  }
  .chip {
    display: inline-block;
    border: 1px solid #fdba74;
    border-radius: 999px;
    padding: 8px 12px;
    margin: 0 8px 8px 0;
    font-size: 13px;
    line-height: 1;
    color: #9a3412;
    background: #fff7ed;
  }
  amp-selector [option][selected] {
    background: #f97316;
    color: #ffffff;
    border-color: #f97316;
  }
  .score-grid [option] {
    min-width: 40px;
    text-align: center;
  }
  .step-nav {
    margin-bottom: 14px;
  }
  .step-pill {
    display: inline-block;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    border: 1px solid #cbd5e1;
    color: #475569;
    text-align: center;
    line-height: 28px;
    font-size: 12px;
    margin-right: 8px;
  }
  .step-pill.active {
    border-color: #f97316;
    background: #f97316;
    color: #ffffff;
  }
  .note-box {
    border: 1px dashed #fdba74;
    border-radius: 10px;
    padding: 10px 12px;
    margin: 12px 0;
    background: #fff7ed;
    font-size: 13px;
    line-height: 1.5;
    color: #7c2d12;
  }
  .session-card {
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 14px;
    background: #ffffff;
  }


    </style>
    <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1" />
    <title>Beta feedback</title>
  </head>
  <body>
    <div class="email-card">
      <div class="header">
        <h1>Help shape the next release</h1>
        <p>Mark what you tested and report blockers in one form.</p>
      </div>
      <div class="section">
        <form method="post" action-xhr="https://example.com/api/beta-feedback" target="_top">
          <label>Features tested</label>
          <amp-list
            width="auto"
            height="130"
            layout="fixed-height"
            src="https://example.com/api/beta-features"
          >
            <template type="amp-mustache">
              <label>
                <input class="inline-checkbox" type="checkbox" name="feature_{{id}}" value="yes" />
                {{name}}
              </label>
            </template>
          </amp-list>

          <label for="beta-blockers">Biggest blocker</label>
          <textarea id="beta-blockers" name="blockers" required></textarea>

          <label for="beta-severity">Severity</label>
          <select id="beta-severity" name="severity" required>
            <option value="">Select one</option>
            <option value="low">Low</option>
            <option value="medium">Medium</option>
            <option value="high">High</option>
          </select>

          <button class="button" type="submit">Submit beta feedback</button>
          <p class="muted">Missing API responses will leave this template blank in AMP clients.</p>
        </form>
      </div>
    </div>
  </body>
</html>

AMP components used

amp-formamp-listamp-mustache

use cases

  • Feature betas

    Product teams can collect standardized launch feedback.

    Industry: SaaS

  • Pilot programs

    Enterprise pilots can report blockers without leaving the thread.

    Industry: B2B

gotchas

  • API dependency

    amp-list templates need stable JSON payloads before campaign launch.

  • Input quality

    If prompts are generic, feedback quality drops quickly.

conversion uplift data

No conversion benchmark was attached to this template yet.

citations

related templates