Guides / SaaS

Track Seat Expansion Revenue in B2B SaaS

4 min read·SaaS

What Expansion Revenue Looks Like

In B2B SaaS, expansion happens when an existing account adds seats, upgrades to a higher tier, or removes a usage cap. All of these are worth logging.

Step 1: Log Seat Additions

ts
export async function logSeatExpansion(accountId: string, seatsAdded: number, newTotal: number, plan: string) {
  const account = await db.account.findUnique({ where: { id: accountId } });

  await logit.now("expansion", {
    event: "Seats added",
    description: `${account.name} added ${seatsAdded} seat${seatsAdded > 1 ? "s" : ""} (now ${newTotal})`,
    icon: "💺",
    notify: true,
    tags: { accountId, plan, seatsAdded: seatsAdded.toString() },
    metadata: {
      accountId,
      accountName: account.name,
      seatsAdded,
      newTotalSeats: newTotal,
      estimatedMrrDelta: seatsAdded * getSeatPrice(plan),
    },
  });
}

Step 2: Log Plan Upgrades

ts
export async function logPlanUpgrade(accountId: string, fromPlan: string, toPlan: string, mrrDelta: number) {
  const account = await db.account.findUnique({ where: { id: accountId } });

  await logit.now("expansion", {
    event: "Plan upgraded",
    description: `${account.name} upgraded ${fromPlan}${toPlan} (+${(mrrDelta / 100).toFixed(2)}/mo)`,
    icon: "⬆️",
    notify: true,
    tags: { accountId, fromPlan, toPlan },
    metadata: { accountId, accountName: account.name, fromPlan, toPlan, mrrDelta },
  });
}

Step 3: Smart Action for Expansion Cluster

When multiple accounts expand in a short window, it signals strong product-market fit or a successful campaign:

FieldValue
NameExpansion wave
Channelexpansion
Event nameSeats added
Threshold5
Window24 hours
Cooldown24 hours
ActionPush notification + Slack webhook

Tips

  • Log estimatedMrrDelta in metadata so you can review it in the event detail panel.
  • Separate expansion from subscriptions: expansions are upsells to existing customers, subscriptions are new customers.
  • Set notify: true on every expansion — they're high-signal events worth celebrating individually.

Try LogIt free

7-day trial. No credit card required.

Start free