Skip to Content
Self-SignupSelf-Signup

Self-Signup

The self-signup flow lets new customers register and subscribe to a paid plan without sales team involvement. It’s a 4-step wizard at /signup that takes approximately 5 minutes to complete.


Flow Overview

Step 1: Contact details → name, email, mobile, country, password Step 2: Company details → company name, website, industry Step 3: Tax & region (India only — skipped for non-India) → state, GST number, SEZ status, PAN Step 4: Plan selection & billing address → plan picker, billing address, T&C acceptance → account creation → Razorpay payment → welcome email

Non-India users skip Step 3 entirely (it’s marked complete automatically) and go straight from Step 2 to Step 4.


Session Management

A signup session is created when the user submits Step 1. The session is valid for 1 month.

  • All form data (except the password) is saved after each step.
  • If the user closes the browser, they can resume via the link emailed after Step 1: /signup?session={sessionId}.
  • On return, a modal prompts for the password (passwords are never stored in the session for security).
  • Expired sessions show a “Your Signup Link Has Expired” page with a “Start New Signup” button.

Session states: step_1step_2step_3step_4payment_pendingcomplete


Step Details

Step 1 — Contact Details

FieldRequiredNotes
CountryYesDetermines Step 3 visibility, currency, phone code
First/Last NameYes2+ characters, letters only
EmailYesChecked for uniqueness against existing accounts
MobileYesCountry code auto-set from country selection
PasswordYesMin 8 chars, must include letters and numbers; generate button available

Validation fires on “Continue” click only (not on blur).

Step 2 — Company Details

FieldRequiredNotes
Company nameYesUsed in billing and invoices
Company websiteNoURL format if provided
IndustryYesPredefined dropdown

Step 3 — Tax & Region (India only)

FieldRequiredNotes
StateYesDetermines SGST rate
GST registered?YesYes/No radio
GST NumberIf GST = Yes15-char alphanumeric format
SEZ?If GST = YesYes/No radio
PAN NumberNo10-char alphanumeric

Tax calculation logic:

  • Non-India → 0% (Overseas)
  • India, no GST → 18% IGST (Unregistered Business)
  • India, GST = Yes, SEZ = Yes → 0% (Special Economic Zone)
  • India, GST = Yes, SEZ = No, Kerala → 9% SGST + 9% CGST
  • India, GST = Yes, SEZ = No, other state → 18% IGST

Step 4 — Plan & Billing

  • Two plan cards with pricing (India: ₹34,999 / ₹49,999 per month; UAE: AED 2,800 / AED 3,500).
  • Billing address (auto-fills country from Step 1; India also auto-fills state from Step 3).
  • Terms of Service + Privacy Policy checkboxes (both required).

Account creation happens on Step 4 submission, before payment. This ensures the account exists even if payment fails.


Payment Flow

  1. Step 4 submitted → tenant, user, subscription, and invoice records created → Razorpay order created.
  2. Razorpay modal opens.
  3. On success: invoice marked paid, subscription activated, welcome email sent, redirect to login.
  4. On failure: account remains active, invoice stays unpaid, three options shown: Retry / Bank Transfer / Contact Sales. User can also log in and pay later from the dashboard.

Emails

TriggerRecipientsSubject
Step 1 or 2 abandoned (1h)User”Complete Your Leadmetrics Signup”
Step 1 or 2 abandoned (24h)User”Complete Your Leadmetrics Signup” (repeat)
Step 3 abandoned (1h, 24h, 3d, 5d)User”You’re Almost There! Complete Your Leadmetrics Signup”
Any step abandoned (1h, once)Internal sales team”Client Sign Up Incomplete”
Step 4 submittedUser”Welcome to Leadmetrics”

Internal alert goes to: jithin@leadmetrics.ai (TO), sana@leadmetrics.ai, vishnu@leadmetrics.ai, vibin@leadmetrics.ai (BCC).

The welcome email must NOT include the password or login credentials — it uses the company name in the greeting, not the first name.


Data Captured

Session stores all form fields (except password), UTM source/medium (if in URL), step history with timestamps, and current stage. On account creation, the session ID is stored on the Tenant record and vice versa. createdVia = "self-signup" is set on the Tenant.


  • Onboarding — what happens after signup: AI onboarding, context file generation, strategy
  • Tenant Lifecycle & Billing — how tenant status progresses from onboardingactivelocked
  • Full BRD — original business requirements document with complete field specs and acceptance criteria

© 2026 Leadmetrics — Internal use only