Back to Playbooks

Turn High-Value Merchants into Lifers with an Automated VIP Perks Journey

Free

A detailed, step-by-step Spreeflo journey that automatically identifies VIP merchants, unlocks and nudges them toward meaningful perks, tags them for internal follow-up, and measures retention, lifetime value, and perk redemption to protect your highest-value accounts.

Industry

Niche

Pattern

Loading sequence...

Picture this: a store that’s been paying you $149/month for over a year quietly uninstalls your app. No angry emails. No support tickets. Just a line in Stripe and a slightly worse MRR chart.

Then you notice they’d processed over $500k of GMV through your app.

If you’re honest, they never got anything different from you than the $19/month hobby store that installed last week. Same onboarding, same newsletters, same support queue. No “you’re important to us” moment when they crossed any meaningful threshold.

The sequence at the top of this page is the whole journey, end to end, for fixing that.

We’ll walk through how a fictional Shopify app, CartWizard Pro (a cart recovery + post‑purchase upsell app doing $90k MRR), uses Spreeflo to automatically:

  • Detect when a merchant becomes a VIP based on spend or activity

  • Trigger an exclusive perks email at exactly that moment

  • Tag and notify the team internally so those accounts get white‑glove treatment

  • Nudge VIPs who don’t redeem their perks, without nagging everyone else

All of it runs on autopilot once set up. Your job is deciding who counts as VIP and what perks they actually get.

Start where it matters: your VIP definition and data

Before you touch the journey builder, you need a clear, machine-readable definition of “VIP”.

For most e‑commerce apps, that’s one of:

  • Lifetime revenue: total fees paid to your app across subscriptions, usage, and add‑ons

  • Throughput: GMV processed, orders recovered, shipments handled, etc.

  • Longevity + engagement: active for 12+ months and still using key features weekly

CartWizard Pro picks: “Merchants who have generated at least $10,000 in recovered revenue through our app.”

To make that usable inside Spreeflo, they:

  1. Create a numeric contact attribute in Spreeflo called revenue_recovered_usd.

  2. On every successful recovery event in their backend, they call the Spreeflo API or SDK to increment that attribute for the merchant’s contact.

  3. Optionally add another timestamp attribute last_recovery_at so they can segment by recency later.

This is the first brand message in action: you’re capturing meaningful detail on every customer so you can speak to each one uniquely. Without that per‑merchant attribute, “VIP” is just a vibe.

Build the VIP segment once, use it everywhere

Next, CartWizard Pro defines a reusable VIP segment.

In Audience → Segments, they use the segment builder with:

  • Category: Contact Attributes

  • Field: revenue_recovered_usd (NUMBER)

  • Operator: greater than

  • Value: 10000

They save it as “VIP — Recovered $10k+”.

Two important details:

  • This segment updates automatically. As soon as a merchant’s revenue_recovered_usd crosses $10k, they join.

  • Nobody is manually maintaining this list. The backend writes to one attribute; Segments and Journeys do the rest.

We’ll use this segment as both:

  • The trigger for the journey (“Join Segment: VIP — Recovered $10k+”)

  • A reporting slice later when you want to compare VIP vs non‑VIP retention and LTV in your billing tools

The trigger: Join Segment (VIP) with sane re‑enrollment

Now into the journey builder.

CartWizard Pro creates a Journey (not a one‑off Campaign), because they want this running continuously for every future VIP. If you’re new to this part of Spreeflo, the overview of campaign and journey automation is a useful primer.

First node in the sequence:

  • Trigger: Join Segment

  • Segment: “VIP — Recovered $10k+”

  • Re-enrollment: off

Why Join Segment?

  • It’s the cleanest way to react to a profile state change. You define “VIP” once in the segment, then any journey can attach to that moment of joining.

  • You can later change the threshold (say, from $10k to $15k) in one place without touching the journey logic.

Why is re-enrollment off?

  • Crossing a lifetime revenue threshold should be a one-time celebration. If you refactor your segment or data, you don’t want the same merchant getting “Welcome to VIP” emails twice.

  • If you ever want to celebrate higher tiers (“Elite VIP” at $50k, “Whale” at $250k), use separate segments and journeys for each tier instead of toggling re-entry here.

From this trigger, every new VIP flows into your perks logic exactly once.

Step 1: Stamp the VIP moment in your data

Right after the trigger, CartWizard Pro adds an Update Contact Attribute node:

  • Action: Update Contact Attribute

  • Attribute: vip_since (TIMESTAMP)

  • Update type: Set to now

This does one thing: it records the moment a merchant became VIP.

That tiny detail unlocks:

  • Time-based reporting (“How many merchants became VIP this quarter?”)

  • Future eligibility rules (“If vip_since is more than 12 months ago, invite to the advisory council”)

Because vip_since uses the special “Set to now” update type, Spreeflo writes the current timestamp when the node runs. No guesswork, no manual backfilling.

Step 2: Add a durable VIP tag

Even though segment membership already tells us who’s VIP, CartWizard Pro adds an Add Tag node next:

  • Action: Add Tag

  • Tags: vip-merchant

Why a tag if you already have a segment?

  • Tags are simple, durable labels that survive criteria changes. If you tweak the VIP threshold next year, the tag still shows who was VIP under the old rules.

  • Your team can search for or filter on vip-merchant in other tools that sync tags, without knowing anything about segments or attributes.

  • You can easily hook other journeys into the tag (for example, a “VIP-only feature launch” campaign triggered when tag is added).

This is cheap metadata that gives you flexibility later.

Step 3: Send the perks email right when it matters

Now we talk to the merchant.

CartWizard Pro drops in a Send Email node right after the Add Tag:

  • Action: Send Email

  • Template: “VIP perks unlocked” (built in Spreeflo’s email builder)

  • From: a named founder address (e.g., “Alex from CartWizard Pro”)

  • Send only once: on

The content does three jobs:

  1. Reflect their specific achievement - Example: “You’ve now recovered $10,482 in orders with CartWizard Pro.” - This pulls from revenue_recovered_usd via personalization or AI variables so it feels like a real milestone, not a form letter.

  2. Explain the VIP perks clearly - Priority support (e.g., a dedicated support email or shorter SLA) - Early access to features - Occasional strategy calls or audits for stores at their scale

  3. Give one simple call to action - “Book your VIP strategy session” - “Activate your extended free credits” - “Reply to this email with your biggest Q4 promotion and we’ll help you map it.”

Why send this immediately after the trigger?

  • You’re catching them at a high‑emotion moment: “this thing is working for me.”

  • You’re reinforcing the value they’re already seeing and tying it explicitly to staying with your app longer.

This is where brand message 3 comes in: most businesses leak lifetime value because they don’t nurture engagement. A VIP perks email at exactly the point of proof plugs that leak.

Step 4: Give it time (and space) before you follow up

The next node in the journey is a Wait Condition, not another email.

CartWizard Pro wants to see whether the merchant redeems their perk (e.g., books a call or activates additional credits) before nudging them again.

So they:

  • Instrument a custom event vip_perk_redeemed in their app or on their booking page using Spreeflo.track.

  • Add a Wait Condition node after the perks email with: - Condition: Custom Event vip_perk_redeemed triggered at least 1 time in the last 7 days - Timeout: 7 days

What this does:

  • If the merchant redeems the perk on day 1, the condition is met and the journey moves on immediately.

  • If they don’t, Spreeflo waits up to 7 days and then continues anyway when the timeout hits.

This satisfies good message pacing. Nobody gets hit with a second perks email back‑to‑back. You create a natural window for the merchant to act on their own, while still giving yourself a hook if they don’t.

Step 5: Branch on redemption with If/Else

Right after the Wait Condition, CartWizard Pro drops an If/Else process node:

  • Condition: Custom Event vip_perk_redeemed triggered at least 1 time in the last 7 days

Two paths emerge:

  • Yes branch: “Perk redeemed”

  • Else branch: “Perk not redeemed”

Why re-check the same condition after the wait?

  • The Wait Condition decides when to move on. The If/Else decides what to do next.

  • Re‑evaluating the same rule ensures the right branch even if redemption happens right at the edge of the timeout.

From here, the experience diverges.

Step 6A: For perk redeemers, tag and keep the goodwill

On the “Perk redeemed” branch, CartWizard Pro keeps it light:

  • Action: Add Tag - Tags: vip-perk-redeemed

  • Action: Send Internal Email - Template: “VIP perk redeemed — [Store Name]” - Recipient: founder or success inbox - Send only once: on

The internal email includes:

  • Store name, plan, current revenue_recovered_usd

  • What perk they redeemed (e.g., “Booked strategy call”)

  • Suggested next step (e.g., “Review their account before the call; look for upsell opportunities to our Enterprise tier”)

This is where founder-led teams win on leverage rather than headcount. A single campaigns and journeys workflow surfaces the handful of accounts that deserve real human attention, without you having to comb through charts or spreadsheets.

No additional marketing email is sent on this path. They’ve already engaged; more nudging risks annoyance.

Step 6B: For non-redeemers, a single, thoughtful nudge

On the “Perk not redeemed” branch, CartWizard Pro adds one more Send Email node:

  • Action: Send Email

  • Template: “Still haven’t used your VIP perks?”

  • From: same founder identity

  • Send only once: on

This email is short:

  • Acknowledge that they’re busy.

  • Restate the perk in one line.

  • Include a clear, frictionless link to redeem (book a time, activate credits, open help doc, etc.).

Because of the Wait Condition + If/Else, this second email only ever goes to:

  • Merchants who crossed the VIP threshold

  • Didn’t redeem within 7 days

Everyone else either:

  • Gets one great perks email, or

  • Gets the perks plus a gentle reminder.

No one is spammed with a sequence of five escalating “Did you see this?” messages.

Step 7: Close the loop with an internal alert

The final touch is an internal alert when a merchant reaches VIP regardless of perk redemption.

Right after the first perks email (before the Wait Condition), CartWizard Pro adds a Send Internal Email node:

  • Action: Send Internal Email

  • Template: “New VIP merchant: [Store Name]”

  • Recipients: founder + shared success inbox

  • Send only once: on

This immediately tells the humans:

  • “This store just crossed $10k recovered revenue.”

  • “Here’s their current plan, tenure, and core metrics.”

  • “Here’s the VIP perk they’ve been offered.”

Why place this before the Wait Condition?

  • You learn about new VIPs in real time and can choose to reach out manually if they’re strategically important (e.g., big brand name, high volume).

  • You aren’t waiting a week to discover that a whale quietly swam past your threshold.

And because it’s an internal‑only channel, this doesn’t conflict with your external message pacing rules.

How to read the impact: retention, LTV, and perk redemption

Once the journey has been running for a while, you can start looking at three key metrics:

  1. VIP retention - In your billing or analytics stack, compare churn rates for merchants tagged vip-merchant vs everyone else. - If VIP churn is still high, you may need stronger perks or better qualification.

  2. VIP LTV - Same idea: compare average lifetime revenue for vip-merchant vs non‑VIP. - A good VIP program should both attract and keep higher‑value merchants, not just recognize them after the fact.

  3. Perk-redemption rate - Use the vip-perk-redeemed tag or the vip_perk_redeemed custom event to build a segment of “VIPs who actually used their perk.” - Divide that by the total VIP segment to see your redemption percentage. - If it’s low, the offer may be misaligned with what VIPs actually care about, or the friction to redeem is too high.

The key is that all of this becomes trivial to query once you’ve captured the right customer detail and tagged the moments that matter.

Adapting this pattern to your app

The skeleton of the journey stays the same. You’ll adapt:

  • The VIP definition (revenue, orders processed, tenure, plan, or a blend)

  • The perks you offer (support, roadmap influence, pricing, co‑marketing)

  • The redemption signal (custom event, link click, or feature use)

Some variations that work well for other e‑commerce apps:

  • Analytics tools: VIP when “orders analyzed per month > X” or “tracking installed on 5+ stores in a group.”

  • Fulfilment apps: VIP when “shipments per month > X” or “on highest‑volume tier for 6+ months.”

  • Review / UGC apps: VIP when “reviews collected > X” or “photo/video submissions > Y.”

As long as you can express the rule in the segment builder and keep the underlying attribute or event up to date via the Spreeflo API or SDK, the same pattern applies.

The real win: stopping value from leaking out of your best accounts

Most app developers obsess over install rate and App Store SEO, then treat every paying merchant the same once they’re in.

The irony is that your revenue is heavily concentrated in a small number of stores. Those are precisely the relationships you can’t afford to run on autopilot.

A simple VIP perks journey like the one at the top of this page does three things for you:

  • It forces you to define who actually matters most, in concrete, trackable terms.

  • It makes that definition actionable, with targeted, timely communication instead of generic broadcasts.

  • It nudges your best customers to deepen their engagement right when they’re already getting value, which is the moment most businesses waste.

You build this once. Then it runs quietly, catching every future VIP the moment they cross your threshold.

That’s what good marketing automation is for founder‑led teams: a way to capture more lifetime value from the customers you already earned, without adding headcount or living inside your tools all day.