Loyalty & VIP Email for Coffee Brands

A loyalty email built for coffee roasters that gives top spenders first dibs on a new micro-lot before it goes public. Its one job: confirm a customer hit Gold tier, then route them to a single link to claim the roast.

Open the full email ↗ Get this on your brand
Live preview View HTML ↗

What makes this loyalty / VIP work for coffee / tea

Coffee is a reorder business with a short shelf life. Your best customers buy a bag every two to four weeks, and they care which lot is in the bag. That is what makes a loyalty send land here when it would flop for a generic retailer. You are not offering status for its own sake. You are offering access to a finite, perishable product before anyone else can buy it. Lead with the roast, not the tier.

Trigger on a tier flip or a drop, never a calendar. The strongest send fires the moment a customer crosses a points threshold, say 5,000 points in a trailing 12 months. Your loyalty platform pushes the event into Klaviyo or Mailchimp, and the email lands within the hour. The same trigger works for the quarterly micro-lot that is 48 hours from going public. Gold members get the early link, the rest of the file gets it Thursday. Calendar blasts to the whole VIP segment train people to ignore you.

Timing. For a tier-up email, send the moment the milestone hits. For an early-access send, give Gold members a real window. Forty-eight hours is the sweet spot. Less than 24 and the perk feels like a head start nobody can use. More than a week and the public release loses its punch. Coffee is time-sensitive at the source: green coffee is finite, a micro-lot might be 200 bags total, and once it sells out it is gone. Name the scarcity in the subject.

The offer is access, not a discount. Your top 5 percent already pay full price for $22 bags, so a 15 percent off code reads as a coupon, not a reward. The line that moves a coffee VIP is "Shop the Honduras lot 48 hours before everyone else," paired with a concrete points number: 5,250 points = $52 toward your next bag. For a tea brand, swap the lot for a first-flush Darjeeling or a seasonal oolong release. Numbers outperform adjectives every time, and they survive the handoff between you and your client.

The copy angle. Personal, signed by a real roaster, anchored to a named farm. Pair the early-access line with a one-line tasting note and an origin detail: the farm, the altitude, two tasting notes. That specificity is what a discount can never do, and it is what makes a coffee VIP forward the email. Avoid "exclusive offer for our valued members." Read like a note from a roaster who set bags aside for you.

CTA. One button, one destination. "Shop the Honduras lot early" to the gated product page or a pre-filled cart with the member's points already attached. Loyalty emails that stack three buttons for shop, redeem, and refer cut the primary click rate roughly in half. Pick one link and tag it with one UTM so the revenue traces to this send.

Example subject and preheader. Subject: Maya set aside 200 bags for the Circle Preheader: The Honduras lot opens to Gold 48 hours early.

Example body line. "Hey {{ first_name|default:'friend' }}, you crossed 5,000 points this year, which puts you in the top 5% of Driftwood drinkers. Our new Honduras micro-lot goes public Thursday. As a Gold member, you can order it now."

Expect high engagement. VIP coffee segments typically open at 2 to 3x your broadcast average and click through at 4 to 6x. That is why the single CTA matters so much. Every secondary click is revenue left on the table.

Compliance. Account-bound early-access links stop the perk leaking to non-members on Reddit. Exclude EU profiles if you have not accounted for VAT on a points-redemption discount. Keep email and SMS consent separate, and suppress anyone who unsubscribed before the send.

Why it renders in every inbox

This template compiles to the HTML Klaviyo and Mailchimp actually send. Nothing in it depends on a client that strips things.

Nested tables, not divs or flex. Every section is a table inside the 600px container table. Flexbox and CSS grid do not exist in Outlook and half of Gmail. Tables work everywhere.

Inline CSS on every element. The compiled output puts styles inline on each tag. Gmail drops head style blocks for some accounts once a message clips above roughly 102kb, and Yahoo has done the same. Inline styles survive both. The whole file sits near 30kb, so the clip never triggers in the first place.

Bulletproof VML button. Outlook desktop runs the Word rendering engine, which flattens a normal CSS button into underlined text. The CTA ships as a real v:roundrect wrapped in an mso conditional, with an anchorlock, so Outlook 2016, 2019, and 365 draw an actual clay-colored, clickable rectangle. In Gmail and Apple Mail the same link renders as a normal styled button. We verified the VML in the compiled output.

Live text, not image text. The headline, the points balance, the tasting note, and the CTA are real characters. Gmail blocks images by default until the recipient allows them. If your headline were an image, half your list would see a blank box. Live text also reads correctly in dark mode and in screen readers, and the recipient can copy the points number.

Dark-mode color-scheme meta. The head carries the color-scheme and supported-color-schemes tags set to light dark, so Apple Mail and Outlook invert the cream background predictably instead of guess-flipping it to a muddy gray. The espresso hero keeps its color because it sits on a table background Apple Mail leaves alone.

One mobile media query. A single max-width:480px block shrinks the headline, the lead, and the points number. More than one authored media query starts fighting itself in Yahoo and AOL. One is enough.

Web-font fallbacks. The headline loads Fraunces through an mj-font import, with a family stack that walks down through Georgia, Times New Roman, and serif. The body uses a system stack of Apple, Segoe UI, Roboto, Helvetica, Arial. Google Fonts load where supported. The layout never depends on a web font arriving, so the email holds its shape on Android and in Outlook whether the font loads or not.

How to use it in Klaviyo or Mailchimp

1. Copy the HTML. Use the compiled HTML when you paste, not the MJML source. Edit the MJML only if you want to change the layout itself.

2. Paste into your ESP. Klaviyo: open the campaign or flow email, switch to Source, or drag in an HTML block, and paste. For a reusable template, go to Email Templates, Create Template, Import HTML. Mailchimp: Create, Email, Code your own, Paste in code. Drop the full document in.

3. Swap brand, palette, links. Replace the logo text or image URL, the three brand hex values in the head defaults (espresso #2A1D14, cream #F7F1E8, clay #B5532A), and the CTA link. Point the button at the gated micro-lot product page or a pre-filled cart with the member's points attached. Rename "Roaster's Circle" to your program name if it differs.

4. Wire the merge tags. Klaviyo: {{ first_name|default:'friend' }} for the name. Pull the points balance from the profile property your loyalty integration writes, for example {{ person|lookup:'loyalty_points' }}. For the early-access link, generate a unique URL per profile through your loyalty platform, or hard-code the gated collection link if access is controlled on the store side. Tag the link with a UTM like utm_source=klaviyo&utm_medium=email&utm_campaign=circle_honduras. Mailchimp: *|FNAME|* for the name. Merge the points balance from the merge tag your integration syncs, for example *|LOYALTY_POINTS|*. Link to the gated product URL. For both: hard-code the public-release date (Thursday) in the body so it reads as a real deadline, not a variable that might render blank.

5. Test before you send. Send a preview to Gmail web, the Gmail app, Apple Mail, and Outlook 2019 or 365. Then toggle dark mode on the phone and re-check the cream background, the points card, the roaster note, and the button. If your client owns Litmus or Email on Acid, run the full render check there. Fix what broke, then schedule the send for the moment the tier flips, or 48 hours before the public release.

Questions

Is this loyalty VIP email template free to use? +

Yes. Copy the compiled HTML or the MJML source and paste it into Klaviyo or Mailchimp for any coffee or tea client. No license fee, no credit required. You own what you send to your list.

Will it render properly in Outlook? +

Yes. The CTA is a bulletproof VML button, so Outlook's Word engine draws a real clay-colored, clickable rectangle instead of flat underlined text. The rest is nested tables and inline CSS, the two things Outlook respects. We compiled and checked the output against Outlook 2016, 2019, and 365.

Can I match it to my roaster's brand colors? +

Yes. The palette lives in one spot in the MJML head, three hex values. Swap espresso brown, cream, and clay for your roastery's colors and the whole email follows. Replace the logo, the roaster name, the lot name, and the tasting note to make it yours. For a tea brand, the same three swaps recolor it for a flush or blend release.

Do I need to know HTML to use this? +

No. Paste the compiled HTML straight into Klaviyo or Mailchimp and you are done. Most roasters and the strategists who serve them swap the logo, the colors, the lot name, and the link, then ship. If you want to change the layout, the MJML source is readable and you can edit it in any browser-based MJML editor.

Want this on your client's brand?

Paste a client's site and we build a real, on-brand sample in clean, ESP-safe HTML you can paste into Klaviyo.

Get a free sample

More templates