Two designed shapes, eight blocks, one set of tokens. Generated from the same definitions the emails compile from, so this page cannot drift from what sends. The previews below are real compiled output in an iframe at 700px, not screenshots.
One idea, one action. Ambassador, post-engagement, reactivation.
masthead › greeting › body › cta › divider › signoff › footer
Several items under one intro. Seasonal cadence, product roundups, cart.
masthead › greeting › body › item_row › cta › divider › signoff › footer
| Block | What it is | Attributes it needs | If an attribute is missing |
|---|---|---|---|
masthead | Navy band, wordmark left, one line of context. | nothing | n/a |
greeting | Hi {first_name}, falling back to 'Hi there'. | first_name | default |
body | One idea per block. Paragraphs, no headings. | body_html | refuse |
item_row | One record or product. Repeats. Omits itself if empty. | item.title, item.detail, item.url | omit |
cta | One button. Builds its own tracked URL from the slug. | cta_label, cta_url, campaign_slug | refuse |
divider | Hairline rule. Never an hr, which Outlook sizes unpredictably. | nothing | n/a |
signoff | Named human, their words. No title block, no logo. | rep_name | refuse |
footer | Address and unsubscribe. CAN-SPAM, so it cannot be omitted. | postal_address, unsubscribe_url | refuse |
Read out of mail that actually shipped, not from a brand document.
| Token | Value |
|---|---|
brand | #1b5294 |
ink | #1b1f24 |
muted | #8a8886 |
hairline | #e3e7ec |
page_bg | #eef1f5 |
card_bg | #ffffff |
cta | #30a7dd |