Signal Sparrow
Product — Revenue attribution

SaaS marketing attribution, tied to Stripe revenue.

Meta, Google and GA4 each claim a different number of conversions — and none of them can see your MRR. Signal Sparrow starts with Stripe as the source of truth and traces every dollar of recurring revenue back to the campaign, ad and keyword that earned it.

Free to start — no credit cardReconciled to StripeLive data in 30 minutes

What is SaaS marketing attribution?

Connect paid acquisition to recurring revenue — not trials.

SaaS marketing attribution is the practice of connecting paid acquisition to the recurring revenue those efforts actually produce, rather than to one-off events like a free-trial signup.

For subscription businesses, that distinction is the whole game. A trial start is not revenue. An upgrade, a renewal and a churn all change what a campaign is truly worth. Signal Sparrow follows the customer from the first ad click through trial, conversion, expansion and retention — across devices and weeks of delay — and expresses the result in MRR, CAC and payback months.

  • 01

    Trial

    A trial start is not revenue.

    trial_started$0
  • 02

    Conversion

    The trial becomes a paying customer.

    trial_converted+ New MRR
  • 03

    Expansion

    An upgrade changes what a campaign is worth.

    expansion+ MRR
  • 04

    Retention

    So does a renewal — or a churn.

    churned− MRR
Why pixels under-report SaaS revenue

Your dashboards disagree for a reason — and it is not a tagging bug.

Pixel-based attribution was built for one-click e-commerce, not for trial-led subscriptions. Signal Sparrow closes all three gaps with first-party, server-side tracking and Stripe as the system of record.

Spark ads41 trials · $0 MRRScaled
Brand search$6,100 MRRStarved
Pixel optimizes forThe cheapest signup
Problem 01

Trials are not revenue

Browser pixels optimize toward the cheapest signup, not the most valuable customer. So your ad platforms scale the campaigns that produce $0 trials and starve the ones that produce paying subscribers.

trial_startWhat the pixel sends$0
SubscriptionIn Stripe, a week later$149/mo
The subscriptionInvisible to the pixel
Problem 02

The conversion happens later, in Stripe

A visitor clicks a Meta ad on mobile, starts a 14-day trial, then converts to paid on desktop a week later. The pixel saw a $0 event; the $149/mo subscription is invisible to it.

BrowserPixel
net::ERR_BLOCKED_BY_CLIENT
Problem 03

iOS, ITP and ad blockers hide visitors

Apple's App Tracking Transparency, Safari/Firefox ITP and ad blockers silently drop an estimated 10–30% of conversions before a client-side pixel ever fires.

How it works

Capture, reconcile, activate — one pipeline.

  1. page_viewCapturing
    gclid
    Cj0KCQjw…
    utm_source
    google
    landing_page
    /pricing
    referrer
    google.com
    Step 01

    Capture every click

    A lightweight, cookieless snippet records fbclid, gclid, UTMs, landing page and referrer server-side, from your own domain.

  2. Read-only access

    Stripe Connect · no API keys

    Authorize
    Step 02

    Make Stripe your source of truth

    Connect Stripe in one click, read-only. Subscriptions, expansion and churn normalize into SaaS-native events with MRR computed correctly.

    • Meta CAPIQueued
    • Google AdsQueued
    • TikTok EventsQueued
    Step 03

    Activate your ad platforms

    Forward revenue-backed conversions server-side to Meta, Google, TikTok, and LinkedIn so algorithms optimize toward MRR.

Attribution models

First-click, last-click and multi-touch — side by side.

There is no single "correct" model, so Signal Sparrow computes several and shows them honestly labeled — never blended into a score you cannot audit.

One journeyMetaGoogleLinkedIn

First-click

Credit the campaign that introduced the customer.

100%——

Last-click

Credit the campaign that closed them.

——100%

Multi-touch

Linear, time-decay and u-shaped models across the journey.

40%20%40%
Dashboard

See spend, MRR and payback by channel.

The dashboard answers the only three questions that decide whether paid acquisition is working: what did I spend, what MRR did it create, and when does it pay back?

Attributed MRR
Real Stripe revenue from that source
CAC
Cost to acquire a paying customer
CAC payback
Months to recoup spend, e.g. 2.6 mo
ROAS
Revenue-based, not pixel-based
Cohort retention
Whether those customers actually stay
Channel performanceReconciled to Stripe
ChannelSpendMRRCAC
Meta$8,388$8,240$233
Google$6,063$6,100$141
LinkedIn$3,880$3,900$388
What ground truth delivers

Numbers that reconcile, to the cent.

Average revenue-to-click match rate
91.4%
MatchedDirect/Unknown
Of MRR reconciled to Stripe
100%
Attributed + direct/unknown= Stripe
Typical setup time
30 min
060 min

Match rate reflects typical identity resolution between first-party clicks and Stripe customers; reconciliation is always exact by design.

Reconciled to Stripe

If it doesn't tie out to Stripe, we tell you.

Signal Sparrow proves itself against Stripe on every screen. Attributed revenue plus direct/unknown must equal your Stripe net MRR for the period, to the cent. When something drifts — a tracking gap, a delayed webhook — you get a data-health warning instead of a confident-looking number that's quietly wrong.

Reconciled to Stripe91.4% match
Attributed
$42,180
Direct/Unknown
+$6,920

Net MRR in Stripe

=$49,100

Difference $0.00
Destinations

Send revenue back to your ad platforms.

Attribution should not be read-only. Signal Sparrow forwards revenue-backed conversions server-side to every major platform, so their algorithms optimize toward MRR instead of cheap trials.

30-minute setup

Built for Stripe SaaS — live in 30 minutes.

Signal Sparrow is purpose-built for B2B and prosumer SaaS billing on Stripe — not retrofitted from a Shopify tool. Install the snippet, connect Stripe and your ad accounts over OAuth, and see your first attributed conversion in under 30 minutes.

Setup0 of 3
index.htmlPaste once
<script async
  src="https://data.yourdomain.com/sp.js">
</script>
2Stripe & ad accountsConnect
3Attribution modelsComputing
First conversion, attributed to its campaign

Questions, answered.

Everything teams ask before switching their attribution to Stripe truth. Still curious? Talk to us.

It's connecting ad spend to the recurring revenue it produces — MRR, expansion and retention — rather than to free-trial signups or pixel events. Signal Sparrow uses Stripe as ground truth to attribute revenue to the exact campaign that earned it.

GA4 and ad pixels report their own conversions with their own windows, so the numbers never agree — and none of them see Stripe MRR. Signal Sparrow attributes paid spend to real subscription revenue and reconciles every view to Stripe to the cent.

Yes. First-click, last-click and multi-touch models (linear, time-decay, u-shaped) are computed and shown side by side, and you can re-attribute your history instantly when you change the model or lookback window.

An identity graph links anonymous visitors to your identify() calls and to Stripe customers, so a mobile click and a later desktop conversion resolve to one customer — even weeks apart — and credit flows to the originating campaign.

Yes. Every channel and campaign shows attributed MRR, CAC, CAC payback in months, revenue-based ROAS and cohort retention — all tied to Stripe.

About 30 minutes. Add the first-party snippet and connect Stripe and your ad accounts over OAuth — no API keys, no data team, no sales call.

Ready to see which ads actually pay?

Start free, connect Stripe in 30 minutes, and get attribution that reconciles to the cent.

  • Free to start — no credit card
  • Live data in 30 minutes