Action guide
Track every new account as it lands
POST
/v1/events · user.signupEmit a `user.signup` event when a new account is created. Store the source, referrer and any campaign metadata so you can trace paying customers back to the campaign that brought them in.
When to emit
After the account row is committed to your database, before the welcome email is queued.
Example payload
await recalled.events.create({
action: "user.signup",
actor: { id: user.id, email: user.email },
organization: user.organizationId,
metadata: {
source: "value",
referrer: "value",
utm: "value"
},
});Metadata to include
Keep metadata flat and consistent across your service so it plays well with search and CSV exports.
| Key | Purpose |
|---|---|
source | landing, invitation, embed-demo, pricing-page |
referrer | Document referrer from the signup page |
utm | UTM parameters as a flat object |
ip | Source IP address of the request |
Suggested retention
Forever, if your jurisdiction allows. This is onboarding cohort analysis gold.