DTC brandsKlaviyo

Attach and cross-sellThe second SKU is a campaign. It should be a clock after delivery

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.

00

The short version

Intern through CEO

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.

  1. 01

    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.

  2. 02

    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.

  3. 03

    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

  4. 04

    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.

  5. 05

    Start here: Attach sits in post-purchase, not in cart panic

In even plainer words

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.

Who

Same system. Three jobs.

Read your row

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.

Operator

What you protect

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

What you refuse to fund

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.

Example

A Tuesday that looks familiar

Before / after

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.

Worked example

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.

01

Leak versus system

Klaviyo

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.

How it actually works

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.

Wire

How to connect it

Objects, then edges, then a test

Post-purchase attach flow, delivery wait, exclusion of owned SKUs, RPR on the attach flow, Klaviyo Ordered Product, not cart-panic.

  1. 01

    Placed Order → wait until delivered (or honest delay) → attach offer for a complementary SKU

  2. 02

    Exclusions → SKUs they already own; bundles they already bought

  3. 03

    Not in cart abandon → attach is not a panic add-on during checkout emails

  4. 04

    RPR on attach flow → watched; if it loses to annoyance, kill or slow

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.

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.

02

The spine

Scan first
01

One attach

One SKU or one bundle. Not a catalogue.

02

After delivery

Wait until they have the thing. Then offer the next.

03

Exclude

Already-owned SKU out. Obvious, often skipped.

04

RPR

The score. Open rate is a meeting.

Steps

Do this in order

Why, then done when
  1. 01

    Write the leak in one sentence

    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.

  2. 02

    Name the objects

    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.

  3. 03

    One attach

    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.

  4. 04

    After delivery

    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.

  5. 05

    Exclude

    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.

  6. 06

    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.

    Why: Calendar full + pipeline empty means two databases.

    Done when: One test conversion, one contact, right stage/state.

  7. 07

    Put a number on the wall

    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.

  8. 08

    Finish one move this week

    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.

Walkthrough

The four moves, expanded

Same spine. More words.
01

Name the objects

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.

02

One attach

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

03

After delivery

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.

04

Exclude

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

Why

Questions people actually ask

Pushback is normal

Why not just buy another Klaviyo feature?

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.

Why start with objects instead of a workflow?

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.

What does “wired” actually mean?

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.

Why write it down if the team already knows?

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.

Why does this keep coming back after we 'set it up'?

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.

Why should DTC brands care about this versus more leads?

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.

What if we do not have time?

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.

03

Skip this / do this

Same four moves

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.

Misses

How this usually goes wrong

Then the fix

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.

04

What to watch

A scoreboard

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

01

Attach sits in post-purchase, not in cart panic

02

Timing waits for delivery

03

Exclusions respect what they already own

04

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

DTC Retention Scorecard

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.

Request the notes ↗
Wire

This job is a connection, not a geo page

Hub only

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.

Wire

Calendly only counts when GoHighLevel sees the booking

A full calendar and an empty pipeline is two databases.

Read ↗
Wire

ScoreApp is a door. GoHighLevel is the follow-up.

A high score in a CSV is not a qualified opportunity.

Read ↗
Wire

A form is a writer, not a lead vault

If the thank-you does not change the contact, the page was a brochure.

Read ↗
beauty brands

Beauty retention is a cadence problem more than a creative problem

Revenue per recipient on flows is the number. Open rate is a meeting.

Read ↗
supplement brands

Supplements are a subscription and replenishment system pretending to be a brand

If Placed Order is dirty, every flow metric is theatre. Fix the event before the subject line.

Read ↗
apparel brands

Apparel lives on returns, second purchase, and segments that are not all subscribers

Returns and second purchase are different states. Mailing a returner like a VIP is how you look careless.

Read ↗
Next

If the leak is expensive, talk.

Email and WhatsApp stay open. A call is for installing the system.