Flow triggers
A trigger decides when a flow appears to your users. You set it in the Builder sidebar, under Show this flow, when you create or edit a flow. Every flow has exactly one trigger.
Tracya shows one flow at a time. If several flows could appear on the same page, the first matching one wins, so keep your triggers specific enough that they do not compete.
The four triggers
First visit only is the default, and the one you want most of the time. The flow runs once per user, the first time they land on a page where it applies. Once they finish it or dismiss it, it never shows again on that browser. This is how you build a classic onboarding tour that greets someone once and then gets out of the way.
Every visit shows the flow on every page load, with no memory of whether the user has seen it. Use it for a message that should keep appearing until you take it down yourself, like a maintenance notice or a temporary announcement.
Once per session shows the flow one time per browsing session. It comes back on the user's next visit, but not while they navigate around during the same session. A session ends when the user closes the tab. This sits between the other two: more persistent than first visit, less insistent than every visit.
New users only shows the flow during the first days after someone first encounters your app. You set the window in the Days since signup field, from 1 to 365. A flow set to 7 days keeps appearing for a week after a visitor's first arrival, then stops on its own. Unlike first visit, which shows once and never returns, this trigger gives you a window of several visits to reach someone while they are still finding their way around.
How New users only knows who is new
Tracya has no access to your user database, so it does not read account creation dates. Instead, the first time a visitor's browser loads the widget on your app, Tracya records that moment. The New users only window is measured from that first encounter.
This means the trigger targets people who are new to your interface, which is usually exactly who an onboarding flow is for. It works with no setup on your side: you do not pass any date, wire up any backend, or change your snippet. Select the trigger, set the window, publish.
One consequence worth knowing: the window is tied to the browser, not the account. If the same person visits from a new device or clears their site data, Tracya sees a fresh first encounter and the window starts again.
Show on page
Independently of the trigger, you can limit a flow to a single page with the Show on page field. Leave it empty and the flow is eligible everywhere the trigger allows. Fill it with a path, like /projects, and the flow only appears on that exact path.
A trailing slash makes no difference: /projects and /projects/ are treated as the same page. Only the path is compared, so query strings and hash fragments are ignored.
Behaviour in single-page apps
Tracya follows navigation in single-page applications built with React Router, Vue Router, and similar libraries, even though those routers change the URL without a full page reload. When the user moves to a new route, Tracya re-evaluates which flow should be showing.
If the same flow still applies on the new page, its current step stays visible when its target element is present, and hides quietly when it is not, without skipping ahead. If a different flow now applies, or none does, the current one closes and the new one starts. This means a step can legitimately point at an element that only exists on one route without breaking the rest of the flow.
Replaying a flow
A first visit flow is marked as seen once the user finishes or dismisses it, and will not return on its own. To let someone replay it, for example behind a "Replay tutorial" button, use the JavaScript API:
This clears the seen state for that flow and shows it again immediately. See the JavaScript API page for the full list of methods.