Turn NPS Scores Into Saved Accounts and Public Proof: A Routing Journey for SEO SaaS
A detailed Spreeflo journey for SEO SaaS teams to route every NPS response into targeted automation branches. Turn promoters into public reviews, flag detractors for fast human follow-up, and guide passives toward long-term product success.
Industry
Niche
Pattern
Loading sequence...
Your best customers are literally telling you how they feel about your product, and most of that signal dies in a dashboard.
For an SEO SaaS like RankPulse or BrieflySEO, every NPS response is a flashing light: “turn me into a review,” “I’m about to churn,” or “I’m on the fence.” The sequence at the top of this page is the whole journey, end to end, for catching those signals and acting on them automatically.
This playbook walks through that journey node by node so you can turn NPS from a vanity score into more reviews, fewer cancels, and a healthier MRR line.
Why NPS is too valuable to leave in a spreadsheet
If you’re running an SEO tool, your growth and churn are tied to a few things:
How fast people hit their “aha” moment (first rankings checked, first brief generated)
Whether they feel the product keeps making their job easier month after month
Whether bad experiences get spotted before they silently churn
NPS responses cut straight through all your proxy metrics. A 9–10 means “I’d bet my reputation on you.” A 0–6 usually means “I’m one friction away from canceling.”
Most teams:
Look at NPS quarterly.
Maybe send a one-off email to some detractors.
Never systematically convert promoters into reviews or case studies.
That’s wasted customer detail and a classic lifetime-value leak.
The journey you see above fixes that by doing three things the moment an nps_response comes in:
Routes promoters into a review request branch.
Routes detractors into a customer-success outreach branch.
Tags everyone so you can speak to each group differently later.
We’ll build this as a continuous journey in Spreeflo, not a one-off campaign, so it runs quietly in the background for every account. If you’re new to the canvas UI, the overview of campaign and journey automation is a good quick primer.
Step 0: Get NPS responses into Spreeflo as a behavioral event
Before the journey can do anything, Spreeflo needs to see the NPS responses.
In this pattern we assume you’re collecting NPS in a tool you don’t fully control (e.g. Delighted, AskNicely, or a module in your billing app), and that tool sends results to your backend.
From there you have two clean options:
If your backend handles the NPS webhook, have it POST each response into the
eventsendpoint of the Spreeflo API with:
-event: "nps_response"
-email: "user@example.com"(or a user ID Spreeflo can map)
-properties: { score: 0–10, comment: "...", source: "delighted" }If NPS is a custom widget in your web app, call
Spreeflo.track('nps_response', { score, comment })from the browser when a logged-in, identified user submits their score.
Either way, the important piece is consistency:
Every response produces a
nps_responseevent tied to a contact.The event has a
scoreproperty (0–10). Optionally, you can also send asegmentproperty set to"promoter","passive", or"detractor"if your NPS tool does that for you.
Once Spreeflo is ingesting these events, you’re ready for the journey.
Step 1: Custom Event trigger on every NPS response
Node: Custom Event trigger
Event name: nps_response
Re-enrollment: ON
This is the entry point for the journey. Configure the trigger to fire whenever Spreeflo receives a nps_response custom event for a contact.
Leave property conditions off at the trigger level. You want every score, from furious 0 to ecstatic 10, to enter the journey so the next node can route them correctly.
Set Re-enrollment to true. An NPS program is recurring by design; if you run it twice a year you want the same customer to be processed each time they respond. Spreeflo will still prevent duplicates while a contact is mid-journey, but this toggle lets the flow run again once they’ve exited.
Why this matters for SEO SaaS:
NPS on a long-term rank tracking account tells you if your “always on” value is holding up.
NPS on a brand-new BrieflySEO subscriber tells you whether your onboarding is landing.
Step 2: Multi-way Split into promoter, passive, detractor
Node: Multi-way Split
Conditions: three branches based on NPS segment
You now want to fork the journey into three distinct experiences. A Multi-way Split is the cleanest way to do that.
Use Spreeflo’s segment builder inside each branch condition, referencing Custom Events:
Promoter branch (e.g. branch name:
promoter):
- Custom eventnps_response
-scoreGREATER_THANorISrules to capture 9–10Passive branch (
passive):
-scoreequal to 7 or 8Detractor branch (
detractor):
-scoreless than or equal to 6
If your NPS tool already passes a segment property ("promoter", "passive", "detractor"), you can simplify each condition to “Custom event nps_response WHERE property segment is promoter,” and so on.
Order the branches clearly in the Multi-way Split config: promoters first, passives second, detractors third, with an else branch catching anything unexpected (missing data, malformed score). You can route the else branch to a tag-only path or an internal alert.
Design rationale:
Using event properties here keeps the logic grounded in the actual response, not a static contact field that can drift over time.
The split holds the whole journey together visually; every subsequent node clearly belongs to one emotional state.
Promoter branch: turn satisfaction into public proof
Promoters are gold for an SEO SaaS. They tend to be the ones who have seen ranking lifts, smoother reporting, or happier clients because of your tool.
We’ll use three elements here:
Tagging
A review request email
A check on whether they actually clicked
3A. Tag the contact as a promoter
Node: Add Tag
Tags: nps_promoter
The first action is purely data hygiene. An Add Tag node right after the promoter branch marks the contact for all future segmentation:
Build a “NPS Promoters” segment for early access features.
Exclude them from certain churn-prevention flows.
Later, run a referral campaign for this exact group.
This speaks directly to Spreeflo’s core idea: capture detail on every customer so you can speak to each uniquely.
3B. Send a focused review request email
Node: Send Email
Spacing: This is the first outbound message on this branch, so no delay is needed before it.
Use Spreeflo’s email builder to create a simple, plain-feeling email:
Subject: “Quick favor?” or “Can you help another SEO team find us?”
Body:
- Thank them for their feedback.
- Acknowledge their specific use case (“Agency reporting is smoother now that you can track 2,000 keywords by client.”).
- Include one clear CTA button to your preferred review platform (G2, Capterra, Product Hunt, etc).
Set “Send only once” on this node so a contact doesn’t get duplicate asks if they respond promoter multiple times in a short period.
3C. Wait, then branch on email activity
Node: Time Delay
Value: 3 days
Node: Check Email Activity
Email: the review request
Branches: clicked_review_link, else
A couple of days later, insert a Check Email Activity node:
Create a positive branch for “Link Clicked.”
Let everyone else fall into the else path.
On the clicked_review_link branch you might:
Add a
left_reviewtag.Optionally send an internal email to yourself or a teammate with the subject “New likely review from {company}” so you can keep an eye on that account.
On the else branch, you can choose to:
End the journey (one ask is enough), or
After another Time Delay, send a lighter “Any chance you’d still be up for leaving a quick review?” follow-up.
Make sure there’s always at least a 1-day Time Delay node between every Send Email on the same path to avoid feeling spammy.
Detractor branch: triage, respond, and try to save the account
Detractors are where you hemorrhage MRR if you’re not careful. A low NPS on a rank tracking or technical audit tool usually means broken expectations: data they don’t trust, a feature gap, or an onboarding miss.
This branch focuses on two things:
Making sure a human sees the issue fast.
Giving the customer a direct line back to you.
4A. Tag the contact as a detractor
Node: Add Tag
Tags: nps_detractor
Again, start with an Add Tag node on the detractor path. This tag becomes:
A filter for your churn-risk dashboards.
A condition for dedicated win-back campaigns later.
Input for prioritizing product improvements (“show me all detractors mentioning ‘site audits’”).
4B. Alert customer success or the founder
Node: Send Internal Email
Send an internal email to your “success@” inbox or directly to the founder, with:
Customer name, email, company, plan, MRR.
NPS score and the free-text comment.
Recent key events: last login, last keyword added, last brief generated (if you track them as custom events).
Because internal emails don’t hit the customer, you can send this immediately without a delay. It creates an instant to-do in your real workflow: “call this person,” “reply personally,” or “investigate their complaint.”
4C. Follow up personally with the customer
Node: Time Delay
Value: 1 hour
Node: Send Email
From: Founder or Head of Product persona
After a short Time Delay (an hour is enough to avoid two emails hitting at the same timestamp), send a simple, non-templated-feeling message from a real person:
Subject: “Mind if I ask 2 quick questions?”
Body:
- Acknowledge that they gave you a low score.
- Thank them for being honest.
- Ask one or two specific questions, not a vague “any feedback?” (e.g. “Was it data accuracy, speed, or workflow where we fell short?”).
- Invite them to reply directly.
Later, you can build a separate journey with an Email Action trigger on “Replied” to this email, tagging “nps_save_conversation_started” so you can measure how many detractors engage.
Passive branch: tip the fence-sitters toward success
Passives (7–8) are a quieter risk: they’re not angry enough to complain, not happy enough to rave, and very likely to leave if a cheaper or shinier SEO tool appears.
You don’t need a big play here, but you should do something intentional.
5A. Tag passives for future segmentation
Node: Add Tag
Tags: nps_passive
As with the other branches, tag them immediately. Over time this lets you answer questions like:
“How many passives eventually upgrade?”
“Do passives cluster around certain features or plans?”
5B. Send a value-building nudge
Node: Send Email
Send a short email focused on one thing that usually moves people from “it’s fine” to “this is crucial” for your product:
For a rank tracker: a short guide on setting up alerts for big ranking drops.
For a content brief SaaS: a walkthrough of turning briefs into a repeatable content calendar.
For a technical SEO platform: a way to turn your crawl reports into client-ready PDFs.
This isn’t a generic nurture email. It’s the one action that, based on your data, tends to correlate with long-term retention. Space it out properly: it’s the first outbound on this path, so no delay is needed here, but if you plan a second email later, insert at least a 1-day Time Delay first.
Shared utilities: attributes, segments, and follow-on journeys
Once this journey is in place, your audience becomes richer in two key ways:
Every contact now has one of
nps_promoter,nps_passive, ornps_detractortags (and possibly aleft_reviewtag).Every NPS response is mapped to a contact’s activity history.
You can build saved segments off those tags for new campaigns and journeys:
“All NPS promoters on the Agency plan” → invite to beta features that improve reporting.
“NPS detractors who visited /pricing in the last 7 days” → targeted outreach before they downgrade.
“NPS passives who have never generated a content brief” → an educational onboarding sequence.
If you also want to store the latest NPS score as a contact attribute (for reporting outside of event views), make sure your NPS integration sends that value as part of an identify or contact-update call into Spreeflo. The Update Contact Attribute node is great for writing static literals or numeric increments, but it doesn’t pull dynamic values out of events, so the upstream system should keep latest_nps_score in sync.
This is the bigger pattern at work: the more granular your customer data, the more precisely you can tailor copy, timing, and offers. Spreeflo’s job is to turn that granularity into automated behavior instead of one-off manual campaigns.
Measuring success: from NPS number to NPS revenue
Three core metrics tell you if this NPS routing journey is doing its job:
NPS response rate
- How manynps_responseevents you see versus how many surveys you send. If you’re not getting responses, no journey can help. Use your NPS tool and Spreeflo’s web analytics side by side here.Promoter-to-review conversion
- Among contacts taggednps_promoter, what share end up withleft_reviewor at least “clicked review link”? That’s your new “public proof” pipeline, and you can track it simply by counting tags or using segments in Spreeflo’s audiences view.Detractor save rate
- For detractors, define a “save” as “still an active paying customer 30 or 60 days after the NPS response” or “upgraded instead of churning.” You can approximate this by combining thenps_detractortag with plan and activity data in your own reporting, while the journey guarantees every detractor at least gets timely attention.
Over time, you should see:
More fresh reviews showing up on the platforms that drive signups.
Fewer surprise churns from customers who “never heard from you” after a bad experience.
A clearer map of which features move people from detractor → passive → promoter.
If you already have a sense of your contact volumes and want to sanity check cost, the breakdown in about Spreeflo pricing plans explains how marketing contacts are counted for journeys like this.
Bringing it back to the bigger game
For an SEO SaaS, NPS isn’t a quarterly slide in an investor deck. It’s a live feed of who might churn, who might expand, and who might send you your next ten customers.
Routing each NPS response through a journey like the one at the top of this page does two things:
It respects the detail you’ve captured on every customer by turning “score + comment” into tailored follow-up, not a generic mass email.
It plugs one of the quieter leaks in your lifetime value: unhappy or lukewarm users who would have stayed if someone had reached out at the right moment.
You don’t need a big success team to run this. You need one well-designed automation that catches every signal, every time, and lets your small team focus on the conversations that matter.
When you’re ready to move NPS from dashboard to driver, this is a journey worth building once and letting it work for you indefinitely.