Consumer Linking Guide
Learn how to upgrade anonymous (guest) consumers to identified accounts while preserving their participation history.Overview
Consumer linking connects an anonymous session to a verified identity. This is essential when a guest consumer wants to receive notifications, track their history, or access their account from another device. What you’ll learn:- Linking guest sessions to email/phone
- Preserving participation history during linking
- Handling the linking flow in your UI
- Server-side external identity linking
Prerequisites
- Fanfare SDK installed and configured
- Understanding of guest and identified authentication
- Anonymous Consumers guide completed
Why Link Consumers?
| Before Linking (Guest) | After Linking (Identified) |
|---|---|
| No notifications | Email/SMS notifications |
| Single device only | Cross-device access |
| Session expires | Persistent identity |
| No order history | Full history tracking |
| Anonymous in dashboard | Identifiable in dashboard |
Step 1: Detect Link Opportunity
Show a linking prompt to guest users:Step 2: Implement OTP Linking
Link a guest session to an email:Step 3: Preserve Participation During Linking
The Fanfare backend automatically preserves all participation data when linking:What Gets Preserved
- Queue positions and admission tokens
- Draw entries and results
- Auction bids
- Waitlist signups
- Order history (if any)
- Analytics and tracking data
Step 4: Phone Number Linking
Link to a phone number instead of email:Step 5: External Identity Linking
Link consumers via your own authentication system (server-side):Backend Implementation
Frontend Implementation
Step 6: Automatic Linking on Login
Automatically link when users log into your platform:Step 7: Handle Linking Conflicts
What happens if the email/phone is already linked to another consumer?Conflict Resolution UI
Step 8: Post-Linking Actions
After successful linking, consider these actions:Best Practices
1. Time the Linking Prompt Well
Don’t interrupt the user during critical moments:2. Explain the Benefits
3. Make it Optional
Never force linking for basic participation:4. Handle Errors Gracefully
Troubleshooting
Participation Not Preserved
- Verify the same browser/device is used
- Check that session wasn’t cleared
- Ensure linking happens before participation ends
Exchange Code Expired
- Exchange codes expire after 60 seconds
- Generate new code if expired
- Check network latency
Email Already Linked
- Provide options to sign in or use different email
- Don’t silently fail
What’s Next
- JWT Tokens - Advanced server-side auth
- Checkout Integration - Complete checkout flows
- Webhooks - Server-side event handling