Features / Play by Link
Announce features with a tour, not an email
You shipped something new. Now you need users to actually try it. Instead of an email they'll skim or a video they'll skip, send a link: add ?stepskit-tour= and a tour name to any page URL, and StepsKit walks them through the feature right in your product.
https://app.example.com/dashboard?stepskit-tour=new-analyticsOpen that link and the new-analytics tour plays on load. The ?stepskit-tour=value matches your tour's id or slug.
Your changelog says what changed. A tour shows it.
Announcement emails get archived. Demo videos get watched at 2× — if at all. And a screenshot can't point at the button in the user's own account. A tour link opens your real product and guides them through the real UI, so their first touch with a new feature is using it.
Tours normally wait for their rules to match — the right page, the right audience, the right screen size — and frequency capping keeps them from repeating. Right for auto-play onboarding, wrong for a launch. Play by Link force-plays the tour and skips the auto-play gates — audience targeting, screen-width, and frequency — so everyone who clicks sees it, even someone who already finished a show-once tour. The page rule becomes a destination instead of a gate: if the link lands elsewhere in your app, the visitor is taken to the page the tour starts on.
One caveat worth knowing before you write the email. If your pages are addressed per customer — /app/<their-id>/settings — pin the tour with a wildcard and StepsKit fills the id in from wherever the visitor is standing. That works whenever they click from somewhere inside their own account, which covers in-app links and most support replies. It can't work from outside it: a link can't carry an id it doesn't contain, and StepsKit won't guess one. For a blast to a list of customers who each have their own id, link to your app the way you normally would and call stepskit.playTour() once your own router has landed them.
It never skips the important checks: the tour still has to be active and published to the domain the link points at. Drafts never play, and your domain whitelist is untouched.
How it works
- 1
Publish the tour
Play by Link only works on a live tour. Publish it to the domain your app runs on — drafts never play, and the domain whitelist stays in force.
- 2
Copy the link from the Settings page
Once a tour is published, its Settings page shows a ready-to-copy link, pre-pointed at the page the tour starts on. Edit it if your app has a different entry point.
- 3
Send it anywhere
Drop the link in your launch email, changelog, release notes, or a support reply. No code beyond the StepsKit embed you already have.
- 4
The tour plays on load
When someone opens the link, StepsKit reads ?stepskit-tour= once on page load and force-plays that tour — matching against both the tour id and its slug.
What people use it for
- Release notes & changelog
- Ship the entry with a link that plays a tour of the new feature the moment someone clicks through — instead of a paragraph describing it.
- Launch emails
- One CTA: "See it in action." The link opens your app already touring the feature, so the first touch is using it, not reading about it.
- Support replies
- "Here, let me show you" — paste a link and the customer sees the exact walkthrough instead of a wall of text.
- Sales demos
- Send a prospect a link that starts the tour on the right screen — no screen-share scheduling required.
- Help docs
- Add a "show me how" button to any doc that opens the app and plays the matching tour in context.
- Re-show a dismissed tour
- Play by Link ignores frequency capping, so it replays a show-once tour even for someone who already dismissed it.
Frequently asked questions
Your next launch deserves more than an email
Build a tour of your new feature and share a link that plays it on load — free, no extra code required.
Start Free