Refer & Earn
| Route | Purpose |
|---|---|
/refer-and-earn | Referral dashboard with stats, codes, and activity |
Referral Code Generation
Section titled “Referral Code Generation”Auto-Generated Codes
Section titled “Auto-Generated Codes”- Based on user’s displayName or email
- Format:
REF+ random 6 characters - Can regenerate for different options
Custom Codes
Section titled “Custom Codes”| Constraint | Rule |
|---|---|
| Length | 3-20 characters |
| Characters | Uppercase letters and numbers only |
| Uniqueness | Checked against Firestore with 500ms debounce |
Code Document
Section titled “Code Document”Path: referralCodes/{code}
{ code, userId, isActive: true, usageCount: 0, maxUsage: null, createdAt, updatedAt}Users can create multiple codes for different campaigns.
Sharing
Section titled “Sharing”Methods Available
Section titled “Methods Available”Native Share, Email (mailto), WhatsApp, X/Twitter, LinkedIn, Facebook, Copy Link
Referral URL Format
Section titled “Referral URL Format”https://mindhyv.com/?referralCode={code}Share Message Template
Section titled “Share Message Template”🚀 Join me on MindHyv!The ultimate platform for creative freelancers.Start your freelance journey: {referralUrl}#freelance #creatives #mindhyvShare Tracking Data
Section titled “Share Tracking Data”| Data Point | Description |
|---|---|
| Share type | COPY_LINK, NATIVE_SHARE, EMAIL, WHATSAPP, TWITTER, LINKEDIN, FACEBOOK |
| Timestamps | firstSharedAt, lastSharedAt |
| Count per method | Incremented per share |
| totalShares | Aggregate |
Stored in user document under referralShareStats.
Cookie Tracking
Section titled “Cookie Tracking”Cookies Set on Referral Visit
Section titled “Cookies Set on Referral Visit”| Cookie | Content | Expiration | Options |
|---|---|---|---|
referralCode | Code string | 90 days | Path /, SameSite Lax |
referralData | JSON: {code, timestamp, source, utmParams} | 90 days | Path /, SameSite Lax |
UTM Parameters Captured
Section titled “UTM Parameters Captured”utm_source, utm_medium, utm_campaign, utm_term, utm_content
Initialization
Section titled “Initialization”cookieManager.initializeReferralTracking() runs on every page load:
- Extracts
referralCodefrom URL - Extracts UTM params
- Saves to cookies
- Cleans tracking params from browser URL
Payout System
Section titled “Payout System”Minimum Payout
Section titled “Minimum Payout”$35 (per completed referral)
Stripe Connect Integration
Section titled “Stripe Connect Integration”- Creates Express account via
/api/stripe/create-connect-account - Account states: No Account, Pending (1-2 business days), Verified, Restricted
Payout Eligibility
Section titled “Payout Eligibility”canPayout = earnings >= 35 && hasConnectAccountStats Dashboard
Section titled “Stats Dashboard”Displayed Metrics
Section titled “Displayed Metrics”| Metric | Calculation |
|---|---|
| Total Referred Users | All referrals count |
| Total Paying Referrals | Status === COMPLETED count |
| Total Earnings | Completed referrals x $35 |
| Active Links | Active referral codes count |
Referrals Table Columns
Section titled “Referrals Table Columns”Invoice ID, Referral Link, RateStamp (Elite/Pro/Standard/Free), Source, Conversion Event, Conversion Value, Signup Date
Features: Sorting (all columns), filtering (by code, RateStamp, source), column visibility toggle, pagination (10 rows).
Referral Conversion Flow
Section titled “Referral Conversion Flow”- Referee visits referral URL
- Cookie saved (90 days)
- Referee signs up
trackReferralSignupCallableCloud Function called with:- referralCode, userAgent, ipAddress, UTM params, userData
- Referral document created
- Code
usageCountincremented - Referrer earns reward when referee converts
Data Collected for Privacy
Section titled “Data Collected for Privacy”| Data | Purpose | Stored Where |
|---|---|---|
| Referral code | Track attribution | Cookie (90 days) + Firestore |
| UTM parameters | Campaign tracking | Cookie (90 days) + referral doc |
| User agent | Fraud detection | Referral document |
| IP address | Fraud detection | Referral document |
| Share activity | Analytics | User document |
| Conversion events | Reward calculation | Referral document |