PLG Attribution: Beyond Free Signups to MRR
PLG teams lose attribution at the free-to-paid step 60% of the time. Track the full click, signup, and upgrade journey to see which channel pays your MRR.
Muzahid Maruf, Founder · TrackRev.io & Contant.io
On this page
Explore with AI
Opens this article inside the chosen assistant with a ready-made prompt.
In product-led growth, the acquisition channel that pays your MRR is almost never the one that drives the most free signups — yet companies with two-step funnels (click → free signup → paid upgrade) lose attribution at the second step 60% of the time, because the tool that tracked the click (Bitly, UTM) is not connected to the tool that tracked the upgrade (Stripe).
PLG companies have an attribution gap that standard tools are not built to see.
A user clicks a Twitter/X link in week one, signs up for a free account, uses the product for 22 days, and upgrades to paid in week four.
Most attribution platforms record the click and the signup as the conversion event and stop there — so the Stripe charge that happened 22 days later gets attributed to "Direct" because the cookie has expired or the user returned via a bookmarked URL.
In product-led growth, the conversion that matters is the upgrade, not the signup — and attributing the upgrade to the channel that drove the original click requires a different technical setup than standard analytics assumes.
Key Takeaways
- PLG attribution must bridge the gap between the free signup event and the paid upgrade 3–6 weeks later — standard analytics tools count the signup as the conversion and stop, leaving channel credit for upgrades permanently unresolved.
- The technical requirement is a persistent first-party identifier that survives cookie expiry and bridges the analytics and payment systems, keeping the original acquisition channel visible at payment time.
- Most PLG teams measure 'sign-ups per channel' when the question that matters is which channel pays your MRR — the two metrics frequently diverge, so the channel that drives the most sign-ups rarely drives the most paying customers.
- Track the free-to-paid conversion rate by acquisition channel to identify which channels produce trial users who actually upgrade vs which ones produce users who consume free-tier capacity and churn.
Why This Matters for Your Revenue
In a PLG motion, the channel that drives the most signups is not necessarily the channel that drives the most revenue. A viral growth loop might generate thousands of free signups from users who never upgrade.
A niche newsletter mention might drive 40 signups of which 35 upgrade within 30 days.
If you optimise for signup volume — which is what most PLG analytics setups do — you will invest in the viral loop and underinvest in the newsletter.
Revenue per click, not signups per click
The correct metric is revenue per click, not signups per click. And revenue per click for a PLG product requires connecting the original click to the eventual Stripe charge, not just to the signup form submission.
Teams that make this connection find that their channel mix looks very different from what their signup data suggests — often discovering that small, high-intent channels (community referrals, niche content, partner integrations) generate 4–8× the revenue per click of broad channels that dominate signup counts.
Channels you are under- and over-investing in
Based on TrackRev platform data across PLG SaaS workspaces in 2026, teams that attribute the paid upgrade (not just the signup) to the original channel discover on average 3.1 channels they were under-investing in and 1.8 channels they were over-investing in relative to their actual revenue contribution.
The PLG attribution gap — why standard tools miss it
Standard attribution platforms are built for single-step conversions: click, then buy. The 22-day gap between signup and upgrade breaks three assumptions that most tools make.
Assumption 1 — Conversion happens within the session
Single-session self-serve attribution works because the purchase happens in the same session as the click (or within a few hours). PLG attribution has to survive a gap of days or weeks.
During that gap, cookies expire, users return from different devices, and the original click context is lost unless there is a persistent identifier anchored to the user's account.
Assumption 2 — The signup is the conversion
Most analytics platforms define the conversion goal as the signup form submission. For PLG, this is the wrong event. A signup that never upgrades is a cost, not a conversion.
The true conversion is the Stripe charge, and attributing it back to the original click requires the analytics tool to hold an open attribution chain from first touch through signup through the upgrade event days or weeks later.
Assumption 3 — One user, one session
PLG products are often evaluated by a team. The individual who signs up for a free trial may not be the one who enters payment details.
If attribution anchors only to the browser that completed the signup, the upgrade — which often comes from a different device or a different team member's login — will be misattributed.
Account-level attribution (anchored to the workspace or team ID, not a single browser) is the correct unit for B2B PLG products.
The PLG attribution setup that works
These are the four configuration steps that bridge the PLG attribution gap from first click to Stripe upgrade.
Step 1 — Assign a persistent user ID at signup
The moment a user creates a free account, assign them a persistent identifier that lives in your database — not just a browser cookie.
Pass this ID to your Stripe customer metadata (metadata.trackrev_vid or similar) so that when the user upgrades, the Stripe webhook fires with an identifier that can be matched back to the original click.
This is the bridge between the analytics world and the payment world.
Step 2 — Capture the originating click at signup time
When the free signup form is submitted, read the first-touch click data from your first-party cookie and write it to the user's account record alongside their user ID.
Fields to capture: utm_source, utm_medium, utm_campaign, utm_content, and the TrackRev link ID if a tracking link was the entry point. These fields persist on the user object regardless of what happens to the browser after signup.
Step 3 — Set a PLG-appropriate attribution window
For most PLG products, the upgrade decision happens within 60 days of signup. Set your attribution window to 60 days as a default, and extend to 90 days if your product has a longer natural activation period.
The window starts at the first click, not at the signup — so a user who clicks on day 1, signs up on day 7, and upgrades on day 45 falls within a 60-day window.
See how to set your attribution window for the configuration steps.
Step 4 — Create unique tracking links for every acquisition channel
The attribution setup only works if the original click carries a channel identifier. Use a unique tracking link for every place you post — product comparison sites, integration marketplaces, review platforms, community forums, newsletter placements.
Each link is associated with a channel and a campaign, and that association persists through signup to upgrade. The UTM builder standardises naming across channels so the channel-level data is comparable.
PLG channel performance — signup vs upgrade
The gap between signup rate and upgrade rate by channel is where the PLG attribution insight lives. Channels that look weak on signups often look strong on upgrades — and vice versa.
Based on TrackRev PLG workspace data, here is how common PLG channels compare.
| Channel | Free signups per 100 clicks | Upgrade rate (within 60 days) | Revenue per click |
|---|---|---|---|
| Community referral (Slack/Discord) | 12 | 41% | $5.80 |
| Integration marketplace listing | 9 | 38% | $4.90 |
| Affiliate / partner content | 10 | 33% | $4.40 |
| Niche newsletter placement | 8 | 35% | $4.20 |
| G2 / Capterra profile | 11 | 29% | $3.70 |
| Organic search (product-intent keyword) | 14 | 22% | $3.10 |
| Product Hunt launch | 31 | 11% | $2.40 |
| Twitter/X viral post | 18 | 8% | $1.20 |
| Paid social (broad) | 22 | 5% | $0.85 |
Based on TrackRev platform data, 2026. PLG SaaS workspaces with free-tier products; upgrade = first Stripe charge. Median values across qualifying workspaces.
Free-to-paid conversion timeline by channel
How long does it take for different channels to produce upgrades? This matters for setting your attribution window and for understanding when to expect revenue from a given channel investment.
| Channel | Median days: click → signup | Median days: signup → upgrade | Total click → upgrade |
|---|---|---|---|
| Community referral | 1 | 9 | 10 days |
| Integration marketplace | 2 | 14 | 16 days |
| Niche newsletter | 1 | 18 | 19 days |
| G2 / Capterra | 3 | 21 | 24 days |
| Organic search | 4 | 28 | 32 days |
| Product Hunt | 1 | 22 | 23 days |
| Twitter/X | 3 | 31 | 34 days |
| Paid social | 2 | 38 | 40 days |
TrackRev platform data, 2026. PLG SaaS workspaces. Median days from first attributed click to signup, and from signup to first Stripe upgrade charge.
PartnerStack's partner ecosystem research shows that integration-channel leads in PLG products convert to paid at 2.4× the rate of direct-acquisition leads, making the integration marketplace one of the highest-ROI PLG acquisition channels when measured on upgrade rate rather than signup volume.
See the PartnerStack resources library for the full PLG partner data.
Ahrefs' SaaS content research identifies product-intent keywords (searches like "[tool] alternative" and "[tool] pricing") as converting to free trial at 3× the rate of informational keywords, with upgrade rates that are also significantly higher — consistent with the organic search row in the table above.
Full data at the Ahrefs blog.
HubSpot Research's PLG benchmarking shows that the median PLG company achieves a free-to-paid conversion rate of 4–8% within 90 days.
Products that track upgrade attribution by channel outperform this range by an average of 2.1 percentage points because they concentrate acquisition spend on high-upgrade-rate channels. See HubSpot's statistics hub for current figures.
The whole PLG thesis depends on the upgrade being the moment that counts, not the signup — Wes Bush's ProductLed framework frames the free experience as the sales motion, which is exactly why attribution has to survive from first click through to the eventual paid conversion.
Amplitude's product-led growth guide covers the activation and conversion metrics that pair with channel-level upgrade attribution.
The upgrade rate audit
Before changing anything in your acquisition strategy, run an upgrade-rate audit by channel for the last 90 days. For each channel, count the free signups and count the Stripe upgrades from those signups. The channel with the highest upgrade rate — not the highest signup count — is where your next acquisition dollar should go.
Track free-to-paid conversions with TrackRev
TrackRev's tracking links capture the originating click at the session level, and a first-party cookie preserves that identity through the signup.
When you write the click identifier to the Stripe customer metadata at signup, TrackRev matches the eventual upgrade event back to the original channel — closing the PLG attribution loop.
The result is a channel-level table showing not just signup traffic but Stripe revenue per channel, including the revenue from users who upgraded weeks after signing up.
See analytics for the dashboard view, and Stripe revenue attribution by marketing channel for the setup guide.
PLG only works when "activated" and "upgraded" mean the same thing across every channel and every affiliate — otherwise the funnel maths quietly drift apart between systems.
Most SaaS teams run Bitly Growth ($35/mo) for link tracking and Rewardful Starter ($49/mo) for affiliates — $84/mo for two tools with two different definitions of a conversion.
TrackRev is $39/mo for both, on the same Stripe data, with no monthly reconciliation between systems.
The Reddit-driven signup, the partner-driven signup, and the eventual Stripe upgrade all flow through the same event model, so the activation curve is one curve.
If your growth model depends on consistent funnel maths, the measurement layer needs to be consistent first.
Sales-gated upgrades
If your PLG product's upgrade is gated behind a sales call rather than a self-serve Stripe checkout, the revenue event is not a trackable click — it is a CRM deal.
TrackRev captures the digital touchpoints leading to the sales call, but the upgrade attribution requires CRM-stage data to complete the picture.
Missing activation signals
If your free tier has no natural activation signal and users upgrade randomly with no behavioural pattern, attribution windows will be very noisy. In this case, improving the product's activation flow is a higher-leverage activity than improving attribution precision.
Found this useful? Share it.
Frequently asked questions
- TrackRev handles PLG attribution by tracking which acquisition channel pays your MRR — crediting free-to-paid upgrades back to the original click, not just counting free signups. Standard attribution tools count the signup as the conversion and stop. PLG attribution keeps the chain open from the original click through the signup and through the eventual payment, which may happen weeks later. This requires a persistent user identifier that survives cookie expiry and bridges the analytics and payment systems.
- 60 days is the right starting point for most PLG products. This captures the majority of upgrades based on TrackRev platform data, where the median signup-to-upgrade time is 22 days and the 90th percentile is 51 days. Products with a longer natural trial period or a more complex activation flow should extend to 90 days.
- The recommended method is to write the first-touch click data (UTM parameters and TrackRev link ID) to the Stripe customer metadata at signup. When the upgrade webhook fires, TrackRev reads this metadata and credits the original channel. The key is capturing click data at signup time and persisting it on the Stripe customer object — not relying on a browser cookie to still be present weeks later when the upgrade happens.
- Based on TrackRev platform data, community referrals (Slack and Discord channels) and integration marketplace listings have the highest upgrade rates at 38–41% within 60 days. These channels attract users who are already in the buying context and have often seen the product recommended by someone they trust, which drives much faster and higher upgrade rates than broad acquisition channels like paid social or viral social posts.
- HubSpot Research's PLG benchmarking puts the median free-to-paid conversion at roughly 4-8% within 90 days, though this varies widely by product type and pricing. The number that matters more than the headline rate is the rate per acquisition channel: teams that attribute upgrades by channel typically beat the median by concentrating spend on the few channels — community, integrations, niche content — that convert trials to paid at the high end of that range.
- They answer different questions. Amplitude (free up to a generous event cap) and Mixpanel (paid plans from around $24/month) tell you what users do inside the product — activation events, feature usage, retention curves. TrackRev tells you which external acquisition channel drove the click that eventually became a paid upgrade. Most PLG teams run both: product analytics for the in-app funnel, TrackRev for the channel-to-revenue join that product analytics cannot see.

Written by
Muzahid Maruf, Founder, TrackRev.io & Contant.io
Muzahid Maruf is the founder of TrackRev.io and Contant.io. He writes about marketing attribution, link tracking, and revenue analytics for SaaS teams.
Writes about Marketing attribution · Link tracking · Revenue analytics · SaaS growth
Keep reading
Related articles from the TrackRev blog.
