PLG B2B SaaS, three operational scenarios

PLG RevOps lives with a CRM that records the state of the pipeline and the customer list as of right now. How each deal or account got where it is, and what customers are actually doing in the product, usually lives in a warehouse or a billing system that isn't the CRM.

Scenario 1 of 3

The Phantom Seats

HubSpot says an account is on an 8-seat plan. The product database shows 23 active users in the last 30 days. Sales reps quote upgrade conversations against what HubSpot says, missing unbilled revenue. This is common at PLG companies where the Hightouch sync quietly lags reality.

The shape I'd start with is a scheduled job that compares HubSpot's paid seat count to the warehouse's active-user count each month. When they disagree, it records the gap with a dollar figure from the contract. That becomes a simple queue an AE can work, raising the bill or opening an expansion.

Revenue at risk

$131,651.0

12 accounts · HubSpot says one seat count, BigQuery says another

12 drift events
Account HubSpot seats BigQuery users $ impact
Meridian Labs 8 23 $22,800
Johnson-Carlson 41 48 $17,266
Newton and Sons 58 66 $17,178
The shape of the seat-drift query (SQL, 24 lines)
The shape of the seat-drift query
-- one row per account where the billed seats and last-30d
-- active users disagree. Assumes hubspot_companies and
-- product_events are landed in the warehouse nightly by a
-- Hightouch reverse-ETL sync (or similar).
WITH active_users AS (
  SELECT
    account_id,
    COUNT(DISTINCT user_id) AS active_user_count_30d
  FROM product_events
  WHERE event_ts >= current_date - interval '30 days'
  GROUP BY 1
)
SELECT
  h.account_id,
  h.account_name,
  h.billed_seats                               AS hubspot_seats,
  COALESCE(a.active_user_count_30d, 0)         AS warehouse_users,
  GREATEST(COALESCE(a.active_user_count_30d, 0) - h.billed_seats, 0) AS overage_users,
  (GREATEST(COALESCE(a.active_user_count_30d, 0) - h.billed_seats, 0)
     * h.contract_per_seat_rate)               AS dollar_impact
FROM hubspot_companies h
LEFT JOIN active_users a USING (account_id)
WHERE COALESCE(a.active_user_count_30d, 0) > h.billed_seats
ORDER BY dollar_impact DESC;

Scenario 2 of 3

The Stale PQL

A free user hit a usage threshold 14 days ago. The PQL was scored, routed to an AE in HubSpot, and never followed up. The score has decayed below threshold, and the signal is now invisible outside a weekly Hex notebook review.

What I'd sketch is a scorer that watches in-product behavior and flags accounts on usage patterns that historically convert. If a high-scoring account sits untouched in an AE queue for two weeks, it resurfaces with the original signals and HubSpot context so the AE can re-run the play in one click.

PQLs decayed without follow-up

14

$52K – $163K ARR at risk · 32–100% conversion band

30d decay window

Atlas Digital

routed to Sarah Kim
PQL score
94 decayed
ARR at risk $4,160–$13,000
Routed Mar 29 Decayed Apr 10

Ibarra-Suarez

routed to Mike Reyes
PQL score
93 decayed
ARR at risk $3,195–$9,986
Routed Mar 21 Decayed Apr 4

Mitchell-Kim

routed to Jenna Larsson
PQL score
91 decayed
ARR at risk $3,140–$9,814
Routed Feb 28 Decayed Apr 7

Scenario 3 of 3

Forecast Variance

End of quarter. The CRO needs forecast confidence. HubSpot shows $4.2M committed pipeline, last quarter the team booked $2.9M against $4.4M at a 66% close rate, but with stage-skipping the standard pipeline view hides. Commission disputes are stacking up because deals were re-credited mid-quarter and nobody has an audit trail.

The way I'd approach it is to store the full history of every deal's stage moves, not just where it sits right now. That history unlocks a real pipeline coverage ratio, catches stage-skips HubSpot hides, and builds a clean commission audit you can actually defend.

Q2 2026 · 81 days remaining

1.4×

pipeline coverage · target 3.0× · last Q variance -34%

1.4×

AE pipeline hygiene

AE Pipeline Coverage Stage skips Overdue
Jenna Larsson $1,590,204 1.6× 2 10
Mike Reyes $1,250,808 1.3× 4 10
Priya Shah $829,356 0.8× 4 4
Sarah Kim $337,560 0.3× 3 4