← Back to Blog
saasmrrrevenue attributionanalytics tips

SaaS Analytics with MRR Tracking: How to See Revenue by Channel

Connect SaaS analytics to MRR tracking. See which channels drive trials, conversions, and recurring revenue.

EngageTrack Team··9 min read

SaaS analytics should answer one question: which channels produce recurring revenue? Most tools answer a different question entirely — how many people visited your site — and leave the MRR connection as an exercise for the reader.

The result is that SaaS founders live in two disconnected worlds. Stripe (or Baremetrics, or ChartMogul) tells them MRR is $8,400. Google Analytics tells them 12,000 people visited the marketing site. The relationship between those two numbers is a guess.

This post explains what SaaS analytics actually needs to look like, why the current tooling landscape has a gap, and how EngageTrack bridges it by connecting traffic sources directly to MRR.

Why Do SaaS Founders Track MRR and Traffic Separately?

Because the tools were built separately. Payment processors track money. Analytics tools track visits. Nobody built the bridge by default.

Stripe knows a customer is paying you $49/month. It has no idea that customer found you through an organic Google search three weeks ago. Google Analytics knows someone came from Google, but it has no concept of a Stripe subscription. The two systems share no identifiers, no common session model, and no webhook pipeline.

The standard workaround is a spreadsheet. Export your new customers from Stripe, manually look up their first visit in GA4, guess at the attribution based on timestamps. This works for your first 10 customers. It does not scale.

What Should SaaS Analytics Actually Measure?

Pageviews and sessions are inputs. For a SaaS business, the metrics that matter are outputs tied to revenue:

  • MRR by acquisition channel — how much recurring revenue did each traffic source generate this month?
  • Trial-to-paid rate by source — which channels send visitors who actually convert after the trial?
  • Revenue per session — the efficiency metric that tells you where to invest next
  • Time to conversion by channel — do organic visitors convert faster than paid traffic?
  • Churn by acquisition source — are some channels sending customers who cancel after one month?

Standard analytics tools give you the first half of the funnel (visits, bounce rate, pages per session). Subscription analytics tools give you the second half (MRR, churn, LTV). Neither gives you the connection between the two.

How EngageTrack Connects Traffic to MRR

EngageTrack integrates with Stripe, LemonSqueezy, Paddle, and Polar via webhooks. When a payment event occurs, EngageTrack matches it to the originating traffic session using a four-level attribution hierarchy:

  1. Visitor ID in payment metadata — if you pass the EngageTrack visitor ID at checkout, the link is direct and survives across days and devices
  2. Customer email match — if the checkout email matches a visitor identified via engagetrack.identify(), attribution follows
  3. Same-session attribution — if the payment happens during the same browser session as the visit, the source is known
  4. First-touch fallback — when no direct match exists, EngageTrack attributes to the first recorded visit

The Stripe connection takes 30 seconds via OAuth. For LemonSqueezy, Paddle, and Polar, you paste an API key and EngageTrack auto-registers the webhooks. No manual webhook configuration needed.

What the Dashboard Actually Looks Like

Once payments are flowing, your EngageTrack traffic sources table gains revenue columns. Here is what a typical SaaS dashboard looks like after 30 days:

ChannelSessionsTrial StartsPaid ConversionsMRR AddedRev / Session
Organic Search5,2008431$1,519$0.29
Direct2,1004222$1,298$0.62
Hacker News4803816$784$1.63
Twitter/X3,400298$392$0.12
Product Hunt9205224$1,176$1.28
Paid (Google)1,800215$245$0.14

The insight is immediate. Twitter sends a lot of traffic but almost none of it converts to paid. Hacker News and Product Hunt have the highest revenue per session by a wide margin. Paid Google traffic is expensive and low-converting. Organic search is the volume play with decent conversion.

Without revenue attribution, you would see Twitter as your second-best channel by session count. With revenue attribution, it is your second-worst by the metric that actually matters.

How Does EngageTrack Compare to Baremetrics, ChartMogul, and Others?

Each tool solves a different part of the SaaS metrics problem. Here is where they overlap and where they diverge:

FeatureEngageTrackBaremetricsChartMogulMixpanelGA4
MRR / ARR trackingVia payment webhooksNativeNativeNoNo
Revenue by traffic sourceYesNoNoWith custom eventsComplex setup
Trial-to-paid by channelYesTrial tracking onlyTrial tracking onlyWith custom eventsNo
Churn metricsBasic (via webhooks)Deep (cohorts, reasons)Deep (cohorts, segments)NoNo
Web analytics (sessions, pages)YesNoNoYesYes
Cookieless / no consent bannerYesN/AN/ANoNo
Revenue per sessionYesNoNoNoNo
Setup time5 minutes5 minutes5 minutesHoursHours
Starting price$5/mo$108/moFree tierFree tierFree

EngageTrack is not a replacement for Baremetrics or ChartMogul. Those tools are purpose-built for subscription analytics: cohort analysis, churn reasons, expansion revenue, LTV curves, dunning recovery tracking. EngageTrack does not do any of that.

What EngageTrack does — and what those tools cannot — is connect the revenue to the traffic source. It answers "which marketing channels produce MRR?" while Baremetrics answers "what is the health of my MRR?"

The ideal stack for a SaaS business that cares about both questions: EngageTrack for acquisition attribution + Baremetrics or ChartMogul for subscription health. They complement each other cleanly.

When to Use EngageTrack vs. Baremetrics

Use EngageTrack when your question is about acquisition:

  • Which blog posts drive the most trial starts?
  • Is my Google Ads spend producing paying customers or just traffic?
  • Should I invest more time in Twitter or in SEO?
  • What is the revenue per visitor from each channel?

Use Baremetrics when your question is about retention:

  • What is my net revenue churn this quarter?
  • Which pricing tier has the best LTV?
  • How many customers are in dunning right now?
  • What does my MRR growth look like month over month?

If you can only pick one tool today, pick the one that answers your most urgent question. For most early-stage SaaS founders who are still figuring out where customers come from, that is the acquisition side.

Setting Up MRR Tracking in EngageTrack

Step 1: Add the EngageTrack tracking script to your marketing site and app. One <script> tag in your <head>.

Step 2: Connect Stripe via OAuth in Settings > Integrations (30 seconds). For LemonSqueezy or Paddle, paste the API key.

Step 3: For the most accurate attribution across long trial periods, pass the visitor ID in your checkout metadata:

const visitorId = engagetrack.getVisitorId();
 
const session = await stripe.checkout.sessions.create({
  mode: "subscription",
  line_items: [{ price: priceId, quantity: 1 }],
  metadata: {
    engagetrack_visitor_id: visitorId,
  },
  success_url: "https://yourapp.com/welcome",
  cancel_url: "https://yourapp.com/pricing",
});

Step 4: Set up a goal for trial starts so you can track the full funnel: visit > trial > paid. Go to Goals in your site settings and create a custom event goal for your trial signup action.

Revenue will start appearing in your dashboard within minutes of the first successful payment.

FAQ

Does EngageTrack replace Baremetrics?

No. EngageTrack tracks which traffic sources produce revenue. Baremetrics tracks subscription health metrics like churn, LTV, and cohort retention. They solve different problems and work well together. Use EngageTrack for "where should I spend my marketing time?" and Baremetrics for "how healthy is my subscription business?"

Can I track trial-to-paid conversion rate by channel?

Yes. Set up a goal event for trial starts and EngageTrack will track trial start counts by traffic source alongside paid conversion counts. You can calculate the trial-to-paid rate for each channel directly from the dashboard data.

Does it work with annual plans?

Yes. EngageTrack records the full payment amount from the webhook. A $588 annual payment is attributed at its full value to the originating traffic source, just like a $49 monthly payment. The dashboard shows actual revenue, not normalized MRR — so annual plan conversions show their true value.

What about upgrades and downgrades?

Subscription update events from Stripe are captured. If a customer upgrades from a $29 plan to a $99 plan, the incremental revenue is recorded and attributed to the original acquisition source. Downgrades work the same way — the reduced amount is reflected.

How long does setup take?

About 5 minutes for basic revenue attribution (script install + Stripe OAuth). Add another 5 minutes if you want to pass the visitor ID through checkout metadata for maximum accuracy across long trial periods.


Stop guessing which channels drive MRR. EngageTrack connects your traffic data to your payment data so you can see revenue by source, trial-to-paid rates by channel, and revenue per session — all without cookies or consent banners. Start your free 14-day trial — no credit card required.

For setup details, see the revenue attribution docs and revenue tracking guide.

Related Articles