Guides / Signups & Auth
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.
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(),
},
});
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),
},
});
| Field | Value |
|---|---|
| Name | 50 invite conversions this week |
| Channel | invites |
| Event name | Invite accepted |
| Threshold | 50 |
| Window | 24 hours |
| Cooldown | 24 hours |
| Action | Push notification |
By filtering on the invites channel:
hoursToAccept in metadata — how long users take to act on invitesplan tag)invites channel, separate from general signups, so the funnel is readable.inviterEmail in both events so you can trace the full chain in the dashboard.Try LogIt free
7-day trial. No credit card required.