Key takeaways
- Klaviyo flows for skincare differ from the generic ecommerce playbook in four ways: the product is consumable, results take weeks, buyers self-identify by skin type, and most churn happens before the product had time to work.
- The post-purchase education flow is the highest-value flow in the category, because the weeks after delivery are when a customer decides whether to keep going or quit.
- Time the review request to the results window, not to delivery. The AAD tells people to give an acne treatment six to eight weeks before judging it, and Klaviyo Reviews defaults to seven days after delivery.
- Replenishment timing should be per product, not one global delay. Estimate each product’s usage cycle from unit size and dose, then build a trigger-filtered flow per cycle.
- Store skin type, concerns, routine step and sensitivity as Klaviyo profile properties. A quiz, a sign-up form, or a preference page can all write them.
Klaviyo flows for skincare are not the standard five-flow template with different photos. Skincare has category facts that change what each flow should do, when it should fire, and what it should say.
This guide assumes Klaviyo is already connected to your store. If it is not, start with our Klaviyo and Shopify setup guide and come back. What follows is the flow architecture for a skincare brand: the triggers, the timing, the branching, and the reason each flow exists in this category specifically.
Why you can trust us
We have been in the Shopify space for over four years and have worked with hundreds of Shopify brands on their storefronts, a large share of them in skincare and beauty. We build Fudge, an AI storefront editor with a 5.0 rating on the Shopify App Store and Built for Shopify status, so we work on the storefront layer that feeds Klaviyo its data.
What makes skincare email different from generic ecommerce?
Four category facts drive every flow decision below.
Skincare is consumable and repeatable. A 30ml serum has a knowable life. That makes replenishment timing calculable rather than guessed, which is not true for a sofa or a pair of boots.
Results take weeks. The American Academy of Dermatology tells people to use an acne treatment for six to eight weeks before judging it, with full clearing generally taking three to four months.1 That makes the post-purchase window an education window, not a silence. A brand that goes quiet after the shipping confirmation abandons the customer during the exact period they are most likely to give up.
Buyers self-identify. Skincare shoppers know and will happily tell you their skin type, main concern, and sensitivity. Very few categories hand you that much zero-party data for free.
The biggest churn cause is quitting early. Not a bad product, and not price. A customer stops after three weeks because nothing visible happened, or because their skin got worse before it got better. Read every flow below against that single failure mode.
Klaviyo’s 2026 benchmark data, drawn from more than 183,000 brands, puts automated flows at nearly 41% of email revenue from 5.3% of sends, with a 5.58% average flow click rate against 1.69% for campaigns.2 Health and beauty sits slightly below that flow click average at 4.8%.2
The welcome flow: capture skin type before you sell anything
A generic welcome flow says “here is 10% off, here is our founder story.” A skincare welcome flow has a job the generic one does not: collect the data that makes every later flow work.
Where the skin-type question goes
You have three places to ask, and they trade off against each other.
- A Klaviyo sign-up form. Add a radio or dropdown field and map it to a custom profile property. Klaviyo stores anything beyond email as a custom property, and the field’s Profile property setting names it. Fastest to build, but every extra field costs signups, so one question is usually the limit on a popup. See our guide to adding an email popup in Shopify.
- A quiz. The right answer for most skincare brands. It captures skin type, concern, sensitivity and routine stage in one pass, and the shopper does not experience it as a form because they get a recommendation back. Our Shopify quiz funnel guide covers question design and answer mapping.
- A preference page. Klaviyo’s consent pages let you bind input fields to profile properties, so returning subscribers can fill in what they skipped. Good as a backfill, weak as primary capture.
Branching the welcome by concern
Once the property exists, put a conditional split after the first email. Klaviyo defines a conditional split as a component that creates two paths based on recipient properties or activities.
Branch on the concern, not the skin type. Acne and pigmentation want different education and different hero products. Oily versus dry mostly changes the texture recommendation, which the product copy can handle inside one email.
Keep it shallow. Two or three concern paths that stay accurate beat eight paths nobody maintains.
Lead with education, and put the discount late
The first email should teach the routine, not sell the catalogue. A short “here is the order to apply things in, and here is how long each step takes to show anything” email sets a realistic expectation before purchase and positions the brand as the source of advice.
If you use a discount, put it late. A code in email one trains the list that your price is a fiction, and it pulls in exactly the discount-hunter signups that wreck deliverability later.
A workable pattern: education in email one, product fit in email two keyed to the branch, social proof in email three, the incentive in email four or five with an expiry. The subscriber who was never going to pay full price still converts, and the one who would have is not handed a reason not to.
Browse abandonment and abandoned cart: answer the objection, not the price
Klaviyo triggers browse abandonment on the Viewed Product metric, which requires onsite tracking to be enabled, and the standard abandoned cart flow on Started Checkout. Klaviyo’s own guidance is two to three abandoned cart messages, first at two to four hours after abandonment and the second twenty to forty-eight hours later, with a flow filter for “Placed Order zero times since starting this flow.”
The skincare-specific part is the content, not the structure. The abandoning shopper here is rarely stuck on price. They are stuck on “will this break me out?” That objection does not respond to a discount ladder. It responds to three things:
- Ingredient reassurance. Name the actives and the concentration. Say what is not in it if that is what the segment cares about: fragrance-free, non-comedogenic testing, alcohol-free.
- Routine context. Show where the product sits in a routine and what it layers with. A shopper who cannot picture using the product does not buy it.
- Proof from someone like them. A review from a customer with the same stated skin type is worth more than a five-star average. If you have the skin-type property on profiles, you can filter the proof you show.
A discount can go in the third message. It should not go in the first, because a first-touch discount teaches abandonment.
The post-purchase education flow
This is the flow that matters most in skincare, and the one most brands under-build. The customer has paid, and nothing will visibly work for weeks. The only thing standing between them and a refund request or a silent churn is whether they use it correctly and know what to expect.
Trigger on Placed Order or Fulfilled Order, depending on whether the clock should start at purchase or at dispatch. Fulfilled Order tracks the delivery date more closely, which matters when the whole flow is calendared against first use.
| Timing | Job | |
|---|---|---|
| On fulfilment | Shipping plus how to patch test | Get first use right and pre-empt an irritation return |
| Day 3 | How to use it and what to expect | Set the results horizon before doubt appears |
| Week 2 | Purging versus breaking out, and the retinoid ramp | Catch the highest-risk quit moment |
| Week 4 | Check-in plus review ask | Ask for the review when there is something to review |
The shipping email carries the patch test. Not the packing slip, the email. It is the only touch guaranteed to be read before first use, and a customer who patch tests has a much better first week than one who applies an active to their whole face on night one.
Day 3 sets the horizon. Tell them plainly how long the product takes. It is the most valuable sentence in the whole flow, because a customer who has been told “six weeks” does not panic at week two.
Week 2 is the quit point. Separate purging from a genuine reaction, in your product’s own terms. If the product is a retinoid, this is where the ramp goes: the AAD’s advice is to start with the least intense formula and use it every other night, building up slowly, because skipping the ramp is what irritates skin.3 That instruction arriving at the moment irritation appears saves both the customer and the sale.
Why the review request is timed to results, not delivery
Klaviyo Reviews defaults to a review request seven days after a package is delivered, and three days after purchase for POS orders.4 That default is right for most categories and wrong for skincare.
At day seven the customer has an opinion about the packaging and the texture. They have no opinion about whether it worked, because per the AAD it takes six to eight weeks to know.1 A day-seven review says “smells nice, feels light.” A week four to six review says “my texture is visibly better,” and the second one converts the next shopper.
Push the delay out to match your product’s results window. The change applies only to orders recorded afterwards, so existing orders keep their original timing.4 If you collect reviews with a third-party app, see how to add review widgets in Shopify for the display side.
The replenishment flow: estimate the usage cycle, then set the delay
Replenishment is the flow that turns a skincare brand into a repeat business, and it is only as good as the delay you set.
How to estimate a product’s usage cycle
Work it out from the product, not from an average.
- Unit size. A 30ml serum.
- Dose per use. A serum dose is roughly 0.2ml to 0.25ml.
- Uses per day. Once for most serums, twice for a cleanser.
- Divide. 30ml at 0.2ml once daily is roughly 150 days. The same bottle used twice daily is roughly 75.
- Check it against your own repeat data. Klaviyo’s replenishment guidance is to analyse existing purchase data to find the established buying cycle, then remind slightly before it ends. Their worked example is a 30-day supply reminded at day 25.
Then subtract. Send before they run out, not after. A customer who finishes the bottle and has nothing on the shelf for a week has already broken the habit, and the habit is the asset.
Why one global delay does not work
A cleanser used twice daily and a 15ml eye cream used once are not on the same clock. A single 60-day flow reminds the cleanser buyer three weeks late and the eye cream buyer two months early. Both read as noise, and both cost engagement on a list where engagement is deliverability.
Implementing per-product timing in Klaviyo
Klaviyo’s time delay takes a fixed value you set in the builder: minutes, hours or days, with options to hold until a specific time of day or a specific day of the week. There is no documented delay that reads its length from a profile property, so variable timing comes from branching, not from a formula.
Two ways to build it:
- A flow per cycle. Trigger on Placed Order, add a trigger filter limiting entry to the products in that cycle band, set the delay, and add a flow filter so anyone who has placed an order since entering exits. Klaviyo’s replenishment documentation recommends exactly this filter pattern. Group products into three or four bands rather than building one flow per SKU.
- One flow with a trigger split. A trigger split branches on a characteristic of the triggering event, so you can split on the ordered product and give each branch its own delay. Fewer flows to maintain, but a wider tree, and Klaviyo notes you need existing metrics in the account before product dimensions populate in the split.
Start with three bands: fast (cleansers, toners, anything used twice daily), medium (serums, moisturisers), slow (eye creams, oils, SPF in winter markets). Refine once you have repeat data.
Routine completion and cross-sell: recommend the next step, not a bestseller
The default cross-sell flow recommends whatever sells best. In skincare that is close to useless, because the reason to buy a second product is that it completes a routine, not that other people liked it.
Klaviyo’s cross-sell pattern triggers on Placed Order or Fulfilled Order, with the built-in template sending fourteen days after fulfilment and product feeds constrained to a category or collection to keep the recommendation relevant.
Map the routine explicitly:
| They bought | Recommend next | Why |
|---|---|---|
| Cleanser | Moisturiser or toner | The step immediately after, same routine |
| Serum | SPF | Most actives increase sun sensitivity |
| Moisturiser | Cleanser | The step immediately before |
| Retinoid | Barrier cream or gentle cleanser | Supports tolerance during the ramp |
Watch layering conflicts. Do not recommend a second strong active to someone who just started a retinoid. A cross-sell that causes irritation costs you both products and the customer. Keep a conflict list and exclude conflicting products from the feed for that segment.
Time it to the routine, not the calendar. For skincare, the SPF cross-sell often works better inside the education flow at day 3, when the customer is actively thinking about how to use what they bought.
For brands that merchandise around routines rather than catalogues, see our roundup of the best Shopify stores in beauty and cosmetics.
Winback keyed to the missed replenishment cycle
A generic winback fires at 60 or 90 days for everyone. A skincare winback should fire when a specific customer missed a specific repurchase.
The logic sits downstream of the replenishment work. If a serum buyer’s cycle is 150 days and reminders went at day 130 and day 145, a customer still silent at day 180 has not simply gone quiet. They stopped using the product, or bought it elsewhere.
That changes the message. “We miss you” is weak here. Address the likely reason:
- They did not see results. Offer the routine advice they missed, not a discount. A “here is what usually needs adjusting at month two” email re-opens the conversation.
- Seasons changed. Skin needs shift between winter and summer. A winback that reframes the product for the current season gives a real reason to return.
- They switched. This is the one where an incentive earns its place, in the last message of the sequence.
Two or three emails over two weeks is enough. Anyone who does not engage should flow straight into sunset.
Sunset and deliverability: skincare lists fill with discount hunters
Skincare runs more signup incentives than almost any category, so the list accumulates people who wanted a code and never wanted the brand. Left alone, they drag open rates down and take deliverability with them.
An active sunset policy is not optional here. Klaviyo’s guidance is no more than three emails, followed by a short grace period: roughly three days if you send daily, seven to ten if you send less often. Use an update profile property action to tag anyone who does not engage, with flow filters so anyone who opens or clicks exits before the tag is applied.
Then suppress. Klaviyo is explicit that continuing to send to unengaged contacts damages deliverability, and that they should be excluded from most campaigns.
The practical rule: a subscriber with no open or click in ninety days and no purchase is a discount signup, not a customer. A smaller list that reaches the inbox is worth more than a large one that lands in Promotions.
Segmentation and data: what to store on a Klaviyo profile
The flows above only work if the data exists. Four custom profile properties do most of the work.
| Property | Example values | Used by |
|---|---|---|
| Skin type | Oily, dry, combination, normal | Welcome branch, product recommendations |
| Primary concern | Acne, pigmentation, ageing, redness | Welcome branch, education content, winback angle |
| Routine step owned | Cleanse, treat, moisturise, protect | Cross-sell targeting |
| Sensitivity | Sensitive, not sensitive | Active-strength gating, layering cautions |
Klaviyo stores anything beyond the standard fields as a custom property, and custom properties are usable in segment conditions, conditional splits, and message personalisation.
Getting the data into Klaviyo from Shopify
This is where most implementations get stuck, so here is what actually syncs.
What comes across on its own. The integration syncs Placed Order, Ordered Product, Started Checkout, Fulfilled Order, Cancelled Order and Refunded Order, plus onsite events like Viewed Product, Added to Cart, Viewed Collection and Active on Site, which come from Klaviyo’s snippet rather than natively from Shopify. Customer fields sync too, along with any custom tags assigned to that customer in Shopify.
What product data you get in events. Ordered Product events carry the product name, SKU, product and variant IDs, variant options, the collections the product belongs to, and any tags applied to the product. That is enough to build a routine-step model with no custom development: tag products step-cleanse, step-treat, step-moisturise, step-protect, and your cross-sell splits read the tag straight off the event.
What does not sync. Shopify product metafields are not part of the synced event payload. Metafields are the right place for structured data like active concentration or a comedogenic rating, so mirror the value you need into a product tag for Klaviyo’s benefit, or push it yourself. Our guide on adding metafields to Shopify products covers the Shopify side.
Writing quiz answers to a profile. If your quiz lives in your theme rather than in a Klaviyo form, post the answers to POST /client/profiles, authenticated with your public API key as the company_id query parameter. It creates or updates profile properties without recording an event. Klaviyo is explicit that a private API key must never be used on client-side endpoints.
The reverse direction. Klaviyo can sync custom profile properties back to Shopify as customer metafield definitions. Shopify caps definitions at 250 per object, and a sync fails to update if the data type differs from the one the definition was created with.
Compliance: consent and claims
Two things to get right.
Consent. Under GDPR, consent must be freely given, specific, informed and unambiguous, and granular, meaning subscribers can opt into some types of marketing and not others. Klaviyo stores the selected values as a $consent property on the profile. You must also retain the exact language shown at the point of consent along with the date and time. Double opt-in is Klaviyo’s recommended practice for GDPR compliance.
Claims. A marketing email is promotional material, and promotional material establishes intended use. The FDA is direct: whether a product is a cosmetic or a drug is determined by intended use, and claims made in labelling, advertising, on the internet, or other promotional materials can establish a product as a drug.5 A product intended to make wrinkles less noticeable by moisturising is a cosmetic. One intended to remove wrinkles or increase collagen production is a drug, and products intended as acne treatments are drugs.5
So the claim rules that apply to your product page apply identically to the email, including the automated ones nobody re-reads. Review flow copy on the same schedule as your PDPs, and check regional rules for the markets you ship to.
The full skincare flow map
| Flow | Trigger | Timing | The skincare-specific job |
|---|---|---|---|
| Welcome | List or segment, from form or quiz | 4-5 emails over 10 days | Capture skin type and concern, set expectations, hold the discount back |
| Browse abandonment | Viewed Product | 1-2 emails within 24h | Answer “will this break me out” with ingredients and routine fit |
| Abandoned cart | Started Checkout | 2-3 emails, first at 2-4h | Reassure on suitability before discounting |
| Post-purchase education | Placed Order or Fulfilled Order | 4 emails over 4 weeks | Keep the customer using the product through the no-results window |
| Review request | Delivered, delayed | Week 4-6, not day 7 | Collect a review that describes results, not packaging |
| Replenishment | Placed Order, product-filtered | Per product cycle, before empty | Reorder before the habit breaks |
| Routine cross-sell | Placed Order or Fulfilled Order | Day 3 or day 14 | Complete the routine, avoid layering conflicts |
| Winback | Segment, cycle missed | 2-3 emails over 14 days | Address why they stopped, not that they left |
| Sunset | Segment, unengaged 90 days | Max 3 emails plus grace period | Remove discount signups before they cost deliverability |
Where Fudge fits
Klaviyo owns the email. Your storefront owns the data that makes the email worth sending, and that is the half most brands leave half-built.
Fudge is an AI storefront editor that writes native theme code: Liquid, CSS and JavaScript, directly in your theme. Describe the skincare quiz that feeds skin type into Klaviyo, the signup form that asks one concern question, or the post-purchase page that explains the routine, and Fudge builds it on your existing theme.
Because the output is theme code rather than an app-rendered layer, there is no extra script on top of the Klaviyo snippet you already have, and the build survives uninstall. The same holds for anything else you make with the Shopify store editor.
FAQ
Start with five: welcome, abandoned cart, post-purchase education, replenishment, and sunset. Add browse abandonment, routine cross-sell and a cycle-based winback once the first five are running and you have repeat purchase data. The post-purchase education flow is the one to build first and best, because skincare results take weeks and that gap is where customers quit.
Later than the default. Klaviyo Reviews sends seven days after delivery out of the box, which captures an opinion about packaging and texture rather than results. The American Academy of Dermatology says an acne treatment needs six to eight weeks before you can judge it, so push the delay to match your product's own results window. Changing the setting only affects orders recorded after the change.
Klaviyo's time delay is a fixed value you set in the builder, so variable timing comes from branching. Either build one metric-triggered flow per cycle band with a trigger filter limiting entry to those products, or use a single flow with a trigger split that branches on the ordered product and gives each branch its own delay. Add a flow filter excluding anyone who has placed an order since entering.
Three routes. Add a radio or dropdown field to a Klaviyo sign-up form and map it to a custom profile property. Run a quiz and write the answers to the profile, either through a Klaviyo form or by posting to the client-side /client/profiles endpoint with your public API key. Or add the field to a preference page so existing subscribers can fill in what they skipped.
If you use one, put it late. A code in the first email trains the list that your list price is negotiable and pulls in discount-hunter signups who never engage again. Lead with routine education, branch by concern, then place the incentive in email four or five with an expiry.
No. The Shopify integration sends product name, SKU, product and variant IDs, collections and product tags in Ordered Product events, but not metafields. If you hold structured attributes like active concentration in metafields, mirror the value into a product tag so Klaviyo can read it, or push the data yourself via the API. Klaviyo can sync in the other direction, creating customer metafield definitions in Shopify from Klaviyo profile properties.
Because the category runs more signup incentives than almost any other, so lists fill with people who wanted a code rather than the brand. Run an active sunset policy: Klaviyo recommends no more than three sunset emails plus a short grace period, an update profile property action to tag non-engagers, and suppression after that. Continuing to send to unengaged profiles damages deliverability for everyone else on the list.
Footnotes
-
American Academy of Dermatology, “10 skin care habits that can worsen acne” - “Give an acne treatment time to work. You want to use a product for 6 to 8 weeks,” with full clearing generally taking three to four months. https://www.aad.org/public/diseases/acne/skin-care/habits-stop ↩ ↩2
-
Klaviyo, “2026 Email Marketing Benchmarks by Industry,” based on data from over 183,000 Klaviyo customers: flows generated nearly 41% of email revenue from 5.3% of sends, with a 5.58% average flow click rate against 1.69% for campaigns. The 4.8% health and beauty automated email click rate is from Klaviyo’s accompanying benchmarks write-up. https://www.klaviyo.com/products/email-marketing/benchmarks and https://www.klaviyo.com/uk/blog/email-marketing-benchmarks-open-click-and-conversion-rates ↩ ↩2
-
American Academy of Dermatology, “Retinoid or retinol?” - advice to use the least-intense formula available and apply it every other night to start, building up slowly. https://www.aad.org/public/everyday-care/skin-care-secrets/anti-aging/retinoid-retinol ↩
-
Klaviyo Help Center, “How to adjust review request timing” - the default is seven days after a package is delivered for online orders and three days after purchase for POS, and changes apply only to orders recorded after the setting is updated. https://help.klaviyo.com/hc/en-us/articles/16682549669403 ↩ ↩2
-
U.S. Food and Drug Administration, “Is It a Cosmetic, a Drug, or Both? (Or Is It Soap?)” - intended use determines classification, and claims in labelling, advertising, on the internet, or other promotional materials can establish a product as a drug. https://www.fda.gov/cosmetics/cosmetics-laws-regulations/it-cosmetic-drug-or-both-or-it-soap ↩ ↩2