Building a DTC lifecycle marketing system from customer data to automated customer journeys โ for AAVYA, a fictional botanical skincare brand created specifically to demonstrate hands-on Klaviyo execution.
This case study walks through a complete Klaviyo build for AAVYA โ starting with the customer data foundation, moving through audience segmentation and lifecycle flow architecture, into email design, personalization, signup capture, campaigns, A/B testing, and finishing at QA and analytics. Every screen shown is a real screenshot from the Klaviyo account this project was built in, not a mockup.
Most DTC brands can turn on a welcome email in an afternoon. The harder problem โ the one this project is actually about โ is building the structure underneath it: who is this customer, where are they in their relationship with the brand, what have they shown interest in, what did they just do, and what should happen next as a result.
Every customer gets the same generic campaign, regardless of whether they're a first-time browser or a repeat buyer. Nothing responds to behaviour. Communication is a broadcast, not a conversation.
Data structures the audience, segments turn that data into meaning, and flows respond to behaviour automatically โ a browser gets a nudge, a first-time customer gets onboarded, a high-value customer gets recognised. This project builds that structure inside Klaviyo, end to end.
Import and structure profile data with the properties a lifecycle system needs.
Turn raw customer data into segments that actually change what a person receives.
Map ten flows to the moments in a customer's journey that actually warrant one.
Build a consistent AAVYA visual system that scales across every touchpoint.
Use profile and behavioural data inside emails, with safe fallback handling.
Branch a flow based on what a customer actually does, not just time delays.
Build and structure a subject-line test the way a live campaign would use one.
Show the difference between automated flows and one-time targeted sends.
Lay out what would be monitored once this system runs on real traffic.
Check triggers, filters, personalization, and content before anything ships.
Klaviyo's building blocks only work as a lifecycle system when they're wired together deliberately. This is the shape of the AAVYA build: customer data feeds lists and segments, segments and events trigger flows, flows and campaigns carry personalized email, and analytics and QA close the loop.
The AAVYA account runs on a portfolio/demo dataset of 50 imported profiles. These aren't verified real subscribers โ they exist to give the lifecycle system real data to segment against, rather than building segments against empty lists. Each profile carries the properties a skincare DTC brand would actually use: name, location, signup source, product interest, customer status, order history, and engagement.
The properties structuring this dataset: First Name, Last Name, City, Gender, Age, Signup Source, Product Interest, Customer Status, Total Orders, Total Spent, Last Purchase Date, and Email Engagement. Customer Status is the property that powers most of the lifecycle segmentation shown in the next section.
A list is the core database โ everyone who's opted in. A segment is dynamic logic layered on top of that data. A flow is the automated journey a segment or event can trigger. Getting this layering right is what separates a lifecycle system from a spreadsheet of email addresses.
Rather than building isolated automations, each flow in this system answers a specific question: what does this person need to hear right now, given what stage they're at and what they just did?
Built = flow canvas screenshotted below with trigger, timing and logic. Designed = audience segment exists and is evidenced in Klaviyo (see above), flow architecture is mapped in Section 08, but a flow-canvas screenshot wasn't captured for this portfolio โ noted honestly rather than implied.
Trigger, audience, purpose and the key logic behind each of the ten flows โ the mechanics, not just the names.
Triggered the moment someone is added to AAVYA โ Email Subscribers. Two emails, four days apart: an immediate welcome, then a product-discovery follow-up that personalizes around whatever product interest the profile has on file.
Triggered by the Checkout Started event, restricted to AAVYA subscribers, with a 30-day re-entry window. The part that actually demonstrates Klaviyo logic: a conditional split three hours in, checking whether the person has placed an order before deciding whether they get a second nudge.
Triggered by Placed Order. Four emails spread across 34 days, moving a new customer from a simple thank-you through product education, a review request, and a final discovery nudge โ each timed to when that message is actually useful, not just evenly spaced.
The spacing is deliberate: a Day 1 thank-you feels immediate, Day 6 education gives the customer time to actually start using the product before being taught more about it, a Day 20 review request lands after they've had a real skincare routine's worth of experience, and Day 34 discovery reopens the door to a second purchase once the first product is roughly due for a refill.
Triggered when someone is added to AAVYA โ Engaged 90 Days. A second conditional split, this time checking email engagement rather than purchase behaviour โ the same Split building block, applied to a different signal.
Browse Abandonment, Repeat/Loyalty, Winback, Product Education, High-Value, and First-Time Customer are all mapped in the flow system table above, and every one of their trigger audiences is a real, evidenced segment in this account (see Section 06). What's honestly missing from this specific evidence set is a flow-canvas screenshot for each โ so rather than imply more than was captured, here's what each is built on and what it's designed to do.
Trigger: Viewed Product. 2-hour wait โ email โ 20-hour wait โ conditional split on purchase, mirroring Cart Abandonment's logic. Klaviyo needs ecommerce/Shopify event integration for the "Viewed Product" trigger to fire live โ that integration wasn't completed in this portfolio, so this is architecture documentation rather than a claimed live build.
Trigger: AAVYA โ Repeat Customers (12 members, evidenced in Section 06). 90-day re-entry. Appreciation โ Early Access โ Product Discovery โ rewarding a second or third purchase without waiting for a high-value threshold.
Trigger: AAVYA โ Inactive Customers (4 members, evidenced in Section 06). Email 01 โ conditional split โ Email 02 โ Email 03, escalating gently rather than assuming the relationship is over after one message.
Trigger: AAVYA โ Product Interest: Vitamin C Serum (4 members). Education โ Routine โ Product Discovery. This is the one flow in the group with real send-level proof: the AAVYA โ Vitamin C Routine campaign in Section 22 sent to this exact segment.
Trigger: AAVYA โ High Value Customers (14 members, the largest lifecycle segment). Appreciation โ Early Access โ Product Discovery, recognising the customers a real DTC brand would least want to lose.
Trigger: AAVYA โ First-Time Customers (10 members). Thank You โ Routine Guide โ Discovery โ a lighter-weight onboarding arc distinct from the full Post-Purchase flow, aimed at converting a first purchase into a habit.
Every AAVYA email shares the same design system: warm cream backgrounds, deep botanical green typography, minimal product photography, and a single consistent CTA style. Reusing this system โ rather than designing each email from scratch โ is what made a 10-flow, 3-campaign build achievable without the brand starting to feel inconsistent by email seven.
Two levels of personalization are built into this system: a simple first-name merge tag with a safe default, and a more advanced lookup tag that pulls a profile's Product Interest property directly into email copy.
{{ first_name|default:'there' }} โ if a profile has no first name on file, the email still reads naturally instead of showing a blank or breaking.{{ person|lookup:'Product Interest'|default:'AAVYA skincare' }} โ pulling a custom profile property into the email body, with its own independent fallback.The AAVYA โ Welcome Gift Signup Form is the entry point into everything else in this build: a submission adds the profile to AAVYA โ Email Subscribers, which is the exact trigger the Welcome Series listens for.
Flows are the automated, always-on lifecycle communication. Campaigns are one-time, deliberately targeted sends โ the tool for "everyone interested in Vitamin C gets this specific email today," not an ongoing journey. Three campaigns were built, each targeting a different real segment from Section 06.
The Vitamin C Routine campaign was built with two subject-line variations โ a straightforward testing setup, not a statistically significant result. With 4 recipients on this segment, no meaningful open-rate or click-rate comparison is possible, and this project doesn't claim one.
{{ first_name|default:'Your' }}, discover your AAVYA routine ๐ฟ โ a direct, benefit-led line.{{ first_name|default:'Your' }}, A brighter routine starts here ๐๐ฟ โ a more aspirational, emoji-forward line, testing tone rather than just wording.No performance results are fabricated anywhere in this case study. What's shown instead is the measurement framework this system is built to support, plus the honest current state of a Klaviyo account that was built and QA'd but deliberately never turned on for live sending.
Delivered, Open Rate, Click Rate, Conversion, Revenue, Unsubscribe
Recipients, Open, Click, Conversion, Revenue per Recipient
Submissions, Conversion Rate
Segment size, growth rate over time
Every flow and campaign in this project went through the same checklist before being considered done โ which is exactly how the unsubscribe-link warning in Section 23 got caught rather than shipped.
This is the section that matters most for judging what this project actually proves. Being clear about the difference between "built" and "live" is more valuable than making the portfolio look more finished than it is.
Lists ยท Profiles ยท Segments
Signup Forms ยท Flows ยท Campaigns
Templates ยท Personalization
Conditional Splits ยท A/B Testing
Analytics ยท QA
Acquisition ยท Engagement
Conversion ยท Retention
Winback ยท Customer Loyalty
Audience architecture
Lifecycle mapping
Message relevance
Customer journey design
Measurement framework
AAVYA's Klaviyo environment demonstrates how customer data, audience segmentation, automated flows, targeted campaigns, personalization, testing, and measurement can work together as one lifecycle marketing system.
Designed as a portfolio implementation to demonstrate practical Klaviyo workflow execution, built after completing the Klaviyo Practitioner certification.