Get the working resource ↓
SaaS Growth Marketing Guide 6 min read

Building a PQL Scoring Model

Build a product qualified lead model that sales will actually work: event selection, weighting, account rollup, thresholds and the routing SLA behind it.

On this page 8 sections
  1. Which product events actually predict purchase?
  2. What does a worked scoring table look like?
  3. How do you roll user scores up to an account?
  4. How do you set the threshold?
  5. What does the data path look like?
  6. What SLA and feedback loop keep the model alive?
  7. The tradeoff nobody mentions
  8. What to do this month
  9. Frequently asked questions

The short answer

A PQL scoring model assigns a score to a free or trial user based on the three to five product events that correlate with purchase, rolls those user scores up to an account level score for multi seat products, and fires an alert to sales above a threshold set by sales capacity rather than by statistical elegance. Most models fail on data plumbing and sales trust, not on the maths. Ship a narrow high precision model first and widen it only once the sales acceptance rate holds above 70 percent.

Key points before you start

Most PQL projects die in month four, and almost never because the scoring formula was wrong. They die because the product database and the CRM disagree about who a person is, because sales opened twelve alerts in a row with no useful context, or because the threshold produced 300 weekly alerts for a team of four reps.

So this covers both halves: the model, and the plumbing and process that decide whether anyone acts on it.

Which product events actually predict purchase?

Three to five, and you find them with the same lift analysis used for activation rather than by asking the product team which features they are proud of.

The method is straightforward. Take every account that converted to paid in the last twelve months and every account that signed up and did not. For each candidate event, calculate the share of converters who performed it within their first 14 days and the share of non converters who did. The ratio between those two is your lift. Anything under about 2x is not worth a weight.

What consistently shows high lift across B2B SaaS products, whatever the category:

  • Inviting a second user from the same email domain, especially within the first week.
  • Connecting an integration that requires authentication, because that involves a decision about production systems.
  • Importing real data rather than using sample data.
  • Creating a second project, workspace or board, which signals the tool has spread beyond one experiment.
  • Hitting a plan limit, which is both a purchase signal and a conversation opener.

Events that look predictive and are not

Logins, dashboard views, help doc reads and feature page visits. All of them correlate with converters simply because converters use the product more overall. They add no independent signal and they let a curious tyre kicker cross the threshold. Run the lift calculation and cut anything under 2x, however intuitive it feels.

The full derivation of event selection is worked through in PQL scoring and routing. If you are still arguing about whether PQLs should replace MQLs, settle it first with MQL vs PQL in B2B SaaS, because a team running both without a clear hierarchy routes the same account twice.

What does a worked scoring table look like?

Here is a model for a collaboration product sold by seat, with weights derived from lift rather than opinion.

SignalTypeWeightRationale
Invited 2 or more teammatesBehaviour25Highest observed lift, implies team adoption
Connected an OAuth integrationBehaviour20Requires an internal decision about access
Imported over 100 real recordsBehaviour15Distinguishes evaluation from experimentation
Created a second workspaceBehaviour15Spread beyond the original use case
Hit a plan limitBehaviour10Purchase trigger and conversation opener
Company size 50 to 1,000 employeesFirmographic10ICP fit, from enrichment
Target industryFirmographic5Weak but free
Personal email domainPenalty-20Strong negative for B2B
No activity in 10 daysDecay-15Stale signal is not a signal

Two design choices in that table are worth defending. Firmographics carry only 15 points combined, because a perfect fit company that does nothing in the product is not a PQL, it is a target account for outbound. And the decay penalty exists because a score that never decreases fills the queue with accounts that got excited in March and vanished.

3 to 5

Product events in a well performing first version PQL model

Aggregated practitioner reports, saas-marketing.net estimate

Editable working copy

Download this template

Save an editable working copy of the framework on this page. Add your own owners, evidence and decisions.

We never sell your data. Your resource opens here after submission.

How do you roll user scores up to an account?

Sum with a cap, then add an account level bonus for breadth. Taking the maximum user score loses the team adoption signal entirely, and plain summing lets one very active power user outweigh six moderately engaged people at a larger account.

The rule that works in practice:

  • Account behaviour score equals the sum of the top three user scores at the domain, which prevents a single enthusiast dominating.
  • Add 15 points if three or more distinct users were active in the last 14 days, because breadth is the strongest account level predictor.
  • Add 10 points if any user has an admin or billing role.
  • Apply firmographic points once at account level, never per user.

Domain matching is your join key, with the obvious exclusions for gmail, outlook and the disposable domains. For enterprise accounts with multiple domains after acquisitions, you need a manual mapping table, and yes, someone has to maintain it. The distinction between the two units is covered in the product qualified lead glossary entry and its growth focused counterpart, PQL for growth teams.

How do you set the threshold?

Against sales capacity, not against a ROC curve. This is the single most important decision in the whole project and it is usually made by whoever is best at statistics rather than whoever knows how many accounts a rep can work.

Do the arithmetic explicitly. A rep working PQLs properly, meaning researching the account, reading the usage detail and sending something personal, handles 12 to 18 a week. Four reps gives you 48 to 72 a week. So your threshold is whatever score produces about 60 accounts a week, and you adjust it monthly as volume changes.

Threshold approachWeekly volume for a 4 rep teamAcceptance rateVerdict
Statistically optimal cut point250 to 40030 to 45%Queue gets abandoned within a month
Capacity matched, high precision50 to 7070 to 85%Ship this first
Two tier: PQL to sales, warm to nurture60 to sales, 200 to email75% on the sales tierBest steady state, month 4 onward
No threshold, sales browses a dashboardWhatever they feel likeUnmeasurableNot a programme

The accounts below the threshold are not wasted. They go into automated nurture sequences, which is the natural pairing with product qualified lead email plays. Two tiers is where you want to end up, but not in version one.

Precision before recall, always

A rep who works three PQLs and finds all three worthless will deprioritise the queue, and the second time it happens they stop opening it. Recovering that trust takes two quarters. Start with a threshold so high it feels conservative, prove the acceptance rate, then lower it by five points at a time.

What does the data path look like?

Four hops, and each one is a place the project stalls. Map it before you write any scoring logic.

Product event to CRM alert

  1. Instrument the events

    Segment, PostHog, Amplitude or Mixpanel, or direct from your application database. You need a stable event name, a user id, a company or workspace id and a timestamp. Verify the event actually fires by triggering it yourself and finding it in the raw stream.

  2. Land events in the warehouse

    Snowflake, BigQuery or Postgres. Product analytics tools are for exploration, not for the system of record behind a score. You need history for backtesting and joins to CRM data you cannot do inside an analytics UI.

  3. Resolve identity

    Join product users to CRM contacts on email, and product workspaces to CRM accounts on email domain. Build a mapping table for multi domain accounts. Measure and publish your match rate. Below 85 percent, fix this before anything else, because an unmatched PQL is invisible.

  4. Compute the score on a schedule

    A daily job, or hourly if your sales cycle is fast. Write both the score and the reasons to the account record. The reasons field is what makes the alert usable.

  5. Sync to the CRM with reverse ETL

    Write four fields to the account and two to the contact. Full field spec below. Do not sync the raw event stream into Salesforce, it will be slow, expensive and nobody will read it.

  6. Route with an SLA and log the disposition

    Alert in Slack and create a task in the CRM. Require a disposition code within 48 hours. Feed those dispositions back into the next model revision, which is the loop most teams never close.

Here is the CRM field spec that has survived contact with real sales teams. Six fields, no more.

ObjectFieldTypeExample
AccountPQA ScoreNumber74
AccountPQA TierPicklist: Hot, Warm, WatchHot
AccountPQA ReasonsText, 255“3 users active, Slack connected, hit seat limit”
AccountPQA Score DateDate2026-09-08
ContactTop User FlagCheckboxtrue
ContactLast Product ActionText“Invited 2 teammates, 6 Sep”

The reasons field is doing the heavy lifting. A rep who opens an alert saying “score 74” has nothing to say. A rep who opens one saying three people are active, Slack is connected and they hit the seat limit yesterday has an opening line.

Review request

Free SaaS marketing audit

Share your site, stage and priorities to request a review of your positioning, funnel and acquisition plan.

We never sell your data. Your request is saved for review.

What SLA and feedback loop keep the model alive?

Three commitments, agreed with sales leadership in writing before launch. Without these you have a dashboard, not a programme.

Response time: first touch within 24 hours for the hot tier. Product signals decay fast, and a user who hit a limit on Monday has either solved it or left by Thursday. Chili Piper or a simple round robin with Slack alerts handles the routing.

Disposition codes, required within 48 hours, with exactly five options: working it, contacted no response, not a fit and why, already a customer, and data wrong. That last code is the most valuable one in the list because it surfaces plumbing failures that would otherwise be silently absorbed by reps who assume marketing knows best.

Monthly review of acceptance rate and conversion lift, with a standing agreement that the threshold moves based on that data rather than on whoever complains loudest. Acceptance rate is accepted divided by routed. Below 70 percent you tighten. Above 85 percent for two months running you loosen, because you are leaving volume on the table.

The failure that ends programmes

‘Data wrong’ dispositions above 10 percent mean your identity resolution is broken, and no amount of model tuning will fix it. Stop scoring, fix the join, and republish the match rate. Teams that push through this because the score looks good in aggregate end up with a queue sales has quietly stopped reading.

The tradeoff nobody mentions

A high precision PQL model deliberately ignores most of your signups. If you route 60 accounts a week out of 900 weekly signups, you are betting that the 840 you skipped are better served by automation, and some of them are not. You will lose deals that a human conversation would have won.

That is the right trade at the start, because the alternative failure is worse and permanent. A queue sales trusts and works is an asset that compounds. A queue sales abandoned is nearly impossible to revive, and the second attempt is met with the memory of the first. Accept the missed opportunity cost for two quarters, build the acceptance rate, then widen deliberately.

What to do this month

Pull twelve months of converted and non converted accounts and run the lift calculation on ten candidate events. Keep the four with the highest lift. Measure your product to CRM identity match rate before you build anything else, because that number determines whether the project is feasible at all.

Then write the six CRM fields, set the threshold to your rep capacity, and run it manually in a spreadsheet for two weeks before automating anything. Review the wider context in SaaS growth marketing and the comparison framing in MQL vs PQL, plus the metrics definition in PQL as a reporting metric and the MQL counterpart in marketing qualified lead.

Editable CSV worksheet

SaaS Growth Marketing planning worksheet

A practical growth planning worksheet: decisions, owners, evidence and next actions.

We never sell your data. Your resource opens here after submission.

Frequently asked questions

What is a PQL scoring model?

It is a rule or weighted formula that turns product usage into a sales signal. You pick the events that correlate with purchase, assign weights, sum them for a user, roll them up to the account, and route accounts above a threshold to sales. Unlike traditional lead scoring, the inputs are behaviours inside the product rather than form fills and email opens.

Which events should be in a PQL model?

Events that require real effort and imply the product is being embedded in work: inviting a teammate, connecting an integration, importing production data, creating a second project, hitting a plan limit. Avoid passive events like logging in or viewing a dashboard, because they correlate with curiosity rather than commitment.

How do you set the PQL threshold?

Backwards from sales capacity. Calculate how many accounts a rep can genuinely work in a week, multiply by the number of reps, and set the score cutoff that produces that volume. A statistically optimal threshold that generates 400 alerts for a team that can work 60 is worse than useless, because reps stop trusting the queue entirely.

What is the difference between a PQL and a PQA?

A PQL is a qualified individual user. A PQA, or product qualified account, aggregates all users at a company into one account level signal. For any product sold by seat or team, PQA is the right unit, because sales sells to companies. Keep the user scores underneath so the rep knows which person to contact and why.

How do you know if your PQL model works?

Two numbers. Acceptance rate, meaning the share of routed PQLs sales agrees are worth working, which should hold above 70 percent. And conversion lift, meaning PQL to closed won compared with non PQL signups. If a PQL converts at three or more times the baseline, the model has real signal.

Why do PQL programmes fail?

Plumbing and trust, not maths. Identity resolution between product and CRM breaks, so records duplicate or never match. Alerts fire without context, so reps open them and see nothing useful. Volume overwhelms capacity, so the queue gets ignored. Every one of those is an operations problem, and none of them is solved by a better weighting scheme.

Do you need a data warehouse to build a PQL model?

Not for version one. You can ship a useful rule based model with product analytics and a reverse ETL or even a scheduled job writing three fields to the CRM. You need a warehouse once you want historical backtesting, account rollups across many events, and a score that changes daily without manual work.

The saas-marketing.net editorial team Research and editorial

We research, write and maintain every page on this site. The library explains marketing decisions through practical frameworks, explicit assumptions and references. Corrections can be requested through the contact page.

Published September 11, 2026. Last updated .