Announce your pass program by email: an annotated example, emails to model yours on, and one-tap wallet links that issue the pass with no form to fill in.
Email is the strongest launch channel. You already know who to send to, and recipients who exist in your CRM can get their pass with one tap: the email wallet links issue the pass directly, no enrollment form. Everyone else clicks through to the enrollment flow instead. Either way, the email’s only job is to make adding the pass feel as easy as it is.
A good program email is short and has exactly one call to action. The Mintleaf Rewards announcement below is annotated top to bottom:
The Mintleaf Rewards announcement email, annotated.
Subject line. Lead with the benefit, not the technology. “Your coffee now earns you free coffee” beats “Introducing our new digital wallet pass solution”.
Preview text. The line shown next to the subject in the inbox. Use it to remove friction: “No app to install. It takes one tap.”
Hero. Your brand and the pass itself. Showing the pass on a phone tells the whole story in one image.
Value proposition. One or two sentences on what the customer gets and why it’s effortless.
The wallet buttons. The single call to action: Add to Apple Wallet and Add to Google Wallet buttons, side by side. Nothing else in the email should compete with them.
Fallback text link. A plain link under the buttons (“Button not working? Use this link”) for email clients that block images.
Footer. Your usual sender details and unsubscribe link. If you market in the United States, the wallet providers expect their trademark attributions here. See using the wallet badges.
Brands lead differently: some with a full campaign production, some with a personal note, some with the product itself. The three Mintleaf examples below show the range. Pick the style closest to your brand and model your email on it. The structure never changes: one message, one call to action.
The announcement
The personal note
The pass showcase
Campaign style, for your full mailing list at launch. A branded hero, the value proposition, and one button. Recipients may or may not be in your CRM, so the call to action links to the enrollment flow.Subject: Your coffee now earns you free coffee. Meet Mintleaf Rewards Preview text: No app, no plastic card. It takes 30 seconds.
The classic launch announcement: hero, value proposition, one button to the enrollment flow.
Minimal style, for customers already in your CRM. No hero, no production: a short personal note and the wallet buttons. Reads like a message, not a campaign, and the buttons issue the pass directly, no form, because the recipient is already known.Subject: Your Mintleaf Rewards pass is ready, Anna Preview text: One tap and it’s in your wallet. We’ve already filled everything in.
A short personal note with one-tap wallet buttons. No hero needed.
Visual style. The pass itself is the hero, so the customer sees exactly what lands in their wallet before they tap. The strongest version of the one-tap invitation when your pass design is worth showing off.Subject: This is your new loyalty card, Anna Preview text: It’s already made. One tap and it’s in your wallet.
The pass is the hero. The customer sees what they're getting before they tap.
The wallet buttons in these emails come from Stell’s configurator. It generates an email-safe HTML snippet with both buttons, official badge images in your language, and per-recipient links your email tool fills in at send time. The setup (snippet, identifiers, localized images) is covered on the wallet button widget page. Don’t hand-build the links.If a recipient isn’t in your CRM, say a newsletter subscriber who never bought anything, the one-tap links can’t identify them. Send those recipients to your enrollment link instead, where the enrollment flow collects their details.
One call to action. If the email also promotes this month’s blend, the pass loses. Give the program its own send.
Design for the phone. The wallet add happens on a phone, so most recipients will read the email there. One column, big buttons.
Segment members from non-members. Members get the one-tap invitation, everyone else gets the announcement with the enrollment link. A “fill in this form” email to someone you already know feels careless.
Test on real devices. Send the email to yourself and a colleague, and add the pass on a real iPhone and a real Android phone, not just a desktop preview.
Test with two different member identifiers, not one. The most common launch
bug is every recipient getting a link to the same pass, and two test
recipients catch it immediately.
Email reaches customers who don’t have the pass yet. Once they’ve added it,
Engage push notifications reach them directly on the lock
screen, with no inbox to fight through. If you don’t see Engage in your
navigation, it isn’t enabled for your company. Contact
support.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Stell","description":"Guides and API reference for Stell: design, issue and update Apple Wallet and Google Wallet passes for loyalty, memberships, tickets and access.","colors":{"primary":"#16A34A","light":"#07C983","dark":"#15803D"},"logo":{"light":"https://mintcdn.com/stell/C_zhUrQoTUQsZ2Th/logo/light.svg?fit=max\u0026auto=format\u0026n=C_zhUrQoTUQsZ2Th\u0026q=85\u0026s=0331e63db80863763f108a9e957b9b1d","dark":"https://mintcdn.com/stell/C_zhUrQoTUQsZ2Th/logo/dark.svg?fit=max\u0026auto=format\u0026n=C_zhUrQoTUQsZ2Th\u0026q=85\u0026s=887c7ef4687b8beb0bfc6263349c508b"},"favicon":"https://mintcdn.com/stell/k_mnJ8Kr2DM3UI1t/favicon.svg?fit=max\u0026auto=format\u0026n=k_mnJ8Kr2DM3UI1t\u0026q=85\u0026s=c10d1de1b75b3b3a459cd9b2634f566f","api":{"playground":{"display":"simple"},"examples":{"languages":["typescript","bash","python"],"prefill":true},"url":"full"},"navbar":{"links":[{"href":"https://getstell.com/contact?context=docs:navbar","label":"Talk to Stell"},{"href":"mailto:hello@getstell.com","label":"Support"}],"primary":{"type":"button","label":"Open portal","href":"https://platform.getstell.com/portal"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/stell-tech-as","youtube":"https://www.youtube.com/@getstell","github":"https://github.com/Stell-Tech"},"links":[{"items":[{"label":"getstell.com","href":"https://getstell.com"},{"label":"Book a demo","href":"https://getstell.com/contact?context=docs:footer"},{"label":"Partners and integrations","href":"https://getstell.com/partners"},{"label":"Support","href":"mailto:hello@getstell.com"}]}]},"seo":{"metatags":{"canonical":"https://docs.getstell.com","og:site_name":"Stell Docs","twitter:card":"summary_large_image"},"organization":{"id":"https://getstell.com/#organization","name":"Stell","legalName":"Stell Tech AS","url":"https://getstell.com","logo":"https://getstell.com/brand/stell-wordmark-navy.svg","sameAs":["https://www.linkedin.com/company/stell-tech-as/","https://www.youtube.com/@getstell","https://github.com/Stell-Tech"]}},"contextual":{"options":["copy","view","claude","chatgpt","download-spec"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"stell","hasAudioNarration":false,"actualSubdomain":"stell","customDomains":["docs.getstell.com"],"gitSource":{"type":"github","owner":"stell-tech","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"collectionId":"5e0a67cd-72e4-476c-bbf8-28509c8a3428","liveDeploymentHistoryId":"6aea58a7dfbaebaa6b1d3912","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aea58a7dfbaebaa6b1d3912"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6aea58a7dfbaebaa6b1d3912","clientVersion":"0.0.4076","searchFilterCounts":[{"language":"default","tag":"API reference","count":64},{"language":"default","tag":"Merchant portal","count":20},{"language":"default","tag":"Passes","count":15},{"language":"default","tag":"Launch \u0026 grow","count":13},{"language":"default","tag":"Programs","count":8},{"language":"default","tag":"Pass Templates","count":7},{"language":"default","tag":"Engage","count":6},{"language":"default","tag":"Pass templates","count":6},{"language":"default","tag":"Engagement","count":6},{"language":"default","tag":"Integration guide","count":5}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":".frame{margin-top:1.75rem;margin-bottom:1.75rem}.task-list-item::before{content:none}.task-list-item{position:relative;margin-left:10px}.task-list-item>input[type=\"checkbox\"]{position:absolute;left:-2px;top:7px;margin:0}"}],"page":{"pagePath":"promote/email","slug":"/promote/email","pageMetadata":{"title":"Program launch emails with Add to Wallet buttons","sidebarTitle":"Email","description":"Announce your pass program by email: an annotated example, emails to model yours on, and one-tap wallet links that issue the pass with no form to fill in.","href":"/promote/email"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Announce your pass program by email: an annotated example, emails to model yours on, and one-tap wallet links that issue the pass with no form to fill in.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,em:`em`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Frame,Heading,Note,OptimizedImage,Tab,Tabs,Tip}=_components;if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Email is the strongest launch channel. You already know who to send to, and recipients who exist in your CRM can get their pass with `,_jsx(_components.strong,{children:`one tap`}),`: the email wallet links issue the pass directly, no enrollment form. Everyone else clicks through to the enrollment flow instead. Either way, the email’s only job is to make adding the pass feel as easy as it is.`]}),`\n`,_jsx(Heading,{level:`2`,id:`anatomy-of-a-program-email`,children:`Anatomy of a program email`}),`\n`,_jsx(_components.p,{children:`A good program email is short and has exactly one call to action. The Mintleaf Rewards announcement below is annotated top to bottom:`}),`\n`,_jsx(Frame,{caption:`The Mintleaf Rewards announcement email, annotated.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/stell/nRFGSyGcRTATsEaK/images/promote/email-anatomy.png?fit=max\u0026auto=format\u0026n=nRFGSyGcRTATsEaK\u0026q=85\u0026s=7306d2f8d8b3747a1f08b9a9e45e9d89`,alt:`Annotated Mintleaf Rewards announcement email, with callouts for the subject line, hero image, value proposition, Add to Apple Wallet and Add to Google Wallet buttons, fallback link, and footer`,\"data-og-width\":`2200`,width:`2200`,\"data-og-height\":`1740`,height:`1740`,\"data-path\":`images/promote/email-anatomy.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/stell/nRFGSyGcRTATsEaK/images/promote/email-anatomy.png?w=280\u0026fit=max\u0026auto=format\u0026n=nRFGSyGcRTATsEaK\u0026q=85\u0026s=b7171b8620a9bb0f225a0e0d7e9fb274 280w, https://mintcdn.com/stell/nRFGSyGcRTATsEaK/images/promote/email-anatomy.png?w=560\u0026fit=max\u0026auto=format\u0026n=nRFGSyGcRTATsEaK\u0026q=85\u0026s=29856d5d973097d8d7ed2382560d4d64 560w, https://mintcdn.com/stell/nRFGSyGcRTATsEaK/images/promote/email-anatomy.png?w=840\u0026fit=max\u0026auto=format\u0026n=nRFGSyGcRTATsEaK\u0026q=85\u0026s=d9225e2a61cb7dd49531454103cd60b6 840w, https://mintcdn.com/stell/nRFGSyGcRTATsEaK/images/promote/email-anatomy.png?w=1100\u0026fit=max\u0026auto=format\u0026n=nRFGSyGcRTATsEaK\u0026q=85\u0026s=d8f27205236fbfd4fd19f28aba5b266b 1100w, https://mintcdn.com/stell/nRFGSyGcRTATsEaK/images/promote/email-anatomy.png?w=1650\u0026fit=max\u0026auto=format\u0026n=nRFGSyGcRTATsEaK\u0026q=85\u0026s=f645583c13d758d25a10c3ea0dc2a394 1650w, https://mintcdn.com/stell/nRFGSyGcRTATsEaK/images/promote/email-anatomy.png?w=2500\u0026fit=max\u0026auto=format\u0026n=nRFGSyGcRTATsEaK\u0026q=85\u0026s=4505a5a3bb2f970889edfbea639df354 2500w`})}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Subject line.`}),` Lead with the benefit, not the technology. “Your coffee now earns you free coffee” beats “Introducing our new digital wallet pass solution”.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Preview text.`}),` The line shown next to the subject in the inbox. Use it to remove friction: “No app to install. It takes one tap.”`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Hero.`}),` Your brand and the pass itself. Showing the pass on a phone tells the whole story in one image.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Value proposition.`}),` One or two sentences on what the customer gets and why it’s effortless.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`The wallet buttons.`}),` The single call to action: `,_jsx(_components.strong,{children:`Add to Apple Wallet`}),` and `,_jsx(_components.strong,{children:`Add to Google Wallet`}),` buttons, side by side. Nothing else in the email should compete with them.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Fallback text link.`}),` A plain link under the buttons (“Button not working? Use this link”) for email clients that block images.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Footer.`}),` Your usual sender details and unsubscribe link. If you market in the United States, the wallet providers expect their trademark attributions here. See `,_jsx(_components.a,{href:`/promote/overview#using-the-wallet-badges`,children:`using the wallet badges`}),`.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`example-emails`,children:`Example emails`}),`\n`,_jsx(_components.p,{children:`Brands lead differently: some with a full campaign production, some with a personal note, some with the product itself. The three Mintleaf examples below show the range. Pick the style closest to your brand and model your email on it. The structure never changes: one message, one call to action.`}),`\n`,_jsxs(Tabs,{children:[_jsxs(Tab,{title:`The announcement`,id:`the-announcement`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Campaign style`}),`, for your full mailing list at launch. A branded hero, the value proposition, and one button. Recipients may or may not be in your CRM, so the call to action links to the enrollment flow.`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Subject:`}),` Your coffee now earns you free coffee. Meet Mintleaf Rewards`,_jsx(`br`,{}),`\n`,_jsx(_components.strong,{children:`Preview text:`}),` No app, no plastic card. It takes 30 seconds.`]}),_jsx(Frame,{caption:`The classic launch announcement: hero, value proposition, one button to the enrollment flow.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/stell/nRFGSyGcRTATsEaK/images/promote/email-announcement.png?fit=max\u0026auto=format\u0026n=nRFGSyGcRTATsEaK\u0026q=85\u0026s=d410a533b865910fb2fcd2f34fdd1891`,alt:`The Mintleaf Rewards announcement email: dark green hero with the Mintleaf wordmark, a headline about the loyalty card moving into the phone's wallet, and a Join Mintleaf Rewards button`,width:`400`,\"data-og-width\":`1360`,\"data-og-height\":`1700`,\"data-path\":`images/promote/email-announcement.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/stell/nRFGSyGcRTATsEaK/images/promote/email-announcement.png?w=280\u0026fit=max\u0026auto=format\u0026n=nRFGSyGcRTATsEaK\u0026q=85\u0026s=7e8609e5ae375c172ad94aaf9b3b510e 280w, https://mintcdn.com/stell/nRFGSyGcRTATsEaK/images/promote/email-announcement.png?w=560\u0026fit=max\u0026auto=format\u0026n=nRFGSyGcRTATsEaK\u0026q=85\u0026s=0f09d425afbcc9cb29fe4c29ea8eee2c 560w, https://mintcdn.com/stell/nRFGSyGcRTATsEaK/images/promote/email-announcement.png?w=840\u0026fit=max\u0026auto=format\u0026n=nRFGSyGcRTATsEaK\u0026q=85\u0026s=1aeff3e7bdb9d93673fe7861adff555e 840w, https://mintcdn.com/stell/nRFGSyGcRTATsEaK/images/promote/email-announcement.png?w=1100\u0026fit=max\u0026auto=format\u0026n=nRFGSyGcRTATsEaK\u0026q=85\u0026s=4fcfb56aa2b92b6535b0d3110fb7f21c 1100w, https://mintcdn.com/stell/nRFGSyGcRTATsEaK/images/promote/email-announcement.png?w=1650\u0026fit=max\u0026auto=format\u0026n=nRFGSyGcRTATsEaK\u0026q=85\u0026s=70d62d6d59b39c9ad57a7ab64de5673a 1650w, https://mintcdn.com/stell/nRFGSyGcRTATsEaK/images/promote/email-announcement.png?w=2500\u0026fit=max\u0026auto=format\u0026n=nRFGSyGcRTATsEaK\u0026q=85\u0026s=7efd6f725b2700b048b85db7e6c3bdfc 2500w`})})]}),_jsxs(Tab,{title:`The personal note`,id:`the-personal-note`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Minimal style`}),`, for customers already in your CRM. No hero, no production: a short personal note and the wallet buttons. Reads like a message, not a campaign, and the buttons issue the pass directly, no form, because the recipient is already known.`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Subject:`}),` Your Mintleaf Rewards pass is ready, Anna`,_jsx(`br`,{}),`\n`,_jsx(_components.strong,{children:`Preview text:`}),` One tap and it’s in your wallet. We’ve already filled everything in.`]}),_jsx(Frame,{caption:`A short personal note with one-tap wallet buttons. No hero needed.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/stell/nRFGSyGcRTATsEaK/images/promote/email-invitation.png?fit=max\u0026auto=format\u0026n=nRFGSyGcRTATsEaK\u0026q=85\u0026s=5d150b44d3b12ba7d41ab6486cf479c1`,alt:`The minimal Mintleaf Rewards invitation email: a small logo, a short personal note to Anna, Add to Apple Wallet and Add to Google Wallet buttons, and a fallback link`,width:`400`,\"data-og-width\":`1360`,\"data-og-height\":`1320`,\"data-path\":`images/promote/email-invitation.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/stell/nRFGSyGcRTATsEaK/images/promote/email-invitation.png?w=280\u0026fit=max\u0026auto=format\u0026n=nRFGSyGcRTATsEaK\u0026q=85\u0026s=d54aaff4a0be19f5333adef0d403552d 280w, https://mintcdn.com/stell/nRFGSyGcRTATsEaK/images/promote/email-invitation.png?w=560\u0026fit=max\u0026auto=format\u0026n=nRFGSyGcRTATsEaK\u0026q=85\u0026s=c40765333753f80c1a3203f24f1fa20b 560w, https://mintcdn.com/stell/nRFGSyGcRTATsEaK/images/promote/email-invitation.png?w=840\u0026fit=max\u0026auto=format\u0026n=nRFGSyGcRTATsEaK\u0026q=85\u0026s=5f263ff9d8628fed072331ca5c010309 840w, https://mintcdn.com/stell/nRFGSyGcRTATsEaK/images/promote/email-invitation.png?w=1100\u0026fit=max\u0026auto=format\u0026n=nRFGSyGcRTATsEaK\u0026q=85\u0026s=f4e5496d2941ab5cbda25b56e513a9a8 1100w, https://mintcdn.com/stell/nRFGSyGcRTATsEaK/images/promote/email-invitation.png?w=1650\u0026fit=max\u0026auto=format\u0026n=nRFGSyGcRTATsEaK\u0026q=85\u0026s=a05cf58cf6dbe810758cd4156e84ce28 1650w, https://mintcdn.com/stell/nRFGSyGcRTATsEaK/images/promote/email-invitation.png?w=2500\u0026fit=max\u0026auto=format\u0026n=nRFGSyGcRTATsEaK\u0026q=85\u0026s=1b632fcd55b7f2cf567346bceccf3f4f 2500w`})})]}),_jsxs(Tab,{title:`The pass showcase`,id:`the-pass-showcase`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Visual style.`}),` The pass itself is the hero, so the customer sees exactly what lands in their wallet before they tap. The strongest version of the one-tap invitation when your pass design is worth showing off.`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Subject:`}),` This is your new loyalty card, Anna`,_jsx(`br`,{}),`\n`,_jsx(_components.strong,{children:`Preview text:`}),` It’s already made. One tap and it’s in your wallet.`]}),_jsx(Frame,{caption:`The pass is the hero. The customer sees what they're getting before they tap.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/stell/nRFGSyGcRTATsEaK/images/promote/email-pass-visual.png?fit=max\u0026auto=format\u0026n=nRFGSyGcRTATsEaK\u0026q=85\u0026s=84ff59bc34e1ec30cf98b6c55bf8e350`,alt:`The Mintleaf Rewards pass showcase email: the pass rendered large, straddling the dark green hero and the white body, with Add to Apple Wallet and Add to Google Wallet buttons below`,width:`400`,\"data-og-width\":`1360`,\"data-og-height\":`1840`,\"data-path\":`images/promote/email-pass-visual.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/stell/nRFGSyGcRTATsEaK/images/promote/email-pass-visual.png?w=280\u0026fit=max\u0026auto=format\u0026n=nRFGSyGcRTATsEaK\u0026q=85\u0026s=4fb50e66f3964bbfcc2887e33abb5bfd 280w, https://mintcdn.com/stell/nRFGSyGcRTATsEaK/images/promote/email-pass-visual.png?w=560\u0026fit=max\u0026auto=format\u0026n=nRFGSyGcRTATsEaK\u0026q=85\u0026s=ce4d255e386ca69b6b7b7b58fd0b6e0f 560w, https://mintcdn.com/stell/nRFGSyGcRTATsEaK/images/promote/email-pass-visual.png?w=840\u0026fit=max\u0026auto=format\u0026n=nRFGSyGcRTATsEaK\u0026q=85\u0026s=36b85f41b29f4aaf2b711de437358bc5 840w, https://mintcdn.com/stell/nRFGSyGcRTATsEaK/images/promote/email-pass-visual.png?w=1100\u0026fit=max\u0026auto=format\u0026n=nRFGSyGcRTATsEaK\u0026q=85\u0026s=c02898d7f8b67b478376ff9026f60007 1100w, https://mintcdn.com/stell/nRFGSyGcRTATsEaK/images/promote/email-pass-visual.png?w=1650\u0026fit=max\u0026auto=format\u0026n=nRFGSyGcRTATsEaK\u0026q=85\u0026s=7d36194f5720e0b14f042eb5dbb00709 1650w, https://mintcdn.com/stell/nRFGSyGcRTATsEaK/images/promote/email-pass-visual.png?w=2500\u0026fit=max\u0026auto=format\u0026n=nRFGSyGcRTATsEaK\u0026q=85\u0026s=35f433d04a2afd91345b467895a8dbda 2500w`})})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`making-the-buttons-work`,children:`Making the buttons work`}),`\n`,_jsxs(_components.p,{children:[`The wallet buttons in these emails come from Stell’s configurator. It generates an email-safe HTML snippet with both buttons, official badge images in your language, and per-recipient links your email tool fills in at send time. The setup (snippet, identifiers, localized images) is covered on the `,_jsx(_components.a,{href:`/enrollment/wallet-button-widget#in-your-emails`,children:`wallet button widget page`}),`. Don’t hand-build the links.`]}),`\n`,_jsxs(_components.p,{children:[`If a recipient isn’t in your CRM, say a newsletter subscriber who never bought anything, the one-tap links can’t identify them. Send those recipients to your enrollment link instead, where the `,_jsx(_components.a,{href:`/enrollment/how-enrollment-works`,children:`enrollment flow`}),` collects their details.`]}),`\n`,_jsx(Heading,{level:`2`,id:`before-you-send`,children:`Before you send`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`One call to action.`}),` If the email also promotes this month’s blend, the pass loses. Give the program its own send.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Design for the phone.`}),` The wallet add happens on a phone, so most recipients will read the email there. One column, big buttons.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Segment members from non-members.`}),` Members get the one-tap invitation, everyone else gets the announcement with the enrollment link. A “fill in this form” email to someone you already know feels careless.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Test on real devices.`}),` Send the email to yourself and a colleague, and add the pass on a real iPhone and a real Android phone, not just a desktop preview.`]}),`\n`]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Test with two different member identifiers, not one. The most common launch\nbug is every recipient getting a link to the `,_jsx(_components.em,{children:`same`}),` pass, and two test\nrecipients catch it immediately.`]})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Email reaches customers who `,_jsx(_components.em,{children:`don’t`}),` have the pass yet. Once they’ve added it,\n`,_jsx(_components.a,{href:`/engage/overview`,children:`Engage`}),` push notifications reach them directly on the lock\nscreen, with no inbox to fight through. If you don’t see Engage in your\nnavigation, it isn’t enabled for your company. `,_jsx(_components.a,{href:`/support/contact`,children:`Contact\nsupport`}),`.`]})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Program launch emails with Add to Wallet buttons","sidebarTitle":"Email","description":"Announce your pass program by email: an annotated example, emails to model yours on, and one-tap wallet links that issue the pass with no form to fill in.","href":"/promote/email"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Anatomy of a program email","slug":"anatomy-of-a-program-email","depth":2,"children":[]},{"title":"Example emails","slug":"example-emails","depth":2,"children":[]},{"title":"Making the buttons work","slug":"making-the-buttons-work","depth":2,"children":[]},{"title":"Before you send","slug":"before-you-send","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"stell","siteName":"Stell","title":"Program launch emails with Add to Wallet buttons - Stell","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-12T13:02:59.420Z","originalFileLocation":"promote/email.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Announce your pass program by email: an annotated example, emails to model yours on, and one-tap wallet links that issue the pass with no form to fill in.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Stell\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/stell/J93C2Sxezv9CfvWS/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/stell/J93C2Sxezv9CfvWS/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/stell/J93C2Sxezv9CfvWS/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/stell/J93C2Sxezv9CfvWS/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/stell/J93C2Sxezv9CfvWS/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/stell/J93C2Sxezv9CfvWS/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/stell/J93C2Sxezv9CfvWS/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/stell/J93C2Sxezv9CfvWS/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/stell/J93C2Sxezv9CfvWS/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Program launch emails with Add to Wallet buttons - Stell\">\u003cmeta data-mint-head property=\"og:description\" content=\"Announce your pass program by email: an annotated example, emails to model yours on, and one-tap wallet links that issue the pass with no form to fill in.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Stell Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.getstell.com/promote/email\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://stell.mintlify.site/_mintlify/api/og/v2?division=Promote+your+program\u0026amp;title=Program+launch+emails+with+Add+to+Wallet+buttons\u0026amp;description=Announce+your+pass+program+by+email%3A+an+annotated+example%2C+emails+to+model+yours+on%2C+and+one-tap+wallet+links+that+issue+the+pass+with+no+form+to+fill+in.\u0026amp;theme=1ea336f175e78c0a157b45bf\u0026amp;signature=e98be759d52efec151d38228ce0dc4e245cc08be1b74e570270374a149f0cc6c\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Program launch emails with Add to Wallet buttons - Stell\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Announce your pass program by email: an annotated example, emails to model yours on, and one-tap wallet links that issue the pass with no form to fill in.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://stell.mintlify.site/_mintlify/api/og/v2?division=Promote+your+program\u0026amp;title=Program+launch+emails+with+Add+to+Wallet+buttons\u0026amp;description=Announce+your+pass+program+by+email%3A+an+annotated+example%2C+emails+to+model+yours+on%2C+and+one-tap+wallet+links+that+issue+the+pass+with+no+form+to+fill+in.\u0026amp;theme=1ea336f175e78c0a157b45bf\u0026amp;signature=e98be759d52efec151d38228ce0dc4e245cc08be1b74e570270374a149f0cc6c\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/stell/J93C2Sxezv9CfvWS/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Stell\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#16A34A\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.getstell.com/promote/email\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/promote/email.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://getstell.com/#organization\",\"name\":\"Stell\",\"legalName\":\"Stell Tech AS\",\"url\":\"https://getstell.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://getstell.com/brand/stell-wordmark-navy.svg\"},\"sameAs\":[\"https://www.linkedin.com/company/stell-tech-as/\",\"https://www.youtube.com/@getstell\",\"https://github.com/Stell-Tech\"]},{\"@type\":\"WebSite\",\"@id\":\"https://docs.getstell.com#website\",\"name\":\"Stell\",\"url\":\"https://docs.getstell.com\",\"publisher\":{\"@id\":\"https://getstell.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.getstell.com/promote/email#webpage\",\"url\":\"https://docs.getstell.com/promote/email\",\"name\":\"Program launch emails with Add to Wallet buttons\",\"description\":\"Announce your pass program by email: an annotated example, emails to model yours on, and one-tap wallet links that issue the pass with no form to fill in.\",\"dateModified\":\"2026-10-12T13:02:59.420Z\",\"isPartOf\":{\"@id\":\"https://docs.getstell.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.getstell.com/promote/email#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.getstell.com/promote/email#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Promote your program\",\"item\":\"https://docs.getstell.com/promote/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Program launch emails with Add to Wallet buttons\",\"item\":\"https://docs.getstell.com/promote/email\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.getstell.com/promote/email#article\",\"headline\":\"Program launch emails with Add to Wallet buttons\",\"name\":\"Program launch emails with Add to Wallet buttons\",\"description\":\"Announce your pass program by email: an annotated example, emails to model yours on, and one-tap wallet links that issue the pass with no form to fill in.\",\"url\":\"https://docs.getstell.com/promote/email\",\"mainEntityOfPage\":{\"@id\":\"https://docs.getstell.com/promote/email#webpage\"},\"dateModified\":\"2026-10-12T13:02:59.420Z\",\"publisher\":{\"@id\":\"https://getstell.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.getstell.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Stell\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Stell","nav":{"global":null,"tabs":[{"tab":"Getting started","pages":[{"title":"Getting started","href":""}]},{"tab":"Merchant portal","pages":[{"title":"Merchant portal","href":"/programs/overview"}]},{"tab":"Launch \u0026 grow","groups":[{"group":"Overview","pages":[{"title":"Launch and grow a wallet pass program","sidebarTitle":"Launch \u0026 grow your program","href":"/launch-and-grow/overview"}]},{"group":"Merchant onboarding","pages":[{"title":"Onboarding checklist: from invite to a live program","sidebarTitle":"Merchant onboarding checklist","href":"/onboarding/checklist"}]},{"group":"Customer enrollment","pages":[{"title":"How customers enroll and get their wallet pass","sidebarTitle":"How enrollment works","href":"/enrollment/how-enrollment-works"},{"title":"Which wallet buttons customers see on each device","sidebarTitle":"Adding the pass to a wallet","href":"/enrollment/adding-to-wallet"},{"title":"Add to Wallet button for your website and emails","sidebarTitle":"Wallet button widget","href":"/enrollment/wallet-button-widget"},{"title":"Troubleshoot wallet pass enrollment problems","sidebarTitle":"Enrollment troubleshooting","href":"/enrollment/troubleshooting"}]},{"group":"Promote your program","pages":[{"title":"How to promote your wallet pass program","sidebarTitle":"Promote your program","description":"A launch plan and ready-to-adapt examples for promoting your pass program by email, social media, your website and in store, plus the wallet badge rules.","href":"/promote/overview"},{"title":"Program launch emails with Add to Wallet buttons","sidebarTitle":"Email","href":"/promote/email"},{"title":"Promote your pass program on social media","sidebarTitle":"Social media","description":"Post ideas and example copy for announcing your pass program on Instagram, Facebook, TikTok and LinkedIn, with every post routed to your enrollment link.","href":"/promote/social-media"},{"title":"Promote your pass program on your website","sidebarTitle":"Website and my page","href":"/promote/website"},{"title":"In-store posters and QR codes for your pass program","sidebarTitle":"In-store material","href":"/promote/in-store"}]},{"group":"Support","pages":[{"title":"Stell portal FAQ: passes, enrollment and Engage","sidebarTitle":"Frequently asked questions","href":"/support/faq"},{"title":"Contact Stell support","sidebarTitle":"Contact support","href":"/support/contact"}]}]},{"tab":"API reference","pages":[{"title":"API reference","href":"/api-reference/introduction"}]}]},"basePath":"","title":"Program launch emails with Add to Wallet buttons - Stell","buildId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","deploymentId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-NdetNziF.js","DynamicMarkdown-CD8713Yy.js","zoom-image-lightbox-DMoL6lHz.js","lightbox-handle-r17bVUz3.js"]}