Skip to content

PLG vs Sales-Led Measurement

First PublishedByAtif Alam

Upstream: Martech Stack & Automation — instrumentation, tooling, and data plumbing. This page covers measurement execution.

The decision this page enables: which funnel definition, lead definitions, and KPI tree match your go-to-market motion — so Marketing, Product, and Sales are counting the same thing.

What PLG vs sales-led measurement is (and why it matters)

Section titled “What PLG vs sales-led measurement is (and why it matters)”

Go-to-market motion determines what you measure and where handoffs happen. Product-led growth (PLG) measures in-product behavior and self-serve conversion. Sales-led growth (SLG) measures marketing-qualified demand and rep-assisted pipeline. Hybrid motions need two parallel funnels that reconcile in the warehouse — not one funnel stretched until it breaks.

Use this page when:

  • Marketing reports MQLs but Product reports PQLs and the numbers never match.
  • You’re adding a sales team to a PLG product (or vice versa) and need a shared vocabulary.
  • Leadership asks “which motion is working?” and every team answers with a different metric.

Confusing motions produces classic failure modes: sales chasing signups that will never buy, product optimizing activation while marketing optimizes demo requests, and CAC calculated on the wrong denominator.

Signal in your businessLikely primary motion
Majority of revenue closes without a sales callPLG
Average deal requires discovery + proposalSales-led
Free tier exists but enterprise deals need AEHybrid
Consumer mobile app, in-app purchasePLG (B2C)
Outbound SDR team is >30% of marketing-sourced pipelineSales-led

If two rows describe you equally, you’re hybrid — read the hybrid section first.

LensPrimary questionTypical entry eventPrimary conversionHandoff signal
PLGWho activated in-product and is ready to expand or pay?Signup / installActivated user → paidPQL / PQA
Sales-ledWho fits ICP and wants a conversation?Form fill / demo requestOpportunity → closed-wonMQL → SQL
HybridWhich path did this account take — and when do paths merge?EitherEither (with rules)PQL or MQL → unified account score
  • PQL (Product-Qualified Lead) — a user or account that hit a behavioral threshold indicating buying intent or expansion readiness. Examples: invited 3+ teammates, created 10+ docs, hit a usage limit, viewed pricing twice in 7 days.
  • PQA (Product-Qualified Account) — the account-level version of PQL. One PQA may contain multiple users; the account is the unit Sales cares about in B2B PLG.

PQL/PQA thresholds must be defined jointly by Product, Marketing, and Sales — and re-validated quarterly against win rate.

  • MQL (Marketing-Qualified Lead) — a person who meets firmographic + behavioral criteria indicating fit and interest. Examples: VP Product at 25-person SaaS, downloaded pricing guide, attended webinar.
  • SQL (Sales-Qualified Lead) — an MQL accepted by Sales after discovery confirms need, budget, authority, and timeline (or your team’s equivalent).

The MQL→SQL boundary is where most attribution and forecast arguments start. Document the SLA: who accepts, within how many hours, and what “disqualified” means.

Hybrid motion: parallel funnels, unified account

Section titled “Hybrid motion: parallel funnels, unified account”

In hybrid GTM, the same company may have:

  • Users self-serving in a free tier (PLG path).
  • An AE working an enterprise deal (sales path).

Rule: measure both paths, tag the primary motion per account, and define merge rules (e.g., any SQL on an account supersedes PQL routing; PQL on enterprise ICP triggers AE assignment).

flowchart LR
    subgraph PLG["PLG funnel"]
        S1[Signup] --> A1[Activate]
        A1 --> P1[PQL / PQA]
        P1 --> C1[Self-serve paid]
    end
    subgraph SLG["Sales-led funnel"]
        V1[Visit] --> M1[MQL]
        M1 --> Q1[SQL]
        Q1 --> O1[Opportunity]
        O1 --> W1[Closed-won]
    end
    P1 -.->|Enterprise ICP| Q1
    M1 -.->|Starts trial| A1
flowchart TD
    subgraph PLG_side["PLG — SaaS workspace example"]
        p_visit[Organic / paid visit]
        p_sign[Signup]
        p_act["Activate: 3+ teammates + 1 doc"]
        p_pql[PQL: usage limit hit]
        p_pay[Upgrade to paid]
        p_visit --> p_sign --> p_act --> p_pql --> p_pay
    end
    subgraph SLG_side["Sales-led — same product, enterprise tier"]
        s_visit[ABM / content visit]
        s_mql[MQL: demo request]
        s_sql[SQL: discovery held]
        s_opp[Opportunity]
        s_win[Closed-won]
        s_visit --> s_mql --> s_sql --> s_opp --> s_win
    end

The same product can run both funnels. The mistake is using PLG stage names for sales pipeline or MQL definitions for in-product users who never filled a form.

  1. Name your primary motion. Pick PLG, sales-led, or hybrid. If hybrid, assign a default path per segment (e.g., SMB = PLG, 200+ employees = sales-led).
  2. Define stage events in the data layer. Each stage needs one canonical event in product analytics or CRM — not a spreadsheet column maintained by one person.
  3. Write lead definitions as formulas. PQL = {event X within Y days} AND {ICP fit score ≥ Z}. MQL = {form submit OR high-intent action} AND {firmographic fit}. Publish definitions in a shared doc.
  4. Set SLAs for handoffs. PLG → Sales: PQL routes to AE within 4 business hours. Marketing → Sales: MQL accepted or rejected within 48 hours with reason code.
  5. Build parallel dashboards. One view for PLG (signup → activation → PQL → revenue). One for sales (MQL → SQL → pipeline → win). One account rollup for hybrid.
  6. Reconcile weekly in RevOps. Compare product-analytics counts to CRM counts. Investigate gaps >5% before they become quarterly surprises.
  7. Review thresholds quarterly. Pull win rate by PQL rule and MQL source. Kill rules that don’t predict revenue.

Reconciling PLG and sales numbers in the warehouse

Section titled “Reconciling PLG and sales numbers in the warehouse”

Product analytics and CRM will disagree. A practical join pattern:

  1. Identity key: account_id (B2B) or user_id → email hash → CRM contact.
  2. Product events table: signup, activation, PQL flag, upgrade — from Amplitude/Mixpanel/PostHog export.
  3. CRM table: MQL date, SQL date, opportunity stage, closed-won amount — from Salesforce/HubSpot.
  4. Unified account view: one row per account with columns plg_stage, crm_stage, primary_motion, revenue.

Primary motion assignment (apply in priority order):

  1. CRM closed-won and opportunity existed before PQL → sales_led
  2. Product self-serve paid date recorded → plg
  3. PQL date exists and account has 50+ employees → hybrid_escalation
  4. PQL date exists (smaller accounts) → plg
  5. CRM MQL date exists (no PQL yet) → sales_led
  6. None of the above → unknown (investigate identity gaps)

Review unknown monthly — it should be <5% of accounts. Higher means identity or event gaps.

Score each dimension 1–5 (1 = poor fit, 5 = excellent fit). Sum ≥32 → lean PLG; 24–31 → hybrid; ≤23 → lean sales-led.

DimensionQuestionScore (1–5)Notes
Product complexityCan a new user reach first value without a call?
ACV / deal sizeIs average contract ≥$15k (sales-led pressure)?
Buyer committeeSingle user vs. 3+ stakeholders?
Time-to-value<1 day self-serve vs. weeks implementation?
ICP concentrationCan you score accounts firmographically at signup?
Expansion motionLand-and-expand in-product vs. upsell via AE?
Competitive displacementDo buyers need education / rip-and-replace help?
Data on behaviorDo you have product analytics on key actions?
Total/40
Product: [name]
Segment: [e.g., SMB workspace teams]
Review cadence: [quarterly]
Behavioral trigger (pick 1 primary):
Event name: [e.g., workspace_invite_sent]
Threshold: [e.g., ≥3 invites in 14 days]
Supporting: [e.g., doc_created ≥1]
Fit filter:
ICP rule: [e.g., company size 10–200 OR email domain not personal]
Exclude: [e.g., competitor domains, student emails]
Routing:
Destination: [AE name / pool / self-serve only]
SLA: [hours to first outreach]
CRM object: [Lead / Contact / Account flag]
Validation (last 90 days):
PQL count: [___]
Opp created: [___] (conversion: ___%)
Closed-won: [___] (win rate: ___%)
False positive: [describe users who PQL'd but never had budget]
StepOwnerTargetEscalation if missed
MQL createdMarketing automationReal-time
MQL reviewedSDR / BDR≤4 business hoursManager alert at 8h
Accept / reject SQLSDR + AE≤48 hours of MQLRevOps weekly report
Discovery heldAE≤5 business days of SQLPipeline review flag
Reason codes requiredSales100% on rejectNo reject without code
flowchart TD
    start["What motion are you measuring?"]
    start --> q1{"Can users reach paid<br/>without talking to sales?"}
    q1 -->|Yes, majority| plg["Use PLG funnel:<br/>Signup → Activate → PQL → Paid"]
    q1 -->|No| slg["Use sales-led funnel:<br/>MQL → SQL → Opp → Won"]
    q1 -->|Some segments yes| hybrid["Hybrid: segment by ICP<br/>Run both funnels + account rollup"]
    plg --> q2{"Enterprise tier<br/>or ACV > $15k?"}
    q2 -->|Yes| hybrid
    q2 -->|No| done1["Primary KPIs: activation rate,<br/>PQL rate, free-to-paid"]
    slg --> done2["Primary KPIs: MQL→SQL,<br/>pipeline coverage, win rate"]
    hybrid --> done3["Primary KPIs: both +<br/>motion mix, blended CAC"]
MetricPLG target (healthy growth)Sales-led target (healthy growth)Notes
Signup → activation rate25–45% (B2B SaaS)N/A (use MQL→SQL instead)Activation definition must be stable 90+ days
Activation → PQL rate8–20% of activatedN/ADepends on PQL threshold strictness
PQL → opportunity rate15–35%N/ABelow 10% → threshold too loose or routing broken
Free → paid conversion (30d)3–8% (B2B freemium)N/AB2C app: 5–15% trial-to-paid
MQL → SQL acceptanceN/A25–40%Below 20% → MQL definition too loose
SQL → opportunityN/A60–80%Tracks discovery quality
Win rate (SQL → won)N/A20–35% (SMB) / 15–25% (mid-market)Segment by source
Sales cycle (days)N/A30–90 (SMB) / 90–180 (mid-market)PLG self-serve: days to first payment
Blended CAC payback<12 months<18 monthsCalculate per motion, then blend
PQL/MQL definition drift0 undocumented changes / quarter0 undocumented changes / quarterAny change resets baselines

Context: Unified team workspace for 10–49 person product teams. Freemium PLG for SMB; sales-led for 50+ employee accounts with SSO requirements.

PLG funnel:

StageDefinitionMonthly volumeConversion
SignupWork email, workspace created4,200
Activate≥3 members + ≥1 doc in 14 days1,26030%
PQLHit 10-doc limit OR viewed pricing 2× in 7 days18915% of activated
Self-serve paidUpgraded without AE3418% of PQL

Sales-led funnel (same product, enterprise track):

StageDefinitionMonthly volumeConversion
MQLDemo request OR ABM form fill, 50+ employees85
SQLDiscovery completed, budget confirmed2833%
OpportunityProposal sent1968%
Closed-wonContract signed632% win rate

Hybrid rule: Any account with employee_count ≥ 50 that hits PQL routes to enterprise AE instead of self-serve upgrade flow. Product analytics tags motion = hybrid_escalation.

Dashboard cadence: Growth reviews PLG weekly; Sales reviews pipeline weekly; RevOps reconciles account-level revenue monthly.

Weekly PLG dashboard (minimum viable):

WidgetDefinitionTarget
Signups (work email)workspace_created950/week
Activation rate (14d)≥3 members + ≥1 doc30%
PQL countLimit hit OR 2× pricing view45/week
PQL → opp (enterprise route)Opp within 14d of PQL25%
Self-serve MRRUpgrades without opp+$12k/week net

Weekly sales-led dashboard (minimum viable):

WidgetDefinitionTarget
MQLs (50+ employees)Demo + ABM forms20/week
MQL → SQL (48h)Accepted with discovery scheduled35%
Pipeline created$ from new opps$180k/week
Win rate (rolling 90d)Closed-won ÷ closed30%

Consumer fitness app (B2C) — PLG-primary

Section titled “Consumer fitness app (B2C) — PLG-primary”

Context: Bodyweight workout app, 14-day trial, no sales team. “Sales-led” is limited to B2B corporate wellness partnerships (small slice of revenue).

PLG funnel (95% of revenue):

StageDefinitionMonthly volumeConversion
InstallApp Store / Play install28,000
ActivateCompleted 1 workout in first 72 hours11,20040%
PQL proxy4+ workouts in first 14 days (expansion-ready for annual plan)2,24020% of activated
Trial → paidSubscribed before trial end1,68075% of PQL proxy

Corporate wellness (sales-led slice):

StageDefinitionQuarterly volumeConversion
MQLHR leader downloaded corporate deck12
SQLDiscovery call held, 100+ eligible employees433%
Closed-wonAnnual corporate contract125%

Lesson: B2C measurement is almost entirely PLG. Don’t force MQL/SQL vocabulary onto consumer installs — use activation and retention cohorts instead (see Cohort Analysis). Reserve sales-led metrics for the B2B partnership track only.

  • One funnel for everything. Stretching “MQL” to mean “any signup” destroys forecast credibility.
  • PQL thresholds set by Product alone. Sales must validate that PQLs convert; otherwise you’re spamming AEs with tire-kickers.
  • No reason codes on MQL reject. Without reject reasons, Marketing can’t fix source quality.
  • Ignoring activation in sales-led motions. Even demo-led products have in-product trials; measure activation separately from MQL.
  • Blended CAC without motion tags. Blending PLG and SLG CAC hides that enterprise deals cost 5× more to close.
  • Changing definitions mid-quarter. Renaming “activated” resets every dashboard; batch definition changes quarterly.
  • Hybrid without account object. Person-level PLG + account-level sales pipeline requires a CDP or warehouse join on account_id.
  • Product analytics: Amplitude, Mixpanel, PostHog — PLG funnel and PQL rule engines.
  • CRM: HubSpot, Salesforce — MQL/SQL stages and routing.
  • Reverse-ETL / CDP: Hightouch, Census, Segment — unify product events with CRM accounts.
  • PLG CRM overlays: Pocus, Common Room, Endgame — PQA scoring for sales-assist.
  • Canonical read: Product-Led Growth ( Wes Bush ) — PQL framework; Predictable Revenue ( Aaron Ross ) — sales-led pipeline anatomy.