Intern
What you actually do
Day one: the second SKU is a campaign. It should be a clock after delivery. Write the complementary map (A→B). Write exclusions. Do not put attach in cart panic. Watch RPR.
You blast 'complete the set' to the whole list. People who bought the set last week get it. People whose box is still in transit get it. Revenue per recipient on that campaign is a vanity with extra steps.
Read it once, then stop negotiating with it. Attach and cross-sell for DTC brands is a wiring job: one attach → after delivery → exclude → rpr. 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.
DTC brands do not have a Attach and cross-sell problem because they lack Klaviyo. They have it because the second SKU is a campaign. It should be a clock after delivery.
Wire these objects first: Post-purchase attach flow, delivery wait, exclusion of owned SKUs, RPR on the attach flow, Klaviyo Ordered Product, not cart-panic.
Then these edges, in order: Placed Order → wait until delivered (or honest delay) → attach offer for a complementary SKU · Exclusions → SKUs they already own; bundles they already bought · Not in cart abandon → attach is not a panic add-on during checkout emails · RPR on attach flow → watched; if it loses to annoyance, kill or slow
Done looks like a test you can repeat: Order SKU A. Confirm you are not pitched A again. Confirm the attach waits for delivery (or the delay you wrote). Confirm cart-abandon did not also try to attach during checkout. Check RPR. The second SKU is a campaign — that is the leak; it should be a clock after delivery.
Start here: Attach sits in post-purchase, not in cart panic
DTC brands already have Klaviyo. The leak is not a missing feature. The second SKU is a campaign. It should be a clock after delivery. 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: Post-purchase attach flow, delivery wait, exclusion of owned SKUs, RPR on the attach flow, Klaviyo Ordered Product, not cart-panic. Then connect these edges, in order: Placed Order → wait until delivered (or honest delay) → attach offer for a complementary SKU · Exclusions → SKUs they already own; bundles they already bought · Not in cart abandon → attach is not a panic add-on during checkout emails · RPR on attach flow → watched; if it loses to annoyance, kill or slow. If you skip an edge, the next one is decoration. If you add a Klaviyo feature first, you usually skip an edge without noticing.
Prove it with a test, not a screenshot. Order SKU A. Confirm you are not pitched A again. Confirm the attach waits for delivery (or the delay you wrote). Confirm cart-abandon did not also try to attach during checkout. Check RPR. The second SKU is a campaign — that is the leak; it should be a clock after delivery. How you know it worked on the board: Timing is post-delivery (not day 0). If that number is a vibe, do not add traffic.
What to do this week, and only this week: Attach sits in post-purchase, not in cart panic An intern can run the objects page and one test conversion. A CEO should protect that from a second priority.
Intern
Day one: the second SKU is a campaign. It should be a clock after delivery. Write the complementary map (A→B). Write exclusions. Do not put attach in cart panic. Watch RPR.
Operator
You already feel the second sku is a campaign. it should be a clock after delivery. The second SKU is a campaign. It should be a clock after delivery. Protect one sequence for 90 days. The four moves are one attach → after delivery → exclude → rpr. The edges are Placed Order → wait until delivered (or honest delay) → attach offer for a complementary SKU then Exclusions → SKUs they already own; bundles they already bought. Attach lives in post-purchase, timed after delivery, excluded if they already own the SKU. It is a flow. Campaigns may pulse a seasonal attach on a segment — not on everyone.
CEO
This is a money leak, not a preference about tools. You blast 'complete the set' to the whole list. Until timing is a number you will defend, buying more traffic or more seats makes the leak more expensive. Refuse a second database: Placed Order → wait until delivered (or honest delay) → attach offer for a complementary SKU.
Before
Tuesday. Someone among DTC brands. The second SKU is a campaign. It should be a clock after delivery. 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. Attach lives in post-purchase, timed after delivery, excluded if they already own the SKU. It is a flow. Campaigns may pulse a seasonal attach on a segment — not on everyone. Placed Order → wait until delivered (or honest delay) → attach offer for a complementary SKU The next move is written. That is the difference between a login and a system.
Keep it this plain. A person in DTC brands already paid for Klaviyo. The second SKU is a campaign. It should be a clock after delivery. 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. Attach lives in post-purchase, timed after delivery, excluded if they already own the SKU. Prove write-in: Order SKU A. Confirm you are not pitched A again. Confirm the attach waits for delivery (or the delay you wrote). Confirm cart-abandon did not also try to attach during checkout. Check RPR. The second SKU is a campaign — that is the leak; it should be a clock after delivery. This week is one move: Attach sits in post-purchase, not in cart panic If that feels too small, that is the point. Operators fail by starting at move four.
The leak
You blast 'complete the set' to the whole list. People who bought the set last week get it. People whose box is still in transit get it. Revenue per recipient on that campaign is a vanity with extra steps.
The system
Attach lives in post-purchase, timed after delivery, excluded if they already own the SKU. It is a flow. Campaigns may pulse a seasonal attach on a segment — not on everyone.
Pick one attach: refill, accessory, or next-in-routine. Put it after the delivery event, not at checkout panic and not on day 0. Exclude orders that already contain it.
Watch RPR on that flow. If it loses to a campaign, the campaign is usually mailing people who should have been in the flow — or mailing too early, before the product arrived.
Attach lives in post-purchase, timed after delivery, excluded if they already own the SKU. It is a flow. Campaigns may pulse a seasonal attach on a segment — not on everyone.
The second SKU is a campaign. It should be a clock after delivery. Attach sits in post-purchase, not in cart panic — panic is how you tax people who have not even received the first thing. Timing waits for delivery. Exclusions respect what they already own. RPR on the attach flow is watched. A merchandising campaign that blasts 'complete the set' to everyone including people who own the set is a lifecycle miss.
Wire Ordered Product to pick the next SKU from a small map, not from 'bestsellers'. Bestsellers to a person who just bought the bestseller is lazy and often wrong. Bundles: if they bought the bundle, do not attach the parts. Subscribers may already get the attach in a box — exclude. Do not stack attach with a sitewide sale the same day without a rule.
Two databases: a merchandiser's campaign calendar and the post-purchase flow. One attach job. The intern orders A and lists pitches for B. They do not add more SKUs to the map until A→B is true. If attach is email 1 of confirmation, you are still in panic. Move it. Confirmation has a different job: truth about the order they placed.
Post-purchase attach flow, delivery wait, exclusion of owned SKUs, RPR on the attach flow, Klaviyo Ordered Product, not cart-panic.
Placed Order → wait until delivered (or honest delay) → attach offer for a complementary SKU
Exclusions → SKUs they already own; bundles they already bought
Not in cart abandon → attach is not a panic add-on during checkout emails
RPR on attach flow → watched; if it loses to annoyance, kill or slow
Order SKU A. Confirm you are not pitched A again. Confirm the attach waits for delivery (or the delay you wrote). Confirm cart-abandon did not also try to attach during checkout. Check RPR. The second SKU is a campaign — that is the leak; it should be a clock after delivery.
Day one: the second SKU is a campaign. It should be a clock after delivery. Write the complementary map (A→B). Write exclusions. Do not put attach in cart panic. Watch RPR.
One SKU or one bundle. Not a catalogue.
Wait until they have the thing. Then offer the next.
Already-owned SKU out. Obvious, often skipped.
The score. Open rate is a meeting.
On one line, for DTC brands: The second SKU is a campaign. It should be a clock after delivery. 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.
Post-purchase attach flow, delivery wait, exclusion of owned SKUs, RPR on the attach flow, Klaviyo Ordered Product, not cart-panic.
Why: If objects aren't named, software invents a second database.
Done when: A stranger can list them.
One SKU or one bundle. Not a catalogue. Then wire: Placed Order → wait until delivered (or honest delay) → attach offer for a complementary SKU
Why: DTC brands cannot skip this edge. The second SKU is a campaign. If it is not true, Klaviyo is already a second database.
Done when: Placed Order → wait until delivered (or honest delay) → attach offer for a complementary SKU is true on a test.
Wait until they have the thing. Then offer the next. Then wire: Exclusions → SKUs they already own; bundles they already bought
Why: DTC brands skip this and the leak returns as a private language. Wire Ordered Product to pick the next SKU from a small map, not from 'bestsellers'. Spec tags, fields, and states have to be the same objects the next workflow will read.
Done when: Exclusions → SKUs they already own; bundles they already bought is true on a test.
Already-owned SKU out. Obvious, often skipped. Then wire: Not in cart abandon → attach is not a panic add-on during checkout emails
Why: DTC brands feel this as the second SKU is a campaign. It should be a clock after delivery. Two databases: a merchandiser's campaign calendar and the post-purchase flow.
Done when: Not in cart abandon → attach is not a panic add-on during checkout emails is true on a test.
Order SKU A. Confirm you are not pitched A again. Confirm the attach waits for delivery (or the delay you wrote). Confirm cart-abandon did not also try to attach during checkout. Check RPR. The second SKU is a campaign — that is the leak; it should be a clock after delivery.
Why: Calendar full + pipeline empty means two databases.
Done when: One test conversion, one contact, right stage/state.
Every Monday, look at Timing (Not day 0), then exclusion (Tested). 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.
Attach sits in post-purchase, not in cart panic
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.
Post-purchase attach flow, delivery wait, exclusion of owned SKUs, RPR on the attach flow, Klaviyo Ordered Product, not cart-panic.
If objects aren't named, software invents a second database.
The second SKU is a campaign. It should be a clock after delivery.
One SKU or one bundle. Not a catalogue. Then wire: Placed Order → wait until delivered (or honest delay) → attach offer for a complementary SKU
DTC brands cannot skip this edge. The second SKU is a campaign. If it is not true, Klaviyo is already a second database.
On Klaviyo, this means the data model matches how DTC brands actually work — not the snapshot demo. Edge: Exclusions → SKUs they already own; bundles they already bought
Wait until they have the thing. Then offer the next. Then wire: Exclusions → SKUs they already own; bundles they already bought
DTC brands skip this and the leak returns as a private language. Wire Ordered Product to pick the next SKU from a small map, not from 'bestsellers'. Spec tags, fields, and states have to be the same objects the next workflow will read.
Attach lives in post-purchase, timed after delivery, excluded if they already own the SKU. It is a flow. Campaigns may pulse a seasonal attach on a segment — not on everyone.
Already-owned SKU out. Obvious, often skipped. Then wire: Not in cart abandon → attach is not a panic add-on during checkout emails
DTC brands feel this as the second SKU is a campaign. It should be a clock after delivery. Two databases: a merchandiser's campaign calendar and the post-purchase flow.
Attach sits in post-purchase, not in cart panic
Because the login already exists. You blast 'complete the set' to the whole list. People who bought the set last week get it. A new feature on a missing spec is a second database. Finish this edge first: Placed Order → wait until delivered (or honest delay) → attach offer for a complementary SKU.
Day one: the second SKU is a campaign. It should be a clock after delivery. Write the complementary map (A→B). Write exclusions. Do not put attach in cart panic. Watch RPR. 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. Order SKU A. Confirm you are not pitched A again. Confirm the attach waits for delivery (or the delay you wrote). Confirm cart-abandon did not also try to attach during checkout. Check RPR. The second SKU is a campaign — that is the leak; it should be a clock after delivery. 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. RPR (Or it is a brand story) 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. Attach lives in post-purchase, timed after delivery, excluded if they already own the SKU. It is a flow. Campaigns may pulse a seasonal attach on a segment — not on everyone. Watch timing 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. Attach sits in post-purchase, not in cart panic That is the intern version of strategy. Protect it from a second priority for seven days.
Skip this
Leaving objects unnamed because Klaviyo is “set up”.
Do this
Post-purchase attach flow, delivery wait, exclusion of owned SKUs, RPR on the attach flow, Klaviyo Ordered Product, not cart-panic.
Skip this
Building a workflow or flow before a writer lands on one contact.
Do this
Placed Order → wait until delivered (or honest delay) → attach offer for a complementary SKU
Skip this
Calling it done because a screenshot looks busy.
Do this
Order SKU A. Confirm you are not pitched A again. Confirm the attach waits for delivery (or the delay you wrote). Confirm cart-abandon did not also try to attach during checkout. Check RPR. The second SKU is a campaign — that is the leak; it should be a clock after delivery.
Skip this
Leaving “RPR” to chance.
Do this
The score. Open rate is a meeting.
The usual miss
Calling Klaviyo “set up” because someone logged in and imported a snapshot.
Do this instead
One SKU or one bundle. Not a catalogue. Then prove write-in: Order SKU A.
The usual miss
Building the workflow or flow before the writer (form, calendar, shop event) lands on one contact.
Do this instead
Connect Placed Order → wait until delivered (or honest delay) → attach offer for a complementary SKU 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
Timing: Post-delivery. Not day 0. 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.
Timing
Post-delivery
Not day 0
Exclusion
Owned SKU
Tested
RPR
Watched
Or it is a brand story
This week
Attach sits in post-purchase, not in cart panic
Attach sits in post-purchase, not in cart panic
Timing waits for delivery
Exclusions respect what they already own
RPR on the attach flow is watched
Want the longer lesson, not the page for this niche? Post-purchase has an order of operations ↗
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.
Attach and cross-sell does not split by niche and city. The wiring is the same: objects, edges, one test conversion. Read a connect map if two tools are already in the stack, or a vertical essay if the language needs to change.
A full calendar and an empty pipeline is two databases.
Read ↗A high score in a CSV is not a qualified opportunity.
Read ↗If the thank-you does not change the contact, the page was a brochure.
Read ↗Revenue per recipient on flows is the number. Open rate is a meeting.
Read ↗If Placed Order is dirty, every flow metric is theatre. Fix the event before the subject line.
Read ↗Returns and second purchase are different states. Mailing a returner like a VIP is how you look careless.
Read ↗Email and WhatsApp stay open. A call is for installing the system.