Intern
What you actually do
Day one: name states. You have flows; you may not have a lifecycle. Draw next moves and suppressions. Do not add a flow until a state is missing a move. LTV is the north star — write where it is computed.
Library / DTC brands / Lifecycle map
Tabletop has occasion logic. Campaigns without flows waste peak weeks.
Read it once, then stop negotiating with it. Lifecycle map for tabletop brands is a wiring job: name states → next move → suppress → ltv. Objects, then edges, then one test conversion. You do not need a new tool to start. You need the first writer to land on one contact this week.
Tabletop brands do not have a Lifecycle map problem because they lack Shopify + Klaviyo. They have it because you have flows. You do not have a lifecycle.
Wire these objects first: Named states (visitor, subscriber, buyer, repeat, lapsed, unsubscribed), next move per state, suppression rules, LTV as north star, flows covering states, Shopify+Klaviyo join.
Then these edges, in order: State definition → properties/segments that can be audited on a profile · Each state → one next move (flow or campaign class), written · Suppression matrix → which states never get which messages · LTV / repeat rate → scoreboard; open rate demoted
Done looks like a test you can repeat: Pick five real profiles, one per state if you can. Read the map and predict the next message. Check Klaviyo: you should be right. If a buyer got a first-order coupon, the map is not installed. LTV should be a number you can find.
Start here: Q-minus-1 calendar. Core flows live. Campaigns sit on segments.
Tabletop brands already have Shopify + Klaviyo. The leak is not a missing feature. You have flows. You do not have a lifecycle. Software did not cause it. A missing write-in did: the person exists in one tool and not in the pipeline.
Here is how you actually wire it. Name the objects: Named states (visitor, subscriber, buyer, repeat, lapsed, unsubscribed), next move per state, suppression rules, LTV as north star, flows covering states, Shopify+Klaviyo join. Then connect these edges, in order: State definition → properties/segments that can be audited on a profile · Each state → one next move (flow or campaign class), written · Suppression matrix → which states never get which messages · LTV / repeat rate → scoreboard; open rate demoted. If you skip an edge, the next one is decoration. If you add a Shopify + Klaviyo feature first, you usually skip an edge without noticing.
Prove it with a test, not a screenshot. Pick five real profiles, one per state if you can. Read the map and predict the next message. Check Klaviyo: you should be right. If a buyer got a first-order coupon, the map is not installed. LTV should be a number you can find. How you know it worked on the board: States is named (one per person). If that number is a vibe, do not add traffic.
What to do this week, and only this week: Q-minus-1 calendar. Core flows live. Campaigns sit on segments. An intern can run the objects page and one test conversion. A CEO should protect that from a second priority.
Intern
Day one: name states. You have flows; you may not have a lifecycle. Draw next moves and suppressions. Do not add a flow until a state is missing a move. LTV is the north star — write where it is computed.
Operator
You already feel you have flows. you do not have a lifecycle. Tabletop has occasion logic. Campaigns without flows waste peak weeks. Protect one sequence for 90 days. The four moves are name states → next move → suppress → ltv. The edges are State definition → properties/segments that can be audited on a profile then Each state → one next move (flow or campaign class), written. Holiday is when flows must stay on. Pausing them 'to campaign' is how you pay for the same order twice.
CEO
This is a money leak, not a preference about tools. You have flows. Until states is a number you will defend, buying more traffic or more seats makes the leak more expensive. Refuse a second database: State definition → properties/segments that can be audited on a profile.
Before
Tuesday. Someone among tabletop brands. Tabletop has occasion logic. Campaigns without flows waste peak weeks. Shopify + Klaviyo is open. A colleague asks where a person sits. The answer is a screenshot, a Slack thread, or “I think they’re interested.” The writer (form, calendar, shop, or phone) and the pipeline are two databases.
After
Same Tuesday, after write-in exists. Holiday is when flows must stay on. Pausing them 'to campaign' is how you pay for the same order twice. State definition → properties/segments that can be audited on a profile The next move is written. That is the difference between a login and a system.
Keep it this plain. A person in tabletop brands already paid for Shopify + Klaviyo. Tabletop has occasion logic. Campaigns without flows waste peak weeks. They add a page, a form, a calendar. None of it writes into a spec. By Friday the calendar has ghosts and the pipeline still looks like the snapshot.
The fix is not a better template. Named states with a next move: browse, cart, buyer, repeat, lapse. Prove write-in: Pick five real profiles, one per state if you can. Read the map and predict the next message. Check Klaviyo: you should be right. If a buyer got a first-order coupon, the map is not installed. LTV should be a number you can find. This week is one move: Q-minus-1 calendar. Core flows live. Campaigns sit on segments. If that feels too small, that is the point. Operators fail by starting at move four.
The leak
You have flows. You do not have a lifecycle. States are implied. Next moves are campaigns. LTV is a slide.
The system
Named states with a next move: browse, cart, buyer, repeat, lapse. Suppressions written. LTV is the north star — second purchase, not first-order ROAS alone.
Draw the states on one page. Every person on the list should be in one. Every state has a next move and a stop. If someone can be in welcome, cart, and win-back at once, you do not have a map. You have collisions.
LTV without a second-purchase path is a formula with no owner. The map exists to make that path obvious and to stop mailing everyone the same Thursday story.
Holiday is when flows must stay on. Pausing them 'to campaign' is how you pay for the same order twice.
Flows without a lifecycle are a pile of automations that collide. States are named so a stranger can classify a profile. Every state has a next move. Suppression rules are written as a matrix, not as folklore in Slack. LTV is the north star — if you optimize open rate on acquire while repeat rate dies, you are winning a vanity game. Shopify is the purchase truth; Klaviyo is the message truth; the profile is the join.
Wire each core flow to a state transition: subscribe → welcome; purchase → post-purchase; lapse → win-back; unsubscribe → stop. Campaigns fill time-shaped gaps for states that are allowed to receive them. If a state has three next moves, you do not have a map — you have options, which is how collisions start. Pick one default move.
Two databases: Shopify customer tags and Klaviyo lists that mean the same words differently ('VIP' in both, different definitions). One definition page. The intern classifies twenty profiles. Disagreements become field fixes. If you cannot classify, you cannot suppress, and then you cannot have a lifecycle. You can only have sends.
Named states (visitor, subscriber, buyer, repeat, lapsed, unsubscribed), next move per state, suppression rules, LTV as north star, flows covering states, Shopify+Klaviyo join.
State definition → properties/segments that can be audited on a profile
Each state → one next move (flow or campaign class), written
Suppression matrix → which states never get which messages
LTV / repeat rate → scoreboard; open rate demoted
Pick five real profiles, one per state if you can. Read the map and predict the next message. Check Klaviyo: you should be right. If a buyer got a first-order coupon, the map is not installed. LTV should be a number you can find.
Day one: name states. You have flows; you may not have a lifecycle. Draw next moves and suppressions. Do not add a flow until a state is missing a move. LTV is the north star — write where it is computed.
Browse, cart, buyer, repeat, lapse — or your version. Written.
Each state has a flow or a rule. None are 'blast'.
Who must not get this message. Layered.
Second purchase and repeat as the point of the map.
On one line, for tabletop brands: You have flows. You do not have a lifecycle. Add who gets hurt (calendar, cash, inbox, or reputation). If two people write different sentences, you do not agree yet — stop and agree.
Why: Teams skip this and jump into settings. Then every person is fixing a different problem with the same login.
Done when: One sentence. Shared. No adjectives required.
Named states (visitor, subscriber, buyer, repeat, lapsed, unsubscribed), next move per state, suppression rules, LTV as north star, flows covering states, Shopify+Klaviyo join.
Why: If objects aren't named, software invents a second database.
Done when: A stranger can list them.
Browse, cart, buyer, repeat, lapse — or your version. Written. Then wire: State definition → properties/segments that can be audited on a profile
Why: Tabletop brands cannot skip this edge. Flows without a lifecycle are a pile of automations that collide. If it is not true, Shopify + Klaviyo is already a second database.
Done when: State definition → properties/segments that can be audited on a profile is true on a test.
Each state has a flow or a rule. None are 'blast'. Then wire: Each state → one next move (flow or campaign class), written
Why: Tabletop brands skip this and the leak returns as a private language. Wire each core flow to a state transition: subscribe → welcome; purchase → post-purchase; lapse → win-back; unsubscribe → stop. Spec tags, fields, and states have to be the same objects the next workflow will read.
Done when: Each state → one next move (flow or campaign class), written is true on a test.
Who must not get this message. Layered. Then wire: Suppression matrix → which states never get which messages
Why: Tabletop brands feel this as You have flows. You do not have a lifecycle. Two databases: Shopify customer tags and Klaviyo lists that mean the same words differently ('VIP' in both, different definitions).
Done when: Suppression matrix → which states never get which messages is true on a test.
Pick five real profiles, one per state if you can. Read the map and predict the next message. Check Klaviyo: you should be right. If a buyer got a first-order coupon, the map is not installed. LTV should be a number you can find.
Why: Calendar full + pipeline empty means two databases.
Done when: One test conversion, one contact, right stage/state.
Every Monday, look at States (One per person), then collisions (A design rule, not a hope). Write one action or write “hold.” A dashboard with no action is theatre.
Why: What gets reviewed gets run. What only lives in a tool gets ignored the week someone is busy.
Done when: Three numbers. One owner. Fifteen minutes. Actions attach.
Q-minus-1 calendar. Core flows live. Campaigns sit on segments.
Why: Operators fail by starting at move four. Interns fail by making a 40-item checklist. CEOs fail by adding a second priority. One proven write-in beats an elegant plan.
Done when: The move is true, or you can name the blocker in one sentence.
Named states (visitor, subscriber, buyer, repeat, lapsed, unsubscribed), next move per state, suppression rules, LTV as north star, flows covering states, Shopify+Klaviyo join.
If objects aren't named, software invents a second database.
Tabletop has occasion logic. Campaigns without flows waste peak weeks.
Browse, cart, buyer, repeat, lapse — or your version. Written. Then wire: State definition → properties/segments that can be audited on a profile
Tabletop brands cannot skip this edge. Flows without a lifecycle are a pile of automations that collide. If it is not true, Shopify + Klaviyo is already a second database.
On Shopify + Klaviyo, this means the data model matches how tabletop brands actually work — not the snapshot demo. Edge: Each state → one next move (flow or campaign class), written
Each state has a flow or a rule. None are 'blast'. Then wire: Each state → one next move (flow or campaign class), written
Tabletop brands skip this and the leak returns as a private language. Wire each core flow to a state transition: subscribe → welcome; purchase → post-purchase; lapse → win-back; unsubscribe → stop. Spec tags, fields, and states have to be the same objects the next workflow will read.
Holiday is when flows must stay on. Pausing them 'to campaign' is how you pay for the same order twice.
Who must not get this message. Layered. Then wire: Suppression matrix → which states never get which messages
Tabletop brands feel this as You have flows. You do not have a lifecycle. Two databases: Shopify customer tags and Klaviyo lists that mean the same words differently ('VIP' in both, different definitions).
Q-minus-1 calendar. Core flows live. Campaigns sit on segments.
Because the login already exists. You have flows. You do not have a lifecycle. A new feature on a missing spec is a second database. Finish this edge first: State definition → properties/segments that can be audited on a profile.
Day one: name states. You have flows; you may not have a lifecycle. Draw next moves and suppressions. Do not add a flow until a state is missing a move. LTV is the north star — write where it is computed. Workflows on unnamed objects fire on folklore. Name contact (or profile), stage or state, and the writer (form, calendar, metric) before any on-switch.
A test conversion creates or updates one person, on the right stage or state, with the fields the next sequence will read. Pick five real profiles, one per state if you can. Read the map and predict the next message. Check Klaviyo: you should be right. If a buyer got a first-order coupon, the map is not installed. LTV should be a number you can find. If you merge after the test, identity is wrong — fix that, do not add a dedupe automation.
If it is only in someone's head, a new hire needs a story, reporting cannot be defended, and automations fire on folklore. Writing is how two people mean the same object on Monday.
Because setup was a project, not a review. North star (Not first-order ROAS alone) is how you stop the leak returning dressed as a new feature. If Placed Order is dirty, every metric is theatre. If browse collides with cart, you trained people to ignore you. Discount-first abandon trains the wrong buyer — especially when consideration is long. Score the system. Then ship the two worst gaps. Not another brand story.
More leads into a leak is a more expensive leak. Holiday is when flows must stay on. Pausing them 'to campaign' is how you pay for the same order twice. Watch states before you buy traffic. If that number is folklore, acquisition is a vanity spend.
Then you only have time for the objects page and one test conversion. Q-minus-1 calendar. Core flows live. Campaigns sit on segments. That is the intern version of strategy. Protect it from a second priority for seven days.
Skip this
Leaving objects unnamed because Shopify + Klaviyo is “set up”.
Do this
Named states (visitor, subscriber, buyer, repeat, lapsed, unsubscribed), next move per state, suppression rules, LTV as north star, flows covering states, Shopify+Klaviyo join.
Skip this
Building a workflow or flow before a writer lands on one contact.
Do this
State definition → properties/segments that can be audited on a profile
Skip this
Calling it done because a screenshot looks busy.
Do this
Pick five real profiles, one per state if you can. Read the map and predict the next message. Check Klaviyo: you should be right. If a buyer got a first-order coupon, the map is not installed. LTV should be a number you can find.
Skip this
Leaving “LTV” to chance.
Do this
Second purchase and repeat as the point of the map.
The usual miss
Calling Shopify + Klaviyo “set up” because someone logged in and imported a snapshot.
Do this instead
Browse, cart, buyer, repeat, lapse — or your version. Written. Then prove write-in: Pick five real profiles, one per state if you can.
The usual miss
Building the workflow or flow before the writer (form, calendar, shop event) lands on one contact.
Do this instead
Connect State definition → properties/segments that can be audited on a profile first. Automations on a missing writer invent a second database.
The usual miss
Adding a page, form, flow, or campaign every time last week hurt.
Do this instead
Name which edge is missing. Fix that edge. Hurt is usually a skipped write-in, not a missing asset.
The usual miss
Reporting that nobody will defend in a meeting — screenshots, vanity opens, 'interested' counts.
Do this instead
States: Named. One per person. If you cannot say it out loud, it is not a scoreboard.
The usual miss
Hiring or retaining an agency to invent the spec while also running the calendar.
Do this instead
Hands on a known sequence are useful. Hands inside a missing spec pick the louder job (the calendar) and the leak stays.
States
Named
One per person
Collisions
0
A design rule, not a hope
North star
LTV
Not first-order ROAS alone
This week
Q-minus-1 calendar. Core flows live. Campaigns sit on segments.
EU operators · EU hours. Consent and entities are real. They are not a substitute for exit rules.
States are named
Every state has a next move
Suppression rules are written
LTV is the north star
Want the longer lesson, not the page for this niche? A CRM login is not a system ↗
Working notes
Score your Klaviyo and lifecycle system the way an operator would. Request the file. It arrives by email — not a public dump, not a drip of slogans.
Tabletop brands do not have a Lifecycle map problem because they lack Shopify + Klaviyo. They have it because you have flows. You do not have a lifecycle. Wire these objects first: Named states (visitor, subscriber, buyer, repeat, lapsed, unsubscribed), next move per state, suppression rules, LTV as north star, flows covering states, Shopify+Klaviyo join. Then these edges, in order: State definition → properties/segments that can be audited on a profile · Each state → one next move (flow or campaign class), written · Suppression matrix → which states never get which messages · LTV / repeat rate → scoreboard; open rate demoted Done looks like a test you can repeat: Pick five real profiles, one per state if you can. Read the map and predict the next message. Check Klaviyo: you should be right. If a buyer got a first-order coupon, the map is not installed. LTV should be a number you can find. Start here: Q-minus-1 calendar. Core flows live. Campaigns sit on segments.
You have flows. You do not have a lifecycle. States are implied. Next moves are campaigns. LTV is a slide. Holiday is when flows must stay on. Pausing them 'to campaign' is how you pay for the same order twice.
Before: Tuesday. Someone among tabletop brands. Tabletop has occasion logic. Campaigns without flows waste peak weeks. Shopify + Klaviyo is open. A colleague asks where a person sits. The answer is a screenshot, a Slack thread, or “I think they’re interested.” The writer (form, calendar, shop, or phone) and the pipeline are two databases. After: Same Tuesday, after write-in exists. Holiday is when flows must stay on. Pausing them 'to campaign' is how you pay for the same order twice. State definition → properties/segments that can be audited on a profile The next move is written. That is the difference between a login and a system.
Leaving objects unnamed because Shopify + Klaviyo is “set up”. Building a workflow or flow before a writer lands on one contact. Do the four moves instead: name states → next move → suppress → ltv.
States: Named — One per person. Then collisions (A design rule, not a hope). If those are folklore, do not add another Shopify + Klaviyo workflow.
Q-minus-1 calendar. Core flows live. Campaigns sit on segments.
Because the login already exists. You have flows. You do not have a lifecycle. A new feature on a missing spec is a second database. Finish this edge first: State definition → properties/segments that can be audited on a profile.
Day one: name states. You have flows; you may not have a lifecycle. Draw next moves and suppressions. Do not add a flow until a state is missing a move. LTV is the north star — write where it is computed. Workflows on unnamed objects fire on folklore. Name contact (or profile), stage or state, and the writer (form, calendar, metric) before any on-switch.
A test conversion creates or updates one person, on the right stage or state, with the fields the next sequence will read. Pick five real profiles, one per state if you can. Read the map and predict the next message. Check Klaviyo: you should be right. If a buyer got a first-order coupon, the map is not installed. LTV should be a number you can find. If you merge after the test, identity is wrong — fix that, do not add a dedupe automation.
If it is only in someone's head, a new hire needs a story, reporting cannot be defended, and automations fire on folklore. Writing is how two people mean the same object on Monday.
Posts go live. Search still does not know you.
Read ↗GSC and GA4 sit in silos. Nobody sequences the work.
Read ↗Roadmaps are annual. Execution is weekly panic.
Read ↗You have access. You do not have a Monday ritual.
Read ↗You write better emails into a worse inbox.
Read ↗Email and WhatsApp stay open. A call is for installing the system — not for a tour of tools.