Skip to content

πŸ› signup analytics invited:true doesn't distinguish presented-vs-attributed invitesΒ #3983

Description

@PierreBrisorgueil

What β€” auth.controller.js's user_signed_up analytics event sets invited/invitationId/invitedBy off the resolved invite object, not off whether the invite was actually claimed/attributed (eligibility.claimed, added in #3981).

Why it matters β€” this predates #3981 (an open-signup + presented-but-never-claimed token already produced a phantom invited:true with no real conversion), but #3981 widens the same gap: on invitations.userFacing:true open signup, a lost claim() race now downgrades to an unattributed plain signup (correct β€” no referral fires), yet the analytics event still reports invited:true for it. The referral funnel metric this event is meant to make measurable ends up mixing real conversions with phantom ones, indistinguishably.

Scope β€” decide whether invited should mean "a valid token was presented" (current, unchanged) or "the invite was actually attributed" (eligibility.claimed), or split into two fields. Non-blocking (medium severity, narrow race-only edge case) β€” filed as a fast-follow rather than expanding #3981's scope.

Refs: #3981 (introduced eligibility.claimed), #3945 (added the analytics fields originally).
Created via headless PR review (fallback critical-review, #3982).

Metadata

Metadata

Assignees

No one assigned

    Labels

    FixA bug fix

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions