← View All Guides
Amplitude logo
Integration Guide

How to Map Referral User Journeys in Amplitude with GrowSurf

Visualize complete referral user journeys in Amplitude to understand how referred users navigate your product.

Every referred user takes a unique journey through your product β€” but patterns emerge when you analyze enough journeys together. Amplitude's Journeys feature reveals the most common paths referred users take after arriving, how they differ from organic users, and where they get stuck or drop off. This understanding helps you optimize both your referral program and your product experience.

This guide covers using Amplitude's Journeys and Pathfinder features to map referred user behavior, compare referral journey patterns to organic user journeys, identify friction points specific to referred users, and use journey insights to improve both onboarding and referral conversion.

Integration Steps

Step 1: Define Key Events in the Referred User Journey

Identify the critical events that make up the referred user's journey from arrival to becoming an active user.

  • Journey milestones to track:
    • Referral Link Clicked (landing page visit)
    • Sign Up Completed
    • Onboarding Started
    • Key Feature Used (your product's "aha moment")
    • First Value Delivered (completed first project, received first result)
    • Upgrade to Paid (if applicable)
    • Made Their Own Referral (referral chain)
  • Ensure all these events are tracked in Amplitude with proper user identification

Step 2: Build Referral User Journey Maps

Use Amplitude's Journeys feature to visualize paths taken by referred users.

  • Go to Journeys in Amplitude
  • Set the starting event: "Sign Up" where acquisition_channel = "referral"
  • Set the ending event: "Upgrade to Paid" or "Key Feature Used"
  • View the Sankey diagram showing the most common paths between start and end
  • Identify the "happy path" that most successful referred users follow

Step 3: Compare Referral vs. Organic User Journeys

Create parallel journey maps for referred and organic users to spot differences.

  • Create Journey #1: Starting event with acquisition_channel = "referral"
  • Create Journey #2: Starting event with acquisition_channel = "organic"
  • Compare: do referred users take fewer steps to reach the "aha moment"?
  • Look for: different feature adoption sequences, different conversion paths
  • Insights here inform whether referred users need a different onboarding flow

Step 4: Analyze Referral Chain Journeys

Track the journey from being referred to becoming a referrer β€” the viral loop.

  • Starting event: "Sign Up" where referred_by is set
  • Ending event: "Referral Made" (they made their own first referral)
  • What percentage of referred users eventually refer others?
  • What actions do referred-users-turned-referrers take before making their first referral?
  • This viral loop analysis reveals how to accelerate the referral chain

Step 5: Identify and Fix Friction Points

Use journey analysis to find where referred users get stuck and optimize those moments.

  • Look for events where referred users have high drop-off rates
  • Compare: do referred users drop off at different points than organic users?
  • Common friction points: confusing onboarding (they may have different expectations), missing features mentioned by the referrer, unclear value proposition
  • Create targeted interventions: in-app guides, tooltips, or messages at friction points

Step 6: Optimize the Referral-to-Value Path

Use journey insights to shorten the path from referral arrival to value realization.

  • Identify the shortest successful journeys and find commonalities
  • Remove unnecessary steps between referral arrival and value delivery
  • Pre-fill or skip steps based on referral context (the referrer already vetted them)
  • Create a streamlined onboarding flow specifically for referred users
  • Test the optimized flow using Amplitude Experiment and measure time-to-value

Code Snippets

// Track journey events for referred users in Amplitude
async function trackJourneyEvent(userId, eventType, properties) {
  await axios.post('https://api2.amplitude.com/2/httpapi', {
    api_key: AMPLITUDE_API_KEY,
    events: [{
      user_id: userId,
      event_type: eventType,
      event_properties: {
        ...properties,
        is_referred_user: properties.acquisition_channel === 'referral'
      },
      time: Date.now()
    }]
  });
}

// Track key journey milestones for referred users
// Call these from your application at each milestone

// 1. After referral link click (client-side)
amplitude.track('Referral Link Clicked', {
  referral_code: urlParams.get('grsf'),
  landing_page: window.location.pathname
});

// 2. After sign-up
trackJourneyEvent(userId, 'Sign Up Completed', {
  acquisition_channel: wasReferred ? 'referral' : 'organic',
  referrer: referrerEmail,
  signup_method: 'email' // or 'google', 'sso'
});

// 3. After onboarding completion
trackJourneyEvent(userId, 'Onboarding Completed', {
  steps_completed: onboardingSteps,
  time_to_complete_minutes: timeDiff,
  acquisition_channel: userProperties.acquisition_channel
});

// 4. After first key action
trackJourneyEvent(userId, 'First Value Delivered', {
  feature_used: featureName,
  days_since_signup: daysSinceSignup,
  acquisition_channel: userProperties.acquisition_channel
});

// 5. When referred user makes their own referral (viral loop)
trackJourneyEvent(userId, 'Became Referrer', {
  days_since_signup: daysSinceSignup,
  was_originally_referred: true,
  original_referrer: userProperties.referred_by
});

Tips

Optimize the Referral Landing Page Based on Journey Data

If journey analysis shows high drop-off between "Referral Link Clicked" and "Sign Up Completed," your landing page is the bottleneck. Test different landing page designs for referred visitors β€” they're warm leads who need less convincing and more streamlined sign-up experiences.

Build a "Referral Fast Track" Based on Happy Path Analysis

Once you identify the most common path successful referred users take, build it into your product as a guided experience. Use in-app messages or product tours that lead referred users through the proven happy path, skipping irrelevant features and focusing on value delivery.

Track Referral Chain Depth for Virality Metrics

Track how deep referral chains go: User A refers User B, who refers User C, who refers User D. The average chain depth is your viral coefficient in action. Use Amplitude user properties to store referral_chain_depth and analyze whether deeper-chain users have different engagement patterns.

FAQ

How do I separate referral journey analysis from general user journey analysis?

Use Amplitude's segment filter on all journey charts to only include users where acquisition_channel = "referral." This gives you a journey map specific to referred users. Create a saved segment for quick access, and always compare against the equivalent organic user journey for context.

Can I track the entire journey from referral link click to first purchase in Amplitude?

Yes, if you implement tracking at every step. Use client-side Amplitude SDK for link click and page view events, then server-side tracking (from GrowSurf webhooks) for business events. The key is using consistent user identification so all events are attributed to the same user profile across the journey.

What's the difference between Amplitude Journeys and Pathfinder?

Journeys show the paths between two specific events (start and end), ideal for understanding how users get from sign-up to purchase. Pathfinder shows all paths flowing from or to a single event, ideal for exploration ("what do users do after signing up?"). Use Journeys for referral conversion analysis and Pathfinder for open-ended behavioral discovery.

Set up your refer a friend program with customer referral and affiliate program software that lowers your acquisition costs, increases customer loyalty, and saves you gobs of time.

Trusted by marketing and product teams at fast-growing B2C, fintech, and SaaS companies