Home / Use Cases / PLG commission: paying on self-serve and sales-assisted
Use Case

Not every closed deal was won the same way

In a product-led business the pipeline contains two very different things. Some revenue arrived because the product worked and a customer upgraded themselves. Some arrived because a rep found an account, built a case, and closed it. A single commission rate treats those as the same event, which overpays for the first and underpays for the second.

Start free → Read the quickstart Free for 10 reps. No credit card.
One pipeline splitting into self-serve and sales-assisted rules via deal conditions
Rate and credit

Two questions, not one

Splitting a product-led plan means answering two things that are easy to conflate.

What rate does each motion earn? Sales-assisted revenue costs more to produce and usually earns a full rate. Self-serve revenue that a rep expanded or converted earns something lower. Self-serve revenue a rep never touched may earn nothing at all.

What counts toward quota? Separately, does self-serve revenue contribute to attainment, and at what value? This is the question most plans skip, and it is where the distortion comes from.

The two are independent. A plan can pay a reduced rate on self-serve revenue while still crediting it fully toward quota, and that combination produces an outcome most teams do not intend.

What happens when you get the second question wrong

Two reps, both with a $500,000 quarterly quota. Rep A works a territory with heavy self-serve adoption; Rep B works enterprise accounts with almost none. Both close $600,000. The plan pays 4 percent on self-serve and 10 percent on sales-assisted, and credits all revenue toward quota at full value.

Rep A Rep B
Self-serve revenue $400,000 $50,000
Sales-assisted revenue $200,000 $550,000
Attainment, all revenue counted 120 percent 120 percent
Commission earned $36,000 $57,000

Both reps show 120 percent attainment. Both appear on the same line of the leaderboard, both reach the same accelerator, and one earned 58 percent more than the other. Rep A's territory made their quota easy and their earnings poor at the same time.

If self-serve revenue is genuinely lower-effort, the honest fix is to credit it toward quota at a reduced value as well, so attainment reflects the work rather than the total. Otherwise attainment stops being a comparable measure across territories, and every downstream mechanism built on it inherits the distortion.

Structure

Routing deals to the right rule

Splitting the pipeline needs a field that already separates the two motions. Lead source is the usual one; a product-written flag such as self-serve signup is better where it exists, because it is set by the system that actually knows.

Each rule then carries a condition and only counts deals matching it. Both rules live in the same plan, so a rep's statement shows one total assembled from two clearly labelled components rather than arriving from two systems. Crucially, a deal matches exactly the rules whose conditions it satisfies, so mixed months work without anyone sorting deals by hand.

The routing is only as good as the field. Which is the next problem.

Before you ship it

What breaks

A stale source field pays the wrong rate silently. This is the dominant failure in product-led plans. The rules are right, the field is not. A deal that began as a self-serve trial and became a sales-assisted enterprise contract pays the self-serve rate if nobody updated the source, and nothing about the payout looks wrong. Audit the field before trusting the plan, and again whenever routing rules change.

Deals that match no rule pay nothing, quietly. Conditions are filters, so a deal whose source value is empty or unexpected matches neither rule and produces no commission. It does not error. Reps find these; it is better to find them first by checking that every closed deal in a period matched at least one rule.

Reclassification moves money after the fact. Correcting a deal's source changes which rule applies and therefore what was earned, including for periods already paid. That is the correct behaviour and it means source data corrections are compensation events, which is worth saying out loud to whoever maintains the CRM.

The plan shape

Two rules in one plan, each with a condition on the field that distinguishes the motion. The self-serve rule pays a reduced flat rate; the sales-assisted rule carries the full rate and the accelerator. Both measure the same revenue field and share a quarterly attainment period.

Adding a third motion, partner-sourced for example, is a third rule with its own condition rather than a restructure. Before switching, run the previous quarter through it and check two things: that every closed deal matched a rule, and how far apart the resulting attainment figures sit across territories.

This plan has 2 rules, all in a single config.

Self-Serve

Pays a share of closed-won revenue. Runs on every closed deal, as it closes.

Only counts deals where lead source is plg.

AttainmentPays
0% and above4% of closed-won revenue

Sales-Assisted

Pays a share of closed-won revenue, with the rate chosen by quarterly quota attainment. Runs on every closed deal, as it closes.

Only counts deals where lead source is one of outbound or ae_sourced.

AttainmentPays
0% to 100%10% of closed-won revenue
100% and above14% of closed-won revenue

Crossing a tier re-rates the whole quarter at the higher rate, not just the revenue above it.

The same plan, as config

This is the whole plan. Send it to POST /v1/plans and it is live; change a rate and re-send it to ship a revision.

POST /v1/plans
curl -X POST https://api.compcode.ai/v1/plans \
  -H "Authorization: Bearer $COMPCODE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "PLG + Sales-Assisted 2026",
  "effectiveStart": "2026-01-01",
  "config": {
    "rules": [
      {
        "name": "Self-Serve",
        "measure": "closed_won_revenue",
        "executionPhase": "per_deal",
        "attainmentPeriod": "quarterly",
        "dealConditions": [
          {
            "field": "lead_source",
            "operator": "equals",
            "value": "plg"
          }
        ],
        "tierBy": "attainment",
        "tierMode": "full_rate",
        "tiers": [
          {
            "minThreshold": 0,
            "rate": 0.04
          }
        ]
      },
      {
        "name": "Sales-Assisted",
        "measure": "closed_won_revenue",
        "executionPhase": "per_deal",
        "attainmentPeriod": "quarterly",
        "dealConditions": [
          {
            "field": "lead_source",
            "operator": "in",
            "value": [
              "outbound",
              "ae_sourced"
            ]
          }
        ],
        "tierBy": "attainment",
        "tierMode": "full_rate",
        "tiers": [
          {
            "minThreshold": 0,
            "rate": 0.1
          },
          {
            "minThreshold": 1,
            "rate": 0.14
          }
        ]
      }
    ]
  }
}'
Questions

Common questions

How should product-led companies pay commission on self-serve revenue?
At a lower rate than sales-assisted revenue, and usually still at something rather than nothing. Self-serve deals that a rep expands or converts involve real work, but not the work of sourcing. A reduced rate recognises the contribution without paying full sourcing commission for revenue the product generated.
Should self-serve revenue count toward a rep's quota?
That is a separate decision from the rate, and it is the one that causes most disputes. If self-serve revenue counts toward quota at full value but pays at a reduced rate, reps in product-heavy territories reach accelerators faster while earning less per dollar. Deciding attainment credit and payout rate independently avoids that distortion.
How do you split one pipeline into different commission rates?
With conditions on a field that already distinguishes the deals, usually lead source or a self-serve flag written by the product. Each rule pays its own rate and only counts deals matching its condition, so both motions live in one plan and one statement rather than in two plans that have to be reconciled.
What happens to a deal that starts self-serve and becomes sales-assisted?
It pays whichever rule its field values match at calculation time, so the answer depends on whether the source field is updated when a rep engages. This is the most common source of quiet mispayment in product-led plans: the routing logic is correct and the field feeding it is stale.

Ship this plan today

Connect your CRM, create the plan with one call, and simulate before anyone gets paid.

Start free →