Guides / Signups & Auth

Track Invite-Only Signup Conversions

3 min read·Signups & Auth

The Pattern

Invite-only products have two key events: the invite was sent and the invite was accepted. Logging both lets you track conversion rate and time-to-accept without building a separate analytics system.

Step 1: Log When an Invite Is Sent

ts
await logit.now("invites", {
  event: "Invite sent",
  description: `${inviterEmail} invited ${inviteeEmail}`,
  icon: "✉️",
  notify: false,
  tags: { status: "sent", plan: inviterPlan },
  metadata: {
    inviteId: invite.id,
    inviterEmail,
    inviteeEmail,
    expiresAt: invite.expiresAt.toISOString(),
  },
});

Step 2: Log When an Invite Is Accepted

ts
await logit.now("invites", {
  event: "Invite accepted",
  description: `${inviteeEmail} accepted invite from ${inviterEmail}`,
  icon: "🎉",
  notify: true,
  tags: { status: "accepted", plan: inviterPlan },
  metadata: {
    inviteId: invite.id,
    inviterEmail,
    inviteeEmail,
    acceptedAt: new Date().toISOString(),
    hoursToAccept: Math.round((Date.now() - invite.createdAt.getTime()) / 3600000),
  },
});

Step 3: Smart Action for Conversion Milestone

FieldValue
Name50 invite conversions this week
Channelinvites
Event nameInvite accepted
Threshold50
Window24 hours
Cooldown24 hours
ActionPush notification

Metrics You Get From the Dashboard

By filtering on the invites channel:

  • Total sent vs. accepted — your invite conversion rate
  • hoursToAccept in metadata — how long users take to act on invites
  • Which inviter plans drive the most acceptances (via plan tag)

Tips

  • Keep invite events in their own invites channel, separate from general signups, so the funnel is readable.
  • Log inviterEmail in both events so you can trace the full chain in the dashboard.

Try LogIt free

7-day trial. No credit card required.

Start free