Skip to main content

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
Complexity: Intermediate Time to complete: 30 minutes

Prerequisites

  • Fanfare SDK installed and configured
  • Understanding of guest and identified authentication
  • Anonymous Consumers guide completed
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 grants
  • 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). For the full contract — including how Fanfare matches and consolidates external identities — see the External Authentication guide.

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