Back to Playbooks

Build a Comparison-Page Nurture Track That Turns Evaluators Into Buyers

Free

Walks through a Spreeflo journey that automatically nurtures visitors to your comparison and “vs” pages, tagging evaluators, sending objection-handling emails, and routing high-intent contacts into trials, installs, and human follow-up instead of generic nurture.

Industry

Niche

Pattern

Loading sequence...

CartWizard’s founder thought the comparison pages were doing their job.

They had a “Mailchimp alternative for Shopify” page, a “vs Klaviyo” page, a generic “best abandoned-cart apps” comparison. Google Analytics showed steady traffic. But when they pulled the numbers, install and demo rates from that traffic were barely higher than for the blog.

Visitors were clearly evaluating. No one was systematically following up.

The sequence at the top of this page is the whole journey, end to end. It’s the missing piece between “anonymous comparison-page lurker” and “confident buyer”.

Let’s imagine CartWizard properly for a second: a $90k MRR Shopify app, four people on the team, Shopify App Store + content + partnerships bringing in installs. Their stack: Stripe, Intercom, GA, some custom event tracking, and a Mailchimp account that’s mostly a newsletter cannon.

What this playbook does is simple: any time a known contact hits a /vs-competitor or /alternative page, Spreeflo quietly starts an “objection-handling” track. The emails they get next are different: they answer the objections that page signals, show proof that looks like them, and put pricing logic in context. At the same time, your team gets notified when someone looks close to making a call.

You stop treating high-intent evaluators like everyone else. You start capturing the detail on each evaluator so you can speak to their situation — and you quit leaking lifetime value just because someone left the tab open and moved on.

Below, we’ll walk the journey node by node and explain how to adapt it to your app.

Why comparison-page visitors deserve their own track

A merchant reading your blog about “how to increase cart recovery” is still learning.

A merchant reading “CartWizard vs Klaviyo” or “Shopify abandoned cart app comparison” is past that. They’re in evaluation mode:

  • They’ve shortlisted options.

  • They’re weighing trade-offs (price, risk, migration cost).

  • They’re collecting material to justify a choice to a boss or client.

If they’re already in your database — a trial, a past lead, a newsletter subscriber — you have a way to follow up with context. Most teams don’t. Everyone gets the same generic nurture.

That’s the leak.

By wiring comparison-page visits into a dedicated journey, you:

  • Treat evaluators as a segment with distinct information needs.

  • Capture which alternatives they’re considering and how often they come back.

  • Give your small team a way to show up at exactly the right moment without manual monitoring.

The rest of this article assumes you’ve already set up web tracking using Spreeflo’s SDK and enabled web tracking and analytics. If you haven’t, start there: comparison behavior only matters if you can tie page views back to contacts.

Step 1: Trigger on comparison intent with Custom Events

At the top of the sequence you’ll see one or more Custom Event triggers.

Each one listens for the page_view event (or whatever you call it in your tracking) with a property filter on the URL:

  • url contains /mailchimp-alternative

  • url contains /klaviyo-alternative

  • url contains /vs-cartify

  • …whatever your key comparison URLs are.

In Spreeflo, this is a Custom Event trigger configured with:

  • eventName = "page_view"

  • Property conditions on url using the Segment Builder operators (“contains”, “starts with”, etc.).

You’ll usually add one trigger per important comparison page. That keeps each mini-track specific enough to mention the right competitor in your emails.

On re-enrollment: for comparison traffic, allow repeat entries. Set isReEnrollment to true so a contact who evaluated you six months ago and comes back to the /vs-Klaviyo page can run through an updated sequence. A contact in the middle of the journey won’t get re-enrolled; the mid-journey lock prevents double-processing.

Immediately after each trigger, the sequence uses:

  • An Add Tag node to apply something like comparison-evaluator and a page-specific tag such as comp-klaviyo. This is how you capture that detail on each evaluator so you can speak to them uniquely later. Those tags become building blocks for segments, dashboards, and future journeys.

Because tags are cheap, err on the side of more detail: one generic “is-evaluating” tag, plus one tag per competitor they’re comparing you against.

Step 2: Start a helpful (not creepy) follow-up email

You could email the moment the page_view event fires. That feels surveillance-y.

Instead, the sequence at the top drops a Time Delay right after tagging:

  • Time Delay: 1 hour, unit "Hour(s)".

That does two things:

  1. It paces your messaging so you’re not sending a marketing email seconds after a page view.

  2. It makes the email read as a timely helpful resource, not a “we saw you on this URL” alert.

After that delay comes the first Send Email node. This is your “Comparison helper” email:

  • Subject: Outcome-focused and category-aware (“Choosing a cart recovery app that actually fits your store size”).

  • Body: A short, skimmable overview of:

  • Where your app fits in the landscape (not just “we’re better”).

  • 2–3 proof points that matter specifically for merchants who’d visit that page (e.g., migration ease from that competitor, risk-free trial, support).

  • A soft CTA: “Reply with your current app and we’ll send a quick side‑by‑side for your store” or “Here’s a 5‑minute teardown of [Competitor] vs CartWizard.”

Build this email once using Spreeflo’s email builder, save it as a template, and re-use it across journeys. For different competitors, swap out the proof points and examples.

In the Send Email node:

  • Leave “Send only once” turned on. A contact may hit that comparison URL multiple times during one evaluation cycle; they should only see this helper email once per journey run.

  • Tie the node to the right saved template so later Check Email Activity nodes can key off it.

This first email acknowledges that the contact is in “compare and decide” mode, without referencing the exact page they visited.

Step 3: Wait for them to take a real step (trial or install), then branch

Some evaluators will read that email and go straight to install. Others will hover for days.

The job of the next section of the sequence is to:

  • Give them space to act.

  • Detect when they start a trial or install your app.

  • Stop the comparison talk once they convert and move them into onboarding.

The sequence uses a Wait Condition node next:

  • Condition: a Segment Builder condition that represents “started trial or installed app”. For a Shopify app, this might be:

  • Custom event app_installed triggered at least 1 time in the last 3 days, OR

  • Member of segment Active trial users.

  • Timeout: 3 days, unit "Day(s)".

Practically, this means: “Wait up to three days for this contact to become a trial/installed user; if it never happens, move on anyway.”

Right after the Wait Condition, an If/Else node checks the same condition:

  • Yes branch: they became a trial or install during the wait.

  • Else branch: they didn’t.

This pattern (Wait Condition → If/Else) matters. Wait Condition gives the contact time to meet your definition of “converted evaluator” without blocking the journey forever, and the If/Else lets you treat converters differently from stallers.

Converted evaluators (Yes branch)

On the “Yes” path, the sequence does three things:

  1. Add Tag: apply something like comparison-won. This gives you a clean way to later answer “How many paying accounts came from comparison content?”

  2. Update Contact Attribute: set a literal text attribute such as evaluation_source = "comparison_page". This is a static string update in the Update Contact Attribute node. Later, you can segment by this attribute to see retention or ARPU for this cohort.

  3. Send Internal Email: notify whoever handles bigger accounts.

The Send Internal Email node might send to founder@ or a shared inbox:

  • Subject: “High-intent evaluator installed after /vs-Klaviyo visit”.

  • Body: include the contact’s email, tags (e.g., comp-klaviyo), and a link to their store if you track it.

This is the moment when a human touch can move the account from “trialing” to “advocating”. For a small team, a few well-timed founder emails pay off more than any automation tweak.

From here, you’d typically merge that path into your standard onboarding journey. In the sequence at the top of the page, the path simply terminates to keep the example focused, but merging into your onboarding flow is the logical next step.

Step 4: Deeper objection handling for evaluators who stalled

Now the else branch: contacts who visited a comparison page, got your helper email, and did not start a trial or install within three days.

These are the people sitting on objections.

Coming out of the If/Else, you already have spacing:

  • 1 hour before Email 1.

  • Up to 3 days in the Wait Condition.

So you can safely send another contact-facing email without feeling spammy.

The else branch first sends Email 2. Think of this as your “proof and pricing logic” email:

  • Lead with 1–2 specific outcomes from merchants who switched from the named competitor (open rates, recovered revenue, time saved).

  • Address one or two pricing objections directly:

  • CTA: higher intent — “Book a 15‑minute fit check” or “See exactly what migration from [Competitor] looks like.”

  • How your pricing scales with GMV or order volume.

  • What happens during peak seasons.

  • How costs compare over a year, not just monthly sticker prices.

Again, build this with the email builder and keep one template per competitor if your messaging differs significantly.

Right after that, the sequence adds a Time Delay:

  • Time Delay: 2 days, unit "Day(s)".

Then comes a Check Email Activity node tied to Email 2’s template:

  • Branch for “clicked”.

  • Branch for “opened but didn’t click” (using “opened” plus a follow-up condition on not clicked if you want to be exact).

  • Else branch for “no engagement”.

Here’s how each branch works in the visual sequence:

Branch A: Clicked

Clickers are leaning in.

On this path, the sequence:

  1. Uses Add Tag to tag the contact as comparison-clicker.

  2. Fires a Send Internal Email to alert your team. This internal email can include:

  3. Which competitor page they came from (comp-klaviyo tag).

  4. Which link they clicked (if you track clicked links in your events).

  5. Their plan or store size if you store that as an attribute.

Depending on your sales motion, you might also drop them into a high-touch follow-up journey via a tag-triggered automation.

Branch B: Opened, no click

These contacts skimmed but didn’t act.

On this branch, the sequence waits another day (a short Time Delay) and sends a lighter-touch third email:

  • Short FAQ-style: 3–4 common questions that stop people from switching.

  • A lower-friction CTA: “Reply with your current setup and we’ll tell you if switching is even worth it.”

Again, the previous delay and the extra Time Delay keep message pacing healthy.

Branch C: No engagement

If they didn’t open Email 2 at all, you don’t want to keep hammering.

On the else branch, the sequence simply:

  • Applies a tag like comparison-unresponsive.

  • Ends.

You can use that tag later to build exclusion segments for other promotional campaigns, or to retarget them differently (say, via web push if you use it in other journeys).

The important thing is that the automation stops pushing comparison arguments once there’s no sign they care.

Step 5: Wire this into your metrics

The pattern’s success metrics are:

  • Comparison-page-to-meeting rate.

  • Win rate for the evaluator cohort.

You can get both using Spreeflo’s segment builder and a couple of custom events sent through the Spreeflo API.

Some practical examples:

  1. Comparison evaluators segment

  2. Comparison evaluators who booked a meeting

  3. Comparison evaluators you won

  • Condition: contact is tagged with comparison-evaluator.

  • Optional: “Custom event page_view with url contains /vs- at least 1 time in the last 30 days” to time-box.

  • Above segment membership, AND

  • Custom event booked_demo triggered at least 1 time in the last 30 days.

Your comparison-page-to-meeting rate is simply the size of this segment divided by the evaluator segment size over the same period.

  • Above evaluator segment, AND

  • Member of segment Active subscribers OR custom event app_installed triggered at least once over all time.

Compare this win rate against non-evaluator leads, and you’ll see whether the track is doing its job. If evaluators convert and retain at higher rates (they usually do), it’s a strong argument to invest more into these pages and the journey behind them.

Adapting the flow to your app

What we’ve walked through is a template, not a script.

A few ways to adapt it for your reality:

  • Multiple products or plans? Use additional Multi-way Split nodes after the trigger to route enterprise stores vs small shops into different copy.

  • Longer sales cycles? Extend the Wait Condition window and layer in one or two more objection-handling emails, each separated by a Time Delay node of a few days.

  • Heavy content library? Swap the simple Email 2 for a Random Split that tests two different angles: a pricing-focused email vs a migration-case-study email, then watch which branch produces higher install rates.

Because Spreeflo treats comparison-page visits as first-class behavior (via tracked page views and custom events), all of this lives in one automation canvas. You can build a journey, wire in your templates, and let it run while you ship features.

The bigger point, though, is strategic.

Comparison pages are where serious buyers wrestle with risk. When you capture that behavior, store it as tags and attributes, and respond with thoughtful sequences instead of generic blasts, you stop losing those buyers to inertia or the last tab they happened to click.

You’re no longer just publishing a “Mailchimp alternative” page and hoping. You’re turning that intent into a structured conversation — one that runs automatically, respects the merchant’s attention, and nudges the right ones across the line.

For a lean Shopify app team, that kind of always-on evaluator track is exactly where automation earns its keep: it catches a leak in your funnel, speaks to each evaluator in a way that matches their behavior, and lets you focus on building a better product while the sequence at the top of this page does its quiet work.