7 SaaS stacks shipped · $1M-$30M ARR

The CRM SaaS founders ship into production.

PLG signals in your CRM. PQLs routing direct to AEs. Expansion and churn scored from product data. Attio configured for the way SaaS revenue actually works.

attio.com / saas-team / accounts
SaaS / Account view
PLG signals + expansion-ready accounts
FilterGroup: stage● Live sync
AccountStagePlanActivationMAU 30dHealthACV
NorthwindCustomerPro✓ Activated+24%Expansion$48,000
GreenleafCustomerStarter✓ Activated+62%Expansion$8,000
Halcyon BioTrialTrial✓ ActivatedPQL
ApertureCustomerProPending-18%Churn risk$36,500
DriftwoodTrialTrialPendingCold trial
KeplerCustomerEnterprise✓ Activated+8%Healthy$112,000

— A real Attio workspace we configured for a SaaS team. Names changed.

The trigger

Why founder-led SaaS outgrows generic CRMs at $1M ARR

At $1M ARR, the spreadsheet that worked stops working. You have 30+ paying accounts, 200+ trial users, 5+ MAUs trending toward expansion, and 2-3 reps trying to keep their books straight. Generic CRMs don't survive this transition because your growth levers live inside your product, not in a contact database.

PLG signals live in your product, not your CRM

Activation events, MAU trends, feature adoption — these are the signals that matter. A generic CRM has Companies and Deals; it doesn't know that Account A just crossed 50 MAU, or that Account B's power users switched plans last week. So your reps are flying blind on accounts about to expand or churn.

MQL → SQL has too many rules for HubSpot workflows

PQL routing depends on combinations — feature usage, team size, plan tier, support ticket history. Generic CRM workflows hit their ceiling fast. You need to say: "If activation within 2 days AND feature_x_used AND invites > 0, then route to expansion team."

Expansion + churn use the same data, opposite direction

A "low MAU + high pricing tier" account is a churn risk; "high MAU + lower tier" is expansion-ready. Generic CRMs don't pull product data, so expansion lives in spreadsheets and Slack.

We've configured Attio for 7 SaaS teams between $1M and $30M ARR. The data model that holds up is below.

The signals

PLG signals that should live in your CRM

Most SaaS founders build dashboards in Mixpanel or Amplitude and treat the CRM as a separate system. Bad split. The CRM is where reps work; if it doesn't have product signals, reps make decisions on stale data.

Six signals to land in Attio for every account:

  1. Activation status — Has the account hit your activation milestone? Single boolean, computed weekly.
  2. MAU trend — Last 30 days, last 90 days, direction (growing / flat / declining).
  3. Feature adoption breadth — How many of your top 10 features are being used.
  4. Seat utilization — Paid seats vs active seats. Low = churn risk; high = expansion candidate.
  5. Support ticket volume + sentiment — Tickets per active user. High = friction; low + declining = disengagement.
  6. Plan tier vs ICP fit — Big company on Starter = expansion; tiny company on Enterprise = churn.

These signals come from your product DB, Mixpanel, Amplitude, or PostHog. We wire them into Attio as scored attributes — formula attributes compute the score in-CRM. No manual dashboards, no Slack polls, no Friday spreadsheet reviews.

Configuration

The data model — wired to your product, not isolated

4 Attio objects + a sync layer to your product DB. Most SaaS founders try to do this in 3 objects and end up with attribute soup.

The sync layer: PostHog / Mixpanel / Amplitude → Clay (or direct webhook) → Attio. Activation events fire daily. MAU trends compute weekly via formula attributes.

The full attribute set:

ObjectPurposeKey attributes
CompaniesPaying accountsPlan, ACV, MRR, ICP fit, activation, MAU trend, expansion-ready, churn-risk, owner
PeopleUsers at the accountRole, last active, NPS, champion (yes/no)
DealsExpansions, renewals, downgradesMotion type, expected close, expected ARV delta
Trials (custom)Free + trial accountsDays remaining, activation %, conversion likelihood
Activation score (formula)Computed signalTime-to-first-action + feature count + invites → 0-100
Churn risk (formula)Computed signalMAU delta + ticket volume + champion status → red/yellow/green
Expansion ready (formula)Computed signalMAU growth + feature breadth + plan-tier-vs-ICP gap → score
The handoff

MQL → SQL handoff that actually works

The MQL-to-SQL handoff is where SaaS revenue leaks. Marketing has criteria, sales has criteria, and they don't match. Result: 60% of MQLs never get worked, and 30% of SQLs are accounts marketing didn't qualify.

The fix is technical, not political. Codify both criteria as Attio formula attributes:

  • MQL signal: form fill OR demo request OR pricing-page visit + ICP-fit score over 70
  • PQL signal (product-led variant): activation + 3+ active users + plan tier matching ICP
  • SQL signal: MQL OR PQL + worked-by-rep flag + last-touch within 7 days

Workflows then route each:

  • MQL → SDR queue, Slack ping with full context
  • PQL → AE direct, no SDR layer (PQLs convert better when AE owns)
  • SQL → opportunity created in Attio Deals, owner auto-assigned via round-robin

We've shipped this for 7 SaaS teams. Conversion from MQL/PQL to opportunity averages 30-40% post-rebuild, vs 8-15% on generic CRM workflows.

Same data, two motions

Expansion + churn signals on the same record

Expansion and churn use the same product data, just read in opposite directions. A CRM that does this well shows you both at once.

Expansion-ready

Signals: high MAU + high feature adoption + plan tier below ICP. The account is using the product hard but hasn't moved up. Workflow: monthly review surfaces expansion candidates; AE owns outreach.

Churn-risk

Signals: declining MAU + low feature adoption + support ticket volume + champion left. Workflow: 14-day-out churn-risk alert to CSM; intervention play runs.

Both run as Attio formula attributes computing scores from product data. Slack alerts fire when scores cross thresholds. Reviews happen weekly, not quarterly.

Expansion + churn turning into revenue is usually how the Attio implementation pays for itself. A typical $1M ARR SaaS sees 3-5 expansion conversations and 2-3 churn saves in the first 90 days that wouldn't have happened on a generic CRM.

Engagement

How we set it up — week one to week two

Week 1: Foundation. Day 1 audit — pull every signal you track in Mixpanel/PostHog/Amplitude. Days 2-3: Attio data model — 4 objects, attributes, views, permissions. Days 4-5: workflows — MQL→SDR routing, PQL→AE routing, expansion alerts.

Week 2: Activation (optional). Days 6-7: product-data sync via Clay or direct webhook (PostHog → Attio nightly job; Mixpanel → Attio daily activation push). Day 8: formula attributes for activation score, churn risk, expansion-ready. Days 9-10: testing with real accounts; runbook + Loom walkthroughs delivered.

Pricing: $4,500 for Attio implementation only (greenfield or HubSpot Sales Hub migration). $7,500 for full Migration + Wire including Clay enrichment + product-data sync. Custom for >$10M ARR with multi-product orgs. See full implementation scope or Clay + Attio details.

FAQ

SaaS CRM questions we get on every call.

Don't see yours? Get a fixed quote and ask in the notes.

What's the best CRM for a $5M ARR B2B SaaS?+
Attio if your revenue comes from relationship-shape deals and product-led growth signals — it surfaces trial-to-paid conversions and expansion opportunities natively. HubSpot if you also need marketing automation and email in a single platform. Neither is wrong; it depends on your go-to-market motion.
How does Attio compare to HubSpot for SaaS specifically?+
Attio excels at custom objects for trials, expansions, and churn risk. AI-native for signal scoring. Cheaper at 15+ seats ($59/seat vs HubSpot's $90 Pro + $800/mo Marketing Hub). Weakness: inbound funnel reporting — most teams rebuild dashboards during implementation.
Can Attio sync with PostHog, Mixpanel, or Amplitude?+
Yes — through Clay HTTP webhooks or direct Attio API. Cadence: daily or weekly pull of product events into custom attributes. Activation status, feature adoption, plan fit flow straight to Attio. No native integrations, but integration time is 1-2 days per product suite.
How do PQLs work in Attio?+
Formula attributes compute PQL score from product signals: activation date, feature count, days-active, plan fit. Workflow routes ready-to-sell PQLs directly to AEs, skipping SDR gatekeeping. Post-rebuild, teams see 30-40% of PQL → opportunity conversion rates.
What does Attio implementation cost for SaaS?+
Greenfield: $4,500 (1 week). Migration off HubSpot + product-data sync + Clay setup: $7,500 (1-2 weeks). For >$10M ARR or 30+ sales seats with custom workflows, custom-quoted (typically $10K-$15K). Timeline: 1-2 weeks for most, 2-3 weeks for larger orgs.
How do you define activation event and PQL scoring?+
There's no template. We pull your actual activation from product logs — signup-to-first-action event, feature count, time-to-value. Interview your product and sales teams, then build scoring rules around your funnel. Every product defines value differently; scoring matches yours.
We're 200 employees with 50 sales seats — is Attio still right?+
Yes. Unit economics favor Attio at 50+ seats ($84K/yr cheaper than HubSpot all-in). Migration is heavier — 2-3 weeks, custom role mapping, careful workflow porting. We've shipped this scale across 3 SaaS teams in that range.

Stop pulling product data into spreadsheets. Pick a date.

Twenty minutes on a screen-share. We'll scope your SaaS CRM and send a fixed quote within 24 hours.