Library / Wire / Name the Shopify events Klaviyo is allowed to trust

WireHow to wire it

Name the Shopify events Klaviyo is allowed to trustBrowse, cart, checkout, and placed are different jobs. If they collide, you trained mute.

After Placed Order is true, the next leak is event soup: Viewed Product, Added to Cart, Checkout Started, and custom pixels firing twice. Flows then overlap, discount logic stacks, and a buyer gets browse and cart and shipping emails in one hour. This page is the event spec — what each event means, what must not fire, and how an intern tests a path.

00

The short version

Intern through CEO

After Placed Order is true, the next leak is event soup: Viewed Product, Added to Cart, Checkout Started, and custom pixels firing twice. Flows then overlap, discount logic stacks, and a buyer gets browse and cart and shipping emails in one hour. This page is the event spec — what each event means, what must not fire, and how an intern tests a path.

  1. 01

    Write the job of each event. Browse educates. Cart recovers intent. Checkout is urgent. Placed is post-purchase. If cart copy is a milder browse, you built one flow three times.

  2. 02

    Suppressions are the product: placed excludes cart; cart excludes browse; recent buyers excluded from acquire campaigns. If you cannot say the exclusions, you will stack messages.

  3. 03

    Custom pixels and the Klaviyo app both firing is the usual double-event. Metric volume that jumped after a theme edit is a clue.

  4. 04

    Checkout Started on Shop Pay / accelerated checkouts can be sparse. Do not design a four-email checkout flow if the event barely exists. Use the events you actually get.

  5. 05

    Ordered Product is for item-level replenishment and reviews. Placed Order is for the order. Mixing them is how a multi-item order gets three review asks on day one.

Who

Same system. Three jobs.

Read your row

Intern

What you actually do

Metrics table, pixel test, path walk. You are hunting doubles and stacks. You are not 'optimizing browse'.

Operator

What you protect

Events have jobs. Protect exclusions through campaign season. Do not pause core flows for a blast.

CEO

What you refuse to fund

Stacked lifecycle email is a brand tax. Event hygiene and exclusions are the system. Creative is later.

Wire

How to connect it

Objects, then edges

Klaviyo events (Viewed Product, Added to Cart, Checkout Started, Placed Order, Ordered Product, Refunded), pixel vs server, flow filters, suppressions, checkout type (Shopify vs custom).

  1. 01

    Viewed Product → browse flow only if not in cart/checkout/placed windows

  2. 02

    Added to Cart / Checkout Started → cart/checkout flows; browse suppressed

  3. 03

    Placed Order → cancel cart/checkout; start post-purchase; Ordered Product for item-level jobs

  4. 04

    Duplicate pixel + app pixel → one Viewed Product per view, not two; kill the double fire

Steps

Do this in order

Why, then done when
  1. 01

    Inventory live events and volumes

    Klaviyo metrics: last 7 days. Note spikes and duplicates. Compare to Shopify sessions/orders so the volumes are sane.

    Why: A flow on an event that barely fires is a placebo. A flow on a doubled event is harassment.

    Done when: A table: event, volume, expected job, duplicate risk.

  2. 02

    Kill double pixels

    Theme app embed + extra script + GTM. One source per event. Test a product view: one Viewed Product.

    Why: Two Viewed Product events enroll browse twice or restart waits.

    Done when: A test view creates one event. Timestamp proof.

  3. 03

    Write flow exclusions as a map

    Browse excludes cart in last X hours and placed in last Y days. Cart excludes placed. Post-purchase excludes refunded. Campaigns exclude active flow members where it would collide.

    Why: Without a map, each flow author adds 'just one more email'.

    Done when: Exclusions printed. Each core flow matches the map.

  4. 04

    Walk a human path

    View → add to cart → abandon → (wait) → checkout → buy. Profile timeline should show the right events and the right flow messages, not all of them.

    Why: Unit-testing one flow at a time hides collisions.

    Done when: A recorded path: no browse+cart+checkout stack in one hour after purchase.

  5. 05

    Align to actual checkout events

    If Checkout Started is rare, shorten checkout flow or rely on Added to Cart. Do not invent events with a broken custom pixel.

    Why: Building for an event you wish you had is how intern weeks disappear.

    Done when: Flows only listen to events with trustworthy volume.

What an intern should wire first

Count events. Test a product view for doubles. Walk view→cart→purchase on a profile. List every message that would send. Cross them off against the exclusion map. Fix doubles and exclusions before anyone writes a new subject line.

What a CEO should refuse to fund

A 'browse abandonment creative project' while Viewed Product is double-firing. More copy on a broken metric buys mute.

The usual failure

Default Klaviyo flows all on. Theme pixel plus app. Buyer gets four emails the afternoon they ordered. Team pauses flows 'for Black Friday' and never turns the right ones back on. That is a calendar, not lifecycle.

The test that proves it

One Viewed Product per view. Path walk with no stacked flows after purchase. Checkout flow matches real event volume. Exclusion map posted.

Why

Questions people actually ask

Pushback is normal

Why not let Klaviyo’s default flows handle this?

Defaults overlap and coupon-first. They do not know your AOV or your double pixel. The spec is yours.

Can we keep browse and cart identical for 'simplicity'?

Then you taught people that every email is the same email. Jobs must differ or you should delete one flow.

What about custom events from a tracking vendor?

If they duplicate Klaviyo’s native events, they are a bug. If they add something native cannot (subscription skip), name them and document.

This week

This week: event inventory, kill doubles, exclusion map, one full path walk. No new flow until collisions are gone.

Continue

Other connections

Same job: write-in
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 ↗
Wire

Stripe is how Won becomes a fact

If paid lives in Stripe and the opportunity is still open, reporting is theatre.

Read ↗

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 ↗
Next

If the leak is expensive, talk.

Email and WhatsApp stay open. A call is for installing the system — not for a tour of tools.