Solutions / SaaS
Your activation and MRR numbers, finally trustworthy.
Cost per activation, trial-to-paid rate, signup attribution, activation tracking. On most SaaS sites the events that matter most are missing or mixed up. We make the funnel from visit to subscription accurate, so growth and marketing share one source of truth.
LIVE READOUT: what your GA4 should be reporting

Cost per activation
now$58
was unknown · not tracked
accurate
Trial → paid rate
now22%
was not measured
accurate
Signup attribution
now90% matched
was 34% · (not set)
accurate
Activation tracked
nowyes
was event missing
accurate
What good data tells you
If your GA4 is set up correctly, these four answers are one report away.
- Q1
Which channel brings signups that actually activate and pay?
We attribute signups, activations and subscriptions back to the source that earned them, so you optimize on activated, paying users instead of raw signups.
signal: source / medium · sign_up · subscribe value
- Q2
Where do users drop off between signup, activation and paid?
Signup, activation, trial and subscribe are each tracked as events, so you see the precise step that loses users instead of one opaque conversion number.
signal: sign_up · activate · start_trial · subscribe
- Q3
Is product activation even being recorded in GA4?
On most SaaS sites the activation moment is never sent to GA4. We define and fire a real activation event so the metric that predicts retention is finally measurable.
signal: activate event · key action · cohort dimension
- Q4
Can we tie new MRR back to the campaign that created it?
We pass subscription value back into GA4 and reconcile it, so new MRR ties to the channel and content that earned it, not to direct or (not set).
signal: subscribe value · mrr · attribution
The SaaS funnel
Visit to subscription, with the leaks most SaaS sites never see.
This is the path a user takes from first visit to paid. Under each step is what usually breaks, and what we make accurate.
- 01page_viewVisit
- 02sign_upSign up
- 03activateActivate
- 04start_trialTrial
- 05subscribeSubscribe
- LEAK · signup and activation events not firing
- LEAK · trial to paid attribution lost across sessions
- LEAK · MRR not tied back to source
- 01
page_viewVisitLeak Marketing site and app are separate properties, so the journey starts on the wrong one.
Fixed One clean property and channel setup across site and app.
- 02
sign_upSign upLeak Signup fires inconsistently or not at all, so the top of the funnel is guesswork.
Fixed A reliable sign_up event with the source attached.
- 03
activateActivateLeak The activation moment is never sent to GA4, so the metric that predicts retention is missing.
Fixed A defined activation event tied to the real key action.
- 04
start_trialTrialLeak Trial starts and conversions span sessions and devices, so attribution is lost.
Fixed Cross-session and cross-device so trial-to-paid stays one user.
- 05
subscribeSubscribeLeak Subscription value never reaches GA4, so MRR cannot be tied to a channel.
Fixed Subscribe value passed back and reconciled to the original source.
Tracking coverage — SaaS
Nine things we track so your growth funnel is fully accountable.
Standard GA4 sees signups, if you are lucky. SaaS GA4 has to see activation, trial-to-paid and MRR by source. This is the coverage we build.
- 01
Signup & activation events
Reliable sign_up and a real activation event, the moments that predict retention.
→ sign_up - 02
Trial & subscription tracking
Trial starts and paid conversions with subscription value attached.
→ subscribe - 03
Product vs marketing events
Product events kept separate from marketing events, cleanly structured.
→ activate - 04
Cross-domain (site ↔ app)
Your marketing site and app stay one journey, not two users.
→ page_view - 05
Cross-device tracking
A signup on mobile and a subscription on desktop stays one user.
→ start_trial - 06
MRR & revenue attribution
New MRR tied back to the channel and content that created it.
→ subscribe - 07
Funnel & cohort structure
A funnel and cohort structure your growth team can actually report on.
→ activate - 08
Server-side & ad platforms
Durable, deduplicated conversions sent server-side to GA4 and ad platforms.
→ subscribe - 09
Self-serve & sales-led paths
Both self-serve signups and sales-assisted deals tracked and attributed.
→ sign_up
Why it matters
Blind activation data is not a reporting problem. It is a growth problem.
Before
- Signups look like growth while activation and retention stay invisible.
- Trial-to-paid is unattributed, so you cannot tell which channels create real customers.
- Product and marketing run on different numbers and argue about which is right.
- Spend gets allocated to signup volume instead of paying, activated users.
After
- You see activation and retention, not just signups, so you optimize for real value.
- Trial-to-paid is attributed by channel, so you fund what creates customers.
- Growth and marketing share one funnel and one set of numbers.
- Spend follows activated, paying users back to the source that earned them.
Anatomy of a SaaS fix
Signups were tracked. Activation and paid were not. We connected the funnel.
After: visit to subscription, one journey
- 01page_viewVisit
- 02sign_upSign up
- 03activateActivate
- 04start_trialTrial
- 05subscribeSubscribe
What we usually find. A typical SaaS account tracks signups but never sends the activation event to GA4, and the marketing site and app sit on separate properties, so trial-to-paid attribution is lost across the handoff.
What we do. We define and fire a real activation event, connect the site and app with cross-domain tracking, and pass subscription value back into GA4, so the full funnel from visit to MRR is one journey.
The result. Growth can see where users drop between signup, activation and paid, and tie new MRR back to the channel that created it, instead of optimizing blind on signup volume.
- −missingno activation event reaching GA4
- −brokensite and app split into two users
- +addeda defined activation event on the key action
- +connectedcross-domain keeps visit to subscribe one journey
- +now tiednew MRR attributed to the channel that created it
Senior analytics engineers only. Fixed-scope work, validated in GA4 DebugView before handover. No junior hand-offs.
Straight answers
Common SaaS questions.
Q1Our marketing site and product are on different domains. Can you connect them?
Yes. Cross-domain tracking keeps a visit on your marketing site and a signup or subscription in the app as one user and one source, so trial-to-paid attribution survives the handoff.
Q2GA4 only shows signups, not activation. Can you fix that?
Yes. Activation is rarely sent to GA4 out of the box. We define the activation moment with you and fire a real event, so the metric that predicts retention becomes measurable and reportable.
Q3Can you tie new MRR back to the campaign that created it?
Yes. We pass subscription value into GA4 and reconcile attribution, so new MRR is tied to the channel and content that earned it rather than direct or (not set).
Q4How long does a SaaS tracking fix take?
Most SaaS fixes are scoped in 24 to 48 hours and delivered shortly after, depending on the product and the number of events involved. A single contained issue may only need the $299 quick fix.
- 01page_viewVisit
- 02sign_upSign up
- 03activateActivate
- 04start_trialTrial
- 05subscribeSubscribe
● cost per activation · ● trial → paid · ● signup attribution · ● activation tracked — all accurate
Next step
Let’s make your activation and MRR numbers trustworthy.
A short review of how your funnel is tracked now, what is missing or misattributed, and exactly what it takes to fix it. No retainer to find out.
Most SaaS fixes scoped in 24–48h.