Post-Purchase Email for Skincare Brands

A skincare post-purchase email has one job: teach the customer to use the active right so they re-order. Get the amount, the AM/PM timing, and the patch-test note right, and a retinol buyer turns into a routine that refills.

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

What makes this post-purchase work for skincare / beauty

Skincare post-purchase is where the refill is won or lost. A customer who uses the active wrong gets no result, or worse, a reaction, and never buys again. So this email does not sell. It teaches. Land it the day the bottle arrives, set the usage rhythm, and cross-sell the one product that makes the routine work.

Trigger on fulfillment, not on order. Klaviyo's Fulfilled Order event (or a Delivered metric from your integration) fires when the package lands on the doorstep, so the instructions arrive with the serum instead of two days early while the buyer is still waiting. Day 2 or 3 after delivery is the sweet spot. Post-purchase messages in beauty open high, often above 50 percent, because the customer just paid and wants to know what they bought.

We skinned this template for a demo brand called Vesper and built it around a retinal serum, the one SKU where usage instructions are non-negotiable. The subject line is "Your Retinal Serum, start here," and the preheader does the reassurance in one line: PM only, a pea-sized drop, SPF every morning. Get the amount wrong and the customer quits in week one with irritation. So the email states it flat: one pea-sized drop for the whole face, every other night to start, on dry skin after cleansing, never on the same night as an acid.

The patch-test note is the line that saves your review score. Three nights behind the ear before the first full application. Actives get blamed for reactions a patch test would have caught, and a single one-star "this burned my face" review undoes a month of paid acquisition. State the test plainly and the customer trusts you.

Copy sets the rhythm with exact times. "PM, every other night" outperforms "use daily." Then set the AM half of the routine: retinoids increase sun sensitivity, so a broad-spectrum SPF every morning is not optional. That sets up the one cross-sell.

The offer that fits this vertical is routine completion, not a discount. Pair the serum with the daily SPF at full price, because a retinol buyer who does not own sunscreen either quits from irritation or never sees the result. One complementary product, never a grid. Skincare cross-sell that reads as education converts better than a percentage off, and discounting a clinical active signals it does not work.

The single CTA is "Add the Daily SPF." If the buyer already ordered the SPF in the same cart, suppress this block with a product filter and show a refill reminder on the bottle's reorder window instead. And keep every claim cosmetic. "Improves the look of fine, dry lines" is fine; "treats acne" or "reverses wrinkles" turns the product into a drug under FDA rules and breaks the EU cosmetic claims regulation (655/2013), which ties every claim to a named Responsible Person.

Why it renders in every inbox

Email clients are not browsers, and in skincare the usage instructions have to survive the inbox. Outlook on Windows lays out HTML with the Microsoft Word engine, which ignores flexbox and grid. Gmail strips the head stylesheet. Apple Mail can invert colors in dark mode. This template is written for those rules.

The whole layout is nested HTML tables, not divs. A 600px container holds every section, and each row is a table cell with explicit padding, so the structure holds in Word-based Outlook where div layout collapses. Every visual style is inline on the element, so nothing depends on a head stylesheet that Gmail throws away. The usage steps, the patch-test note, the amount, and the price are all live HTML text, not words baked into an image. That matters more in skincare than in most verticals: customers open these emails on their phone, on the bathroom counter, and re-read the AM/PM routine the first few nights. Live text stays sharp when the inbox blocks images by default, and screen readers read it. The only image is the SPF tube, with real alt text.

The call to action is a true bulletproof button. For Outlook it is a VML roundrect inside an mso conditional, which draws a solid plum fill with centered white text in Word's engine. Every other client gets a styled anchor inside a bgcolor cell, so the same button shows up as a filled clickable shape instead of a thin underlined link. The head carries the color-scheme and supported-color-schemes metas set to light only, plus the x-apple-disable-message-reformatment tag, so Apple Mail and Outlook.com leave the cream ground and plum accent alone instead of inverting them into mud. There is one mobile media query, the only one, which scales the serif headline down and widens the button on small screens. The display face is Fraunces with a Georgia fallback, and the body is Manrope with Helvetica and Arial behind it, so the email keeps its character in Outlook and Gmail where web fonts do not load.

How to use it in Klaviyo or Mailchimp

The flow is copy, paste, reskin, wire, test. You do not need a developer.

First, render the MJML to HTML, or copy the HTML straight from the page preview. In Klaviyo, open your post-purchase flow, create or edit the first email, choose the HTML editor (or drop an HTML block into the drag-and-drop builder), and paste the full markup in. In Mailchimp, start an automated post-purchase email, pick "Code your own," then "Paste in code," and drop the HTML there. Both editors keep the table structure and the inline styles intact.

Next, reskin it. Swap "VESPER" for your brand, and replace the SPF image source with your own hosted photo, kept near 320px square so it stays crisp on retina. To recolor, find and replace four hex values: the plum accent #6E4A5E, the warm ink #2A2326, the cream ground #F6F2EE, and the muted secondary text #756E74. Update the product name, the active concentration, the price, and the usage copy, and point every example.com link at your real product, unsubscribe, and preferences URLs.

Then wire in your ESP's dynamic tags so the email pulls the item the customer actually bought. In Klaviyo, key the routine block off the Fulfilled Order event and surface the purchased product name with {{ event.extra.items.0.product.name }}, so a buyer who ordered Retinal 0.05% sees the right strength and dose. Target the SPF cross-sell at the serum's collection or a related-products feed, and suppress the block for anyone who already bought the SPF in the same order with a product filter. In Mailchimp, use the Order Item block or the *|PRODUCT:name|* merge to rebuild the purchased product, and point the button at your SPF product page, not at *|CART:URL|*, which is for abandoned cart, not post-purchase. If you sell on subscription, pull the refill interval from Recharge or your ESP's subscription tag for a reorder nudge around day 60. Confirm the unsubscribe link is your provider's required tag, and paste in your real physical mailing address, which CAN-SPAM and every ESP require.

Last, test before you send. Send a preview to yourself and open it in Gmail, Apple Mail, and Outlook on Windows, then toggle dark mode on a phone. Click the button to confirm the SPF link resolves, check that the usage steps are still live text, and verify the unsubscribe works. When it passes, set the trigger, a Fulfilled Order with a delay of a day or two, and let it run.

Questions

Is this post-purchase email free to use for my skincare brand? +

Yes. The MJML and the compiled HTML are free to copy, edit, and send, including for client work. The Vesper brand, the Retinal 0.05% Night Serum, the Daily Mineral SPF 30, and the usage copy are demo placeholders, so swap in your own product, active, concentration, and price before you send. No attribution is required.

Will it render in Outlook? +

Yes. The compiled HTML is nested tables with inline CSS, and the button uses a VML roundrect inside an Outlook-only conditional comment, so it draws as a solid filled plum shape in Word-based Outlook instead of collapsing to a plain link. Fraunces and Manrope fall back to Georgia and Arial there, and the color-scheme metas keep the cream ground from inverting in dark mode.

Can I match the colors to my skincare brand? +

Yes. The palette is four hex values you can find and replace: plum accent #6E4A5E, warm ink #2A2326, cream ground #F6F2EE, and muted text #756E74. The product name, the active concentration, the usage steps, and the price are all live text, so you edit them like any other words. Keep body-text contrast above 4.5 to 1, and keep the benefit claims cosmetic when you rewrite them.

Do I need to know HTML to use it? +

Not to send it as-is. Paste the compiled HTML into Klaviyo's or Mailchimp's code editor and change the visible text, the SPF image, and the four hex colors with find-and-replace. Wiring the purchased-product merge tag and the SPF suppression filter takes some familiarity with Klaviyo or Mailchimp merge syntax, but you leave the table structure alone.

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