# Best Product Tour Software for Bootstrapped SaaS (2026)

> Cheap Appcues alternatives for 2026: Driver.js is free (MIT), Intro.js from $9.99 lifetime, HelpHero from $55/mo. Prices, MAU limits and when to skip a tour.

- Canonical: https://zeroraised.com/blog/best-product-tour-software-for-bootstrapped-saas
- Published: 2026-11-08T07:30:00Z
- Author: ZeroRaised Team (https://zeroraised.com/blog/authors/zeroraised)
- Publisher: ZeroRaised (https://zeroraised.com/)
- Section: Growth
- Tags: onboarding, saas, developer-tools, comparison

**Short answer:** If you can write JavaScript, use [Driver.js](https://driverjs.com/). It is free under the MIT licence and takes about 15 lines of code. If you want a no-code builder, [Produktly](https://www.produktly.com/pricing) (from 19 EUR a month) and [HelpHero](https://helphero.co/pricing) (from $55 a month) are the cheapest real alternatives to Appcues we could verify. Appcues itself starts at $9,000 a year.

Every price, licence and limit below comes from the vendor's own page, checked on 8 Nov 2026. The advice between the facts is ours, and we mark it.

## TL;DR

- **Free, code it yourself:** Driver.js is MIT-licensed with "zero dependencies" ([Driver.js on GitHub](https://github.com/kamranahmedse/driver.js)). Reactour is MIT-licensed if you use React ([Reactour](https://github.com/elrumordelaluz/reactour)).
- **One-time licence:** Shepherd.js and Intro.js are AGPL. For commercial use, Shepherd Business costs $50 lifetime ([Shepherd pricing](https://shepherdjs.dev/pricing)) and Intro.js Starter costs $9.99 lifetime ([Intro.js](https://introjs.com/#commercial)).
- **Cheap no-code builders:** Produktly costs 19 EUR a month and is priced by triggers, not users. HelpHero costs $55 a month for up to 1,000 MAU.
- **Mid-market tools:** Product Fruits starts at $111 a month billed annually, Userflow at $240 a month billed annually, Chameleon's Startup plan at $279, and Userpilot at $299 a month.
- **Appcues:** "From $9,000/year" for up to 50,000 MAU ([Appcues pricing](https://www.appcues.com/pricing)).
- **Before you buy:** a three-step checklist often does more for activation than a tour.

**Disclosure:** ZeroRaised is a launch site for bootstrapped products and publishes this roundup. ZeroRaised has no commercial relationship with any vendor named here and earns nothing if you sign up. Facts come from the linked sources as checked on 8 Nov 2026.

## Comparison table

| Tool | Licence / free tier | Entry price | MAU limit at entry | Best for |
|---|---|---|---|---|
| [Driver.js](https://driverjs.com/) | MIT, free | $0 | None (runs in your code) | Developer-founders who want $0 and full control |
| [Reactour](https://github.com/elrumordelaluz/reactour) | MIT, free | $0 | None | React apps |
| [Shepherd.js](https://shepherdjs.dev/pricing) | AGPL-3.0; free for open source, personal and non-commercial | $50 lifetime (Business, up to 5 projects) | None | Teams that want a mature library and support |
| [Intro.js](https://introjs.com/#commercial) | AGPLv3; free for open source, personal and non-commercial | $9.99 lifetime (Starter, 1 project) | None | The cheapest licensed library |
| [Produktly](https://www.produktly.com/pricing) | 14-day trial, no free plan | 19 EUR/mo (16 EUR/mo billed annually) | No MAU limit; 2,000 triggers/mo | No-code on the smallest budget |
| [HelpHero](https://helphero.co/pricing) | 14-day trial, no card | $55/mo ($550/yr) | Up to 1,000 MAU | Unlimited tours and seats at a flat low tier |
| [Product Fruits](https://productfruits.com/pricing) | Free trial, no card | $111/mo billed annually (Starter) | 1,500 MAU shown at that price | Tours, hints and a checklist in one tool |
| [Userflow](https://www.userflow.com/pricing) | 14-day trial, no card | $240/mo billed annually (Essentials) | 1,000 MAU included | Polished flow builder, unlimited seats |
| [Chameleon](https://www.chameleon.io/pricing) | 14-day trial, no card | $279 (Startup plan) | 2,000 MTU | Teams that want deep customisation |
| [Userpilot](https://userpilot.com/pricing/) | 14-day trial, no card | $299/mo (Starter) | Up to 2,000 MAU | Tours plus product analytics |
| [Appcues](https://www.appcues.com/pricing) | No trial listed | $9,000/yr (Grow) | Up to 50,000 MAU | Funded teams with larger user bases |

Note on Usetiful: its pricing URL now redirects to a Fullstory acquisition announcement, and its homepage says "Usetiful has been acquired by Fullstory!" ([Usetiful](https://www.usetiful.com/)). We could not verify a current price, so it is not in the table.

## Open-source libraries: $0 to $50 once

If you write your own front end, an open-source library is the obvious bootstrapped choice. There is no MAU meter, no third-party script loading on every page and no vendor to outgrow. The trade-off is that every change to a tour is a code change and a deploy.

### Driver.js (MIT, free)

Driver.js is the one we would start with. Its homepage says it is "open source under the MIT license", and its README says it "has zero dependencies" ([Driver.js](https://driverjs.com/), [GitHub](https://github.com/kamranahmedse/driver.js)). The homepage claims "27K+ github stars". The docs also list separate entry points for hints and checklists (`driver.js/hints`, `driver.js/checklist`), so you can add more than linear tours without changing library ([Driver.js installation](https://driverjs.com/docs/installation)).

A three-step tour looks like this. The imports and API come from the official docs. The selectors and copy are an example for your own app.

```js
// npm install driver.js
import { driver } from "driver.js";
import "driver.js/dist/driver.css";

const tour = driver({
  showProgress: true,
  steps: [
    { element: "#new-project", popover: { title: "Create a project", description: "Start here. Everything lives inside a project." } },
    { element: "#invite", popover: { title: "Invite your team", description: "Projects are more useful with a teammate." } },
    { element: "#connect", popover: { title: "Connect your data", description: "One integration and your dashboard fills itself." } },
  ],
});

// Show the tour once, on the first visit
if (!localStorage.getItem("tourDone")) {
  tour.drive();
  localStorage.setItem("tourDone", "1");
}
```

Our read: store "tour done" on the user record rather than in `localStorage` once you have accounts. Otherwise the tour replays on every new browser.

### Shepherd.js (AGPL, $50 lifetime for commercial use)

Shepherd is a mature, framework-agnostic library. It is "dual-licensed under AGPL-3.0 and a Commercial License", and its README says a commercial licence is "required for commercial products and revenue-generating companies" ([Shepherd on GitHub](https://github.com/shipshapecode/shepherd)). The pricing page lists Business at $50 lifetime (up to 5 projects, 1 month of commercial support) and Enterprise at $300 lifetime (unlimited projects, 6 months of support) ([Shepherd pricing](https://shepherdjs.dev/pricing)).

### Intro.js (AGPL, $9.99 lifetime for commercial use)

Intro.js is "AGPL-licensed and open-source", and its site says commercial apps, websites and plugins need a commercial licence. Every tier is a "once-off payment": Starter $9.99 (one project), Business $49.99 (5 projects, 1 month of support, 1 custom theme) and Premium $299.99 (unlimited projects) ([Intro.js](https://introjs.com/#commercial)).

### React options: Reactour and Onborda

[Reactour](https://github.com/elrumordelaluz/reactour) is a React tour library under the MIT licence. [Onborda](https://github.com/uixmat/onborda) is built for Next.js and animated with Framer Motion. We could not find a licence stated in its repository when we checked, so confirm that before you ship it in a commercial product.

## Affordable no-code builders

A no-code tool earns its fee when someone other than the developer edits onboarding, or when you change tours often enough that redeploying each time hurts. You add one script, then build flows in a visual editor.

### Produktly: from 19 EUR a month, no MAU meter

Produktly is the cheapest builder we verified, and its pricing model suits small products. It says pricing is "not per seat and not per monthly active user". Plans are limited by monthly triggers instead: Developer is 19 EUR a month (16 EUR billed annually) with 2,000 triggers, 3 team members and 5 product tours. Developer shows a "Powered by Produktly" footer. Startup costs 59 EUR a month with 7,500 triggers and your own branding. Every paid plan has a 14-day trial ([Produktly pricing](https://www.produktly.com/pricing)).

### HelpHero: $55 a month, everything unlimited except MAU

HelpHero charges by MAU and nothing else. Up to 1,000 MAU costs $55 a month or $550 a year, and up to 2,500 MAU costs $115 a month. Every plan includes "Unlimited product tours", "Unlimited checklists", "Unlimited seats" and "No HelpHero branding". The trial lasts 14 days and needs no card ([HelpHero pricing](https://helphero.co/pricing)).

### Product Fruits: from $111 a month billed annually

Product Fruits puts tours, hints, checklists and an AI help layer in one tool. At the 1,500 MAU level its page shows Starter at "$111 /month" and Pro at "$187 /month", both billed annually with 25% off. Starter includes 15 tours, 50 hints, 2 checklists and 3 seats. It counts an active user as "someone logging to your product in any given month" ([Product Fruits pricing](https://productfruits.com/pricing)).

### Userflow: from $240 a month billed annually

Userflow's Essentials plan costs $240 a month billed annually ($2,880 a year, which it says saves $720 a year) and includes 1,000 MAUs. Studio costs $400 a month billed annually. All plans have unlimited seats. Extra MAUs "start at $40/mo per 1,000", and the trial lasts 14 days with no card ([Userflow pricing](https://www.userflow.com/pricing)).

## The comparison set: Chameleon, Userpilot, Appcues

These are good products, but they are priced for teams with budgets.

- **Chameleon:** the Startup plan "Starts at $279 for 2,000 MTUs". Pro is "from $750 /mo for 5k MTUs" ([Chameleon pricing](https://www.chameleon.io/pricing)).
- **Userpilot:** Starter is $299 a month for "Up to 2,000 Monthly Active Users", with 3 seats and 1 year of data retention. Growth is "From $849/mo" ([Userpilot pricing](https://userpilot.com/pricing/)).
- **Appcues:** Grow is "From $9,000/year", billed annually, for up to 50,000 MAU and 25 published experiences, with no free trial listed. If you go over your plan, Appcues says "Your experiences keep running. We talk through the right plan at your next billing cycle." ([Appcues pricing](https://www.appcues.com/pricing)).

Our read: if you have 300 active users and $3,000 MRR, Appcues would cost roughly a quarter of your revenue. Paying that only makes sense if onboarding is clearly your biggest leak and a cheaper tool has already failed.

## The MAU pricing trap

Most hosted tools charge by monthly active users. HelpHero, Product Fruits, Userflow, Userpilot and Appcues use MAU, and Chameleon uses monthly tracked users. Three things catch bootstrapped founders out:

1. **MAU counts users, not customers.** A freemium plan or a long free trial puts lots of non-paying people into the count. Worked example: 150 paying customers and 1,200 free users signing in each month puts you above HelpHero's 1,000 MAU tier, so you pay $115 a month, not $55, even though revenue has not changed.
2. **Launch spikes.** A good launch day can double sign-ins for a month. Check whether the vendor bills overage automatically, bumps your tier or waits for renewal. Appcues says it waits for the next billing cycle. Userflow adds MAUs in blocks of 1,000. Several other pages we checked do not state an overage policy, so ask before you sign.
3. **Annual lock-in.** Several entry prices only apply when billed annually. That is a year's commitment before you know whether tours improve activation.

Our read: if you have a large free tier, Produktly's trigger-based pricing or an open-source library avoids the problem entirely. If you use a hosted tool, read its exact MAU definition before you choose which users to identify to it.

## When a checklist beats a tour

A tour is a guided walk around your interface. Our read: plenty of users click "Next" quickly just to get to the product. A checklist is different: it lists the three or four actions that lead to the first real result (create a project, connect data, invite a teammate) and stays visible until they are done.

Our view, for a small SaaS:

- **Use a checklist** when activation depends on the user doing several things, possibly across sessions.
- **Use one or two tooltips** when a single control is easy to miss.
- **Use a full tour** only when a screen is dense and new users clearly get lost on it, which session recordings or support emails will show you.
- **Use email** for anything that happens after the user leaves the app. Our guide to [onboarding emails that reduce churn](https://zeroraised.com/blog/how-to-write-onboarding-emails-that-reduce-churn) covers that side, so we will not repeat it here.

Driver.js, HelpHero, Produktly and Product Fruits all include checklists, so you do not need a second tool for this. Onboarding is one part of keeping customers; our guide on [how to reduce SaaS churn](https://zeroraised.com/blog/how-to-reduce-saas-churn) covers the rest.

## How to pick in 15 minutes

1. **Count your real MAU** from your analytics or database. If it is above about 1,000 and growing through a free plan, favour open source or Produktly.
2. **Ask who edits onboarding.** If it is you and you ship code every week, use Driver.js. If a non-developer co-founder or a contractor will edit it, use a no-code builder.
3. **Check the licence.** Using Shepherd.js or Intro.js in a commercial product without a commercial licence means AGPL obligations. Pay the one-time fee.
4. **Build the smallest version:** a checklist with three items and one tooltip. Measure how many new users complete it in their first week.
5. **Upgrade only for a reason,** such as needing analytics on flows, A/B tests or localisation, and only when that reason is worth more than the monthly bill.

If you are about to put your onboarding in front of a lot of new users at once, our [bootstrapped app launch guide](https://zeroraised.com/blog/how-to-launch-a-bootstrapped-app) helps you time it.

## Frequently asked questions

### What is the cheapest Appcues alternative?

Driver.js, which is free under the MIT licence. If you need a commercial licence for an AGPL library, Intro.js Starter costs $9.99 once. For a no-code builder, Produktly Developer is 19 EUR a month (16 EUR billed annually) and HelpHero starts at $55 a month for up to 1,000 MAU. Appcues itself starts at $9,000 a year.

### Is Driver.js free for commercial use?

Yes. Driver.js is open source under the MIT licence, which allows commercial use. It has no dependencies. You install it from npm as `driver.js` and import `driver.js/dist/driver.css` for the styles.

### Do I need a commercial licence for Shepherd.js or Intro.js?

Yes, if your product is commercial and you do not want to release your own code under the AGPL. Shepherd.js says a commercial licence is required for commercial products and revenue-generating companies; its Business licence is $50 lifetime for up to 5 projects. Intro.js says you need one for a commercial app, website or plugin; Starter is $9.99 lifetime for one project.

### What is MAU pricing and why does it matter?

MAU means monthly active users. HelpHero, Product Fruits, Userflow, Userpilot and Appcues price by MAU, and Chameleon by monthly tracked users. Your bill grows with users who sign in, not with paying customers, so a free plan or a big launch can push you into a higher tier before revenue follows.

### Is a checklist better than a product tour?

Often, for a small SaaS. A tour shows people around the interface. A checklist asks them to do the three or four things that lead to their first result, and they can come back to it later. Our advice is to start with a short checklist plus one or two tooltips, then add a tour only if users get lost on a specific screen.

## Launch it on ZeroRaised

Got onboarding sorted? ZeroRaised is a launch directory for products built without institutional VC. [Submit your product](https://zeroraised.com/submit) for free and send the launch traffic to a first-run experience that works. For more no-nonsense guides on growing without investors, [join the ZeroRaised newsletter](https://zeroraised.com/newsletter).

## Sources

- [Driver.js homepage](https://driverjs.com/), last checked 8 Nov 2026
- [Driver.js installation docs](https://driverjs.com/docs/installation), last checked 8 Nov 2026
- [Driver.js on GitHub](https://github.com/kamranahmedse/driver.js), last checked 8 Nov 2026
- [Shepherd.js pricing](https://shepherdjs.dev/pricing), last checked 8 Nov 2026
- [Shepherd.js on GitHub](https://github.com/shipshapecode/shepherd), last checked 8 Nov 2026
- [Intro.js commercial licence](https://introjs.com/#commercial), last checked 8 Nov 2026
- [Reactour on GitHub](https://github.com/elrumordelaluz/reactour), last checked 8 Nov 2026
- [Onborda on GitHub](https://github.com/uixmat/onborda), last checked 8 Nov 2026
- [Produktly pricing](https://www.produktly.com/pricing), last checked 8 Nov 2026
- [HelpHero pricing](https://helphero.co/pricing), last checked 8 Nov 2026
- [Product Fruits pricing](https://productfruits.com/pricing), last checked 8 Nov 2026
- [Userflow pricing](https://www.userflow.com/pricing), last checked 8 Nov 2026
- [Chameleon pricing](https://www.chameleon.io/pricing), last checked 8 Nov 2026
- [Userpilot pricing](https://userpilot.com/pricing/), last checked 8 Nov 2026
- [Appcues pricing](https://www.appcues.com/pricing), last checked 8 Nov 2026
- [Usetiful homepage](https://www.usetiful.com/), last checked 8 Nov 2026

## Frequently asked questions

### What is the cheapest Appcues alternative?

Driver.js, which is free under the MIT licence. If you need a commercial licence for an AGPL library, Intro.js Starter costs $9.99 once. For a no-code builder, Produktly Developer is 19 EUR a month (16 EUR billed annually) and HelpHero starts at $55 a month for up to 1,000 MAU. Appcues itself starts at $9,000 a year.

### Is Driver.js free for commercial use?

Yes. Driver.js is open source under the MIT licence, which allows commercial use. It has no dependencies. You install it from npm as driver.js and import driver.js/dist/driver.css for the styles.

### Do I need a commercial licence for Shepherd.js or Intro.js?

Yes, if your product is commercial and you do not want to release your own code under the AGPL. Shepherd.js says a commercial licence is required for commercial products and revenue-generating companies; its Business licence is $50 lifetime for up to 5 projects. Intro.js says you need one for a commercial app, website or plugin; Starter is $9.99 lifetime for one project.

### What is MAU pricing and why does it matter?

MAU means monthly active users. HelpHero, Product Fruits, Userflow, Userpilot and Appcues price by MAU, and Chameleon by monthly tracked users. Your bill grows with users who sign in, not with paying customers, so a free plan or a big launch can push you into a higher tier before revenue follows.

### Is a checklist better than a product tour?

Often, for a small SaaS. A tour shows people around the interface. A checklist asks them to do the three or four things that lead to their first result, and they can come back to it later. Our advice is to start with a short checklist plus one or two tooltips, then add a tour only if users get lost on a specific screen.


