Guides / SaaS

How to Track Feature Usage in Your SaaS

3 min read·SaaS

What to Track

Not every click — just the moments that prove value. First time a user creates a project. First time they invite a teammate. First time they integrate with Stripe.

ts
// First time a user does something meaningful
async function onFirstProjectCreated(user: User, projectName: string) {
  await logit.now("features", {
    event: "First project created",
    description: `${user.email} created "${projectName}"`,
    icon: "📁",
    notify: false,
    tags: { plan: user.plan, feature: "project-create" },
    metadata: { userId: user.id, email: user.email, projectName },
  });
}

Activation milestones

ts
async function trackActivation(user: User, milestone: string) {
  await logit.now("activation", {
    event: `Activation: ${milestone}`,
    description: `${user.email} hit milestone: ${milestone}`,
    icon: "⚡",
    notify: false,
    tags: { milestone, plan: user.plan },
    metadata: { userId: user.id, email: user.email },
  });
}

// Call when user hits each activation step
await trackActivation(user, "created-first-project");
await trackActivation(user, "sent-first-event");
await trackActivation(user, "invited-teammate");

Power user events (notify: true)

ts
// When a user hits a usage threshold — worth a notification
if (user.eventCount === 1000) {
  await logit.now("features", {
    event: "Power user: 1000 events",
    description: `${user.email} sent their 1000th event`,
    icon: "🚀",
    notify: true,
    tags: { milestone: "1000-events", plan: user.plan },
    metadata: { userId: user.id, email: user.email, count: user.eventCount },
  });
}

Tip

Filter your LogIt inbox by feature tag to see which features are getting the most love — without a dedicated analytics dashboard.

Try LogIt free

7-day trial. No credit card required.

Start free