Library / Compare / Flows vs campaigns: campaigns do not get to impersonate a state

CompareHow to wire it

Flows vs campaigns: campaigns do not get to impersonate a stateIf Thursday’s blast is doing welcome, cart, or win-back, you do not have lifecycle. You have a calendar.

The choice is not 'flows or campaigns'. Both exist. The operating rule is: named states have flows; pulses have campaigns; collisions are bugs. The leak is pausing flows for peak, or never building flows because campaigns feel like work. Choose by the job of the message, then wire suppressions. This is the decision essay for operators who keep asking which to 'focus on'.

00

The short version

Intern through CEO

The choice is not 'flows or campaigns'. Both exist. The operating rule is: named states have flows; pulses have campaigns; collisions are bugs. The leak is pausing flows for peak, or never building flows because campaigns feel like work. Choose by the job of the message, then wire suppressions. This is the decision essay for operators who keep asking which to 'focus on'.

  1. 01

    Flows are right as the always-on layer: welcome, cart, post-purchase, replenishment, finite win-back. They are wrong as 20 tiny flows that stack. Score and ship gaps, do not infinite-build.

  2. 02

    Campaigns are right as dated pulses on segments: a drop, a seasonal push, a story with a holdout. They are wrong as the place you hide missing flows, or as 'all subscribers' every Thursday.

  3. 03

    Shared leak: stacked messages, paused flows in peak, no holdout, RPR indefensible, discount-first everything.

  4. 04

    How to choose for a given message: is this triggered by a state/event, or by a date? Event → flow. Date → campaign. If you want both, they must not say the same coupon in the same window.

  5. 05

    Wiring implication: scorecard first, kill impersonator campaigns, exclusion map, peak plan that does not pause cores, holdout on the next big send.

Who

Same system. Three jobs.

Read your row

Intern

What you actually do

Sort sends. Turn off a thief campaign. Path walk. You are assigning jobs, not 'making more campaigns' or 'more flows'.

Operator

What you protect

States vs pulses. Protect core flows. Segments. Holdouts. Peak is not a pause button.

CEO

What you refuse to fund

A calendar is not lifecycle. If campaigns steal state jobs, LTV work is fake. Job assignment is the decision. Until impersonators are off, more creative is more stack.

Wire

How to connect it

Objects, then edges

Flow (state job), campaign (pulse), segment, suppression, peak calendar, holdout, RPR, pause-ban on core flows.

  1. 01

    State job → flow; if a campaign is doing it, pause the campaign

  2. 02

    Pulse (launch, seasonal, story) → campaign on a segment; flows stay on

  3. 03

    Active flow member → excluded from colliding pulse when the job overlaps

  4. 04

    Peak → flows remain; campaigns planned in Q-minus-1

Steps

Do this in order

Why, then done when
  1. 01

    Sort last 10 sends by job

    Each: flow impersonator or true pulse.

    Why: The calendar is the evidence.

    Done when: A tagged list. Impersonators named.

  2. 02

    Pause impersonators

    If a campaign is welcome/cart/win-back, stop it. Fix the flow.

    Why: You cannot 'focus on campaigns' while they steal state jobs.

    Done when: Those campaigns off. Flow gaps in the 90.

  3. 03

    Exclusion map

    Purchase excludes cart. Flow members vs pulses.

    Why: Choice without exclusions is still a stack.

    Done when: Path walk clean.

  4. 04

    Peak rule: flows stay on

    Write it. Campaigns segment. No pause-core as a plan.

    Why: Pausing flows is how you pay twice for the same order.

    Done when: Q-minus-1 note includes the rule.

  5. 05

    Holdout on the next pulse

    Prove the campaign earned its place.

    Why: Without holdout every pulse looks necessary.

    Done when: Holdout configured before send.

When a flow is right

An event or state should always get this job. Wiring: filters on true events, exclusions, stop rules, RPR watched. Do not pause it for a blast.

When a campaign is right

A dated pulse, segmented, holdout, not doing a state’s job. Wiring: Q-minus-1, flows still on, collisions excluded.

The leak that is the same

Thursday impersonating lifecycle. Peak pause. Stacked coupons. No holdout. The list feels worked. The states are unowned.

How to choose, and the wiring implication

Event vs date. Sort recent sends. Kill impersonators. Exclusion map. Peak rule. Holdout. You do not 'choose flows or campaigns'. You assign jobs.

Why

Questions people actually ask

Pushback is normal

Our brand is campaign-led. That’s who we are.

Then your flows still do states, or you will discount people in cart during the brand story. Identity is not a reason to impersonate.

Flows are set-and-forget. We like working campaigns.

Flows are not forget. They are scored. Liking campaigns is not a reason they get to do cart.

Can a campaign trigger like a flow?

Then it is a flow with extra steps. Put it in flows. Date-based is the campaign test.

This week

This week: tag last 10 sends, pause impersonators, exclusion path walk, write the peak rule, set a holdout on the next pulse.

Continue

Other choices

Same leak. Different owner.
Compare

GoHighLevel vs HubSpot: pick the operating center, not the logo

Both can be a filing cabinet. Neither is a system until write-in and stages are jobs.

Read ↗
Compare

Native GHL calendar vs Calendly: one public door per job

Pretty vs native does not matter if two links both take Discovery.

Read ↗
Compare

Klaviyo vs GoHighLevel email: pick by object, not by 'which is better at email'

DTC lifecycle and coaching spines are different jobs. Two senders is a tax.

Read ↗
Compare

Snapshot vs rebuild: a zip is not a product unless you will govern it

Rebuilding from memory every client is how you never productize. Blasting a zip is how you never train.

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.