Skip to main content
Deep linking allows you to show different onboarding flows based on where your users come from. This is perfect for tailoring your user experience to match the messaging from different ad campaigns, product pages, or referral sources.

How It Works

Instead of creating complex variant systems, Muta’s placement system already supports deep linking scenarios perfectly. You simply create different placements for different user sources.

Example: Multi-Channel Ad Campaign

Let’s say you’re running ads on TikTok, Instagram, and LinkedIn with different messaging for each platform. You want your onboarding to match the ad creative users clicked on.

Step 1: Create Separate Placements

In your Muta dashboard, create placements for each source:
  • onboarding-tiktok - Fun, video-focused onboarding
  • onboarding-instagram - Visual, story-driven flow
  • onboarding-linkedin - Professional, feature-focused flow
  • onboarding-default - Generic flow for organic users

Step 3: Configure Your Ad Campaign URLs

Set up your ad campaign URLs to include source information:
  • TikTok: myapp://onboard?source=tiktok
  • Instagram: myapp://onboard?source=instagram
  • LinkedIn: myapp://onboard?source=linkedin

SwiftUI Integration

For SwiftUI apps:

Best Practices

1. Naming Conventions

Use clear, consistent naming for your placements:
  • [placement-name]-[source]
  • [placement-name]-[source]-[campaign]
  • [placement-name]-[source]-[variant]

2. Always Have a Default

Always create a default placement as a fallback for:
  • Organic users
  • Unrecognized sources

URL Scheme Configuration

Don’t forget to configure your URL schemes in Info.plist:

Next Steps