conversion tracking4 min readBy Phloz team

SaaS conversion tracking for agencies: signups are not the goal

For SaaS clients, the on-site conversion is a free signup or trial — but the value is the paid, activated user weeks later. How to track the whole funnel so you optimise toward revenue, not signups.

TL;DR

SaaS clients have the same trap as lead-gen, one level deeper: the on-site "conversion" is a free signup or trial, but the value is the activated, paying user who shows up days or weeks later — disconnected from the ad click. Optimise to signups and you buy cheap signups, not good ones, and the platforms will happily flood the funnel with junk. The fix: track the full funnel (sign_upstart_trialactivatedsubscribe), capture the click ID + a user identifier at signup, and push the paid/activated event back to the ad platforms via offline/server-side import so bidding optimises toward revenue. And mind the value: a subscription's worth is recurring — send a value that reflects first-payment or expected LTV, not $0 and not a single month dressed up as the whole deal. Below: the funnel, the activation problem, and the wiring.


A SaaS funnel looks deceptively clean — there's a signup button and a "thank you for signing up" page — but the conversion that matters isn't there. A free signup costs the client nothing and means almost nothing; the paid, activated user is the whole game, and they convert later, often after the ad cookie has expired. Tracking SaaS well is about closing that gap.

The funnel SaaS clients actually have

Track the stages, not just the signup:

  • sign_up — account created (top of funnel; useful signal, weak value)
  • start_trial — entered a trial (intent)
  • activated — hit first real value (the "aha" action: connected an integration, invited a teammate, sent the first campaign) — the leading indicator of retention
  • subscribe / purchase — became paying (the conversion that matters)
  • later: expansion, churn

Each stage deserves an event with useful parameters (plan, trial length, activation action). The one most setups miss is activated — and it's the best predictor of whether a signup will ever pay.

The activation problem (and the signup trap)

Here's the SaaS version of the form-fill trap: optimise to sign_up and you optimise to volume, not quality. The platforms will find you people who'll create a free account and never come back, and your CPA will look great while the client's paid conversions stay flat. The client doesn't care about signups; they care about activated, paying users.

So the goal is to optimise toward paid (or at least activated) conversions — which means those events have to reach the ad platform, and they happen after the click, often outside the attribution window. Same solution as lead-gen:

  1. Capture the click ID + a user identifier (gclid/fbclid, hashed email, your own user ID) at signup, and store it on the user record.
  2. When the user activates or pays, send that event back via offline conversion import / the platform's API, keyed by the stored identifier.
  3. Now Smart Bidding learns which clicks produce paying users, not which produce free signups.

Server-side is often the natural home

SaaS conversions frequently originate in the backend — a confirmed signup, a Stripe subscription.created webhook, an activation event computed server-side. Those never touch the browser/GTM, so they reach the ad platforms and GA4 only via server-side tracking / the Measurement Protocol. For SaaS more than most verticals, the important conversions live server-side — plan for that from the start.

Get the value right (it's recurring)

A subscription isn't a one-time purchase. Sending value: 0 makes ROAS meaningless; sending one month's fee under-counts a customer worth 18 months. Decide a sensible convention with the client — first-payment value, or a modeled LTV — and send it consistently so the platforms optimise toward valuable subscriptions, not just any subscription. Document it in the measurement plan so everyone agrees what a "conversion" is worth.

Product analytics vs marketing analytics

One more SaaS-specific wrinkle: the activation and feature-usage data often lives in a product-analytics tool (Amplitude, Mixpanel, PostHog), separate from the marketing analytics (GA4). That's fine — but the marketing side still needs the paid/activated signal to optimise acquisition. Make sure the bridge exists: the product event that signals real value has to make it back to the ad platforms, even if the rich behavioural analysis stays in the product tool.

Where this fits

SaaS conversion tracking spans the click, the signup, the product (activation), the billing system (Stripe), and the ad platforms — five systems that have to agree for the client to optimise toward paying users instead of free signups. Phloz models that path per client — the signup/trial/activation/paid events, the server-side delivery, the offline bridge — as part of the tracking-infrastructure map with a health state, so "is this SaaS client's paid conversion data actually reaching Google, or just signups?" is a view, not a guess. The CRM for B2B agencies and pricing pages cover the workflow — but the rule is simple: signups are a vanity metric until they pay, so track and optimise toward the paying, activated user.