trakily.
All guides

Set up goals and funnels for a SaaS signup flow

Name your goals so Trakily's automatic funnel matches a typical SaaS flow: visit, pricing, checkout, payment, plus signup and activation goals.

2 min read
GoalsFunnelsSaaS

A typical SaaS flow is visit → pricing → signup → checkout → payment. Trakily builds a default funnel automatically from your pages and goals, so a little care with goal names gives you a useful funnel without any configuration. You can also save your own funnels with exactly the steps you want.

How the automatic funnel works

The default funnel in the Funnel tab of the Goals card has up to four steps, counted in order (a visitor only counts for a step after the one before it):

Step
Visited site
Uses
Every visitor
Step
Viewed pricing
Uses
The most-visited page whose path contains pricing (left out if there is none)
Step
Checkout initiated
Uses
The checkout_initiated goal (otherwise your most frequent goal)
Step
Payment
Uses
New payments from your connected payment provider

So two things make it accurate: a pricing page at a path containing pricing, and a checkout_initiated goal.

For a different flow, click New funnel in the Funnel tab and add 2 to 8 steps: pages (with * wildcards, like /docs/*), goals (optionally matching a property such as plan = pro) or payment. See Custom funnels.

The goals to send

<!-- Signup button -->
<button data-trakily-goal="signup">Create account</button>

<!-- Plan buttons on the pricing page -->
<button data-trakily-goal="checkout_initiated" data-trakily-goal-plan="pro">Upgrade to Pro</button>

For events that happen in your app rather than on a click, call the API once the action succeeds:

// After the account is created
window.trakily?.("signup", { method: "google" });

// When the user reaches their first moment of value
window.trakily?.("activated", { step: "first_project" });

signup and checkout_initiated also get friendly labels in the Goal tab (“Sign up”, “Checkout initiated”).

Identify users after signup

Once someone has an account, identify them. Their name appears in journeys, realtime and alerts, and their email links payments made later, even outside the original visit:

window.trakily?.("identify", { user_id: user.id, name: user.name, email: user.email });

Only send what you're allowed to; see Identify users.

Connect payments for the last step

The Payment step comes from your payment provider. Connect it in Settings → Revenue and pass the visitor id at checkout for reliable attribution (see the Stripe guide or your provider's page).

Reading it

  • The Funnel tab shows the share of visitors reaching each step and the drop-off between steps.
  • Filter the dashboard by a channel or referrer to compare funnels between sources.
  • The Goal tab shows every goal, including ones outside the funnel like activated.
  • Want a message for every signup? Create a goal alert.
Try it on your site

Trakily shows which channels bring paying customers, not just visitors. Start a 14-day free trial; no card needed.