By Jonah Hale
PLG Attribution: Why Signups Are the Wrong Scoreboard

Product-led growth moves the buying decision inside the product. Attribution has to follow it there, which means agreeing on entities, outcomes, and where product events belong.
A trial starts, and the dashboard turns green. Somewhere a campaign gets credit, a cost per signup drops, and the team moves on to the next experiment. Whether that trial ever became a customer is a question nobody asks until the quarterly review, when the pipeline number and the acquisition number refuse to line up.
That gap is the central measurement problem of product-led growth. In a sales-led motion, the CRM holds the outcome and marketing works backwards from it. In a product-led motion, the events that decide whether you made money — a workspace activated, a team invited colleagues, a card got added — happen in a system the marketing team may never open.
So marketing gets judged on a number it doesn't own. The signup is easy to count, attributable, and almost meaningless on its own.
Why PLG breaks the usual attribution math
The classic B2B funnel assumes a handoff. Marketing produces a lead, sales works an opportunity, and the CRM records what happened. Product-led businesses don't always run that sequence. A customer can evaluate, adopt, and pay without a salesperson entering the record, while the largest accounts still go through a rep.
Three things go wrong when teams bolt attribution onto that reality without adjusting it.
The counted event fires too early. A signup proves someone was curious enough to type an email address. It does not prove they reached value, brought colleagues in, or intend to pay. Optimize for signups and you are optimizing for curiosity.
Volume rewards the campaigns that produce the least. Cheap trials are easy to buy. Trial-to-paid rates vary enormously by source, so a channel with a third of the signups can still produce more revenue. Rank channels by signup volume and you will systematically overfund the weakest one.
Nobody agrees on the unit. A person, a workspace, a company, and a subscription are four different things that do not move in lockstep. Count users when the buyer is a workspace and the conversion rate you report will be wrong in a way that still looks plausible.
Decide what you're counting before you compare channels
Take a small example. Three employees at one company create two workspaces. One of those workspaces upgrades to a paid plan. What did marketing acquire?
Three user signups, two workspace signups, one paid workspace, and one company with a paying relationship. Every statement is true, and each supports a different conclusion. Call it three acquired customers and the cost per acquisition is understated by two thirds — and nobody notices, because the number moved in the right direction.
The fix is unglamorous: pick an entity for each question, then keep the identifier that lets you follow it.
- Product entity. Keep a durable ID for the user and for the workspace or organization where the activity happened. Email addresses change; workspace IDs usually don't.
- Business relationship. A company domain is a useful hint and an unreliable key. Consultants use client domains, enterprises share one domain across subsidiaries, and plenty of real buyers sign up with Gmail.
- Scope. Activity inside one client's workspace should not count as engagement for every organization that user touches. Permission boundaries and attribution boundaries are not the same thing.
- Commercial record. Know whether the subscription, invoice, or opportunity owns the revenue, and make sure a billing record and a CRM deal for the same purchase are not counted twice.
Get this wrong and every downstream metric inherits the error. This is the part of B2B attribution that no model can rescue: multi-touch credit will distribute itself happily across a journey that belongs to the wrong account.
Choose milestones that map to money
Product analytics tells you what happened inside the product. Attribution asks a narrower question: which recorded touchpoints preceded the outcome we care about. You need both, but they answer different things, and mixing them produces stages nobody can defend.
A workable set for most B2B products:
| Milestone | The question it answers | What it must join to | Common mistake |
|---|---|---|---|
| Signup | Who started, and from where? | First-party campaign source | Treating it as demand |
| Activation | Did the user or team reach early value? | A defined in-product event | Counting an empty project as activation |
| Team adoption | Did colleagues join and contribute? | Workspace membership and activity | Counting invitations sent |
| Paid conversion | Did an unpaid account start paying? | Billing or CRM subscription record | Blending renewals into new revenue |
| Expansion | Did an existing customer grow? | Seat or plan change on the subscription | Reporting it as new acquisition |
Two rules keep the list useful. Fewer stages survive contact with small cohorts; every stage you add splits the population and shrinks the sample until the percentages stop meaning anything. And a milestone is a hypothesis until you test it. Check whether accounts that hit your activation event retain or convert better than accounts that don't. Often the answer is "a bit, for some segments," which is still useful and considerably more honest than a dashboard that implies causation.
The same spend, two different decisions
Here is why the outcome you choose changes the budget conversation. Two campaigns, $12,000 each, both measured on workspaces created after a click, with the same observation window. Figures are illustrative; the arithmetic is the point.
| Metric | Campaign A | Campaign B |
|---|---|---|
| Spend | $12,000 | $12,000 |
| Workspace trials | 480 | 180 |
| Activated | 96 (20%) | 72 (40%) |
| Paid | 18 | 27 |
| Cost per trial | $25.00 | $66.67 |
| Cost per paid workspace | $666.67 | $444.44 |
| First-year revenue at $400/mo | $86,400 | $129,600 |
On cost per trial, A wins by a wide margin and looks like the obvious place to add budget. On cost per paid workspace, B is a third cheaper. On first-year revenue, B produces 50% more from the same spend. The campaigns didn't change. The scoreboard did.
What the table does not prove is that either campaign caused anything. It is a sourced cohort comparison, not a multi-touch calculation, and it assumes both cohorts had equal time to convert under a consistent sourcing rule. Real analysis adds the awkward parts: deals that closed through sales, accounts that returned months later, and customers who churned in month four without ever paying the full $4,800.
Product events are outcomes, not touchpoints
Once product data reaches the warehouse, the temptation is to feed it into the model as touchpoints. Be careful. An attribution model distributes credit across an eligible set of recorded interactions, and the composition of that set shapes the answer as much as the model does.
In-app clicks are high volume and mostly uncorrelated with acquisition. Add them to a linear model and the product collects most of the credit, which is a strange result: the product isn't a channel anyone can buy more of, and the finding says nothing about where to spend.
A useful eligibility test: could someone decide to do more or less of this next quarter, with a budget attached? A paid search click passes. An in-app settings change does not. Lifecycle emails and in-app messages usually pass, because a team owns them and can change their frequency.
Let product milestones define outcomes, and keep the touchpoint set to what marketing and lifecycle teams actually control. Onboarding friction is a product analytics question, and it deserves its own view rather than a place in the credit split.
Where the join usually breaks
Most PLG attribution failures are plumbing failures. The model is fine; the records don't line up. This is also why closed-loop reporting is harder than it looks.
Identity. One durable ID per entity, set at signup and carried through workspace creation. If the same person signs up twice with different emails, you now have two journeys and half the evidence for each.
Campaign source. Capture it first-party at the moment of arrival and store it on the account. Platform-reported conversions drift from your own records because each ad platform applies its own windows and counting rules.
Billing. Without a subscription record you are measuring trials, not revenue. With one, you can see recurring revenue, renewal timing, and expansion, and tell a $400/month customer from a $40/month one. Deduplicate the invoice and the CRM deal, or you will double count the same purchase.
Event pipeline. Product events need the same user and workspace IDs your CRM and billing systems use. A CDP helps, but a consistent ID contract helps more. Segment-compatible events are the least painful path if you already run Segment; plenty of teams send server-side events directly.
Convertmax is built around that join. We capture first-party visits and campaigns, accept product and lifecycle events, and connect them to CRM and billing records — HubSpot deals, Close and Pipedrive opportunities, Stripe subscriptions — so activation and expansion can be compared against the campaigns that preceded them. Which objects are available depends on the connection, so check the specifics for your stack rather than assuming a logo means a complete sync.
What a low activation rate is actually telling you
When a campaign produces trials that stall, the reflex is to pause the campaign. Sometimes that's right. More often there are three separate explanations, and they need different responses.
- Wrong audience. The message attracted people who will never have the problem your product solves. Fix targeting or qualification, not onboarding.
- Wrong promise. The ad described an outcome the product delivers later, or differently, than the visitor expected. The trial starts and the expectation collapses at first login.
- Onboarding friction. The right people arrived and got stuck. No amount of acquisition spend fixes this.
The useful next step is to open a handful of real journeys and find where progress stopped. An account that never created a second project needs a different intervention than one that invited six colleagues and then went quiet on the pricing page. The second is a commercial conversation. The first is a product conversation.
That distinction also governs when sales should get involved. Product usage is a signal, not a request. A spike in sessions isn't the same as a buying committee asking for terms, and treating it that way damages trust with exactly the accounts you wanted.
Six things to fix before your next budget review
- Name the entity behind every conversion rate you report, and use it in both the numerator and the denominator.
- Write down the event definition, the exclusions, and the observation window for each milestone. Internal tests and duplicate events should be excluded by rule, not by memory.
- Compare cohorts at equal elapsed time. Older cohorts have had more chances to convert and will flatter whichever campaign ran first.
- Join to billing, not just to the CRM. A pipeline win and a paid invoice are different outcomes.
- Keep product events out of the touchpoint set unless a team owns them and can change them.
- Pick one account you know well and trace it end to end: first visit, signup, activation, invite, upgrade, invoice. If that path is broken, no model will fix the summary.
The bottom line
Product-led growth doesn't make attribution irrelevant. It moves the outcome further from the signup, which makes the join between product, CRM, and billing the thing that decides whether your reporting is worth trusting.
If your team is arguing about channel performance while nobody can say which campaigns produced customers who activated, invited colleagues, and kept paying, start there. Pick your entities, define five milestones, connect the subscription record, and compare one real cohort. The first honest number is worth more than another dashboard.
See how Convertmax connects product usage to revenue →
Explore multi-touch attribution →
FAQ
Does product-led growth still need sales?
For many B2B companies, yes — just later and more selectively. Sales tends to matter for security reviews, multi-team rollouts, procurement, and expansion into larger accounts. When you measure these journeys, define what counts as sales-assisted and keep it consistent. A scheduled call and a completed technical evaluation are different levels of involvement, and lumping them together hides which one moves revenue.
Is a product-qualified lead the same as a marketing-qualified lead?
No. A PQL is defined by meaningful product use, often combined with fit criteria. An MQL is defined by marketing engagement and fit. Neither means the buyer is ready to purchase. If your PQL definition applies to an account rather than a person, say so explicitly and check it against conversion data before you route it to sales.
Do you need a CDP to measure PLG attribution?
Not necessarily. What you need is a consistent identifier across product, CRM, and billing, plus event collection on properties you own. A CDP can reduce the engineering work, and warehouse-first teams often skip it entirely. What you cannot skip is the ID contract — that's where most broken joins originate.