As a marketing manager at a mobile-first company, your ability to precisely target and engage users hinges on mastering sophisticated analytics and attribution platforms. The days of broad strokes are gone; granular data is your superpower. But how do you truly wield that power to drive measurable growth and retention? This guide will walk you through setting up and leveraging AppsFlyer’s OneLink deep linking and attribution platform, ensuring your campaigns hit their mark every single time.
Key Takeaways
- Configure AppsFlyer’s OneLink for universal deep linking, ensuring users land on specific in-app content regardless of their installation status.
- Set up custom attribution links within OneLink to precisely track campaign performance across various channels like social media and email.
- Implement deferred deep linking logic to provide a consistent user experience, even for new app installs, driving higher conversion rates.
- Utilize the AppsFlyer dashboard to monitor real-time campaign data, including installs, in-app events, and return on ad spend (ROAS).
- Regularly audit and refine your OneLink templates and attribution parameters to adapt to changing campaign objectives and platform updates.
Step 1: Initial OneLink Template Creation and Configuration
The foundation of any successful mobile marketing strategy is a robust deep linking infrastructure. AppsFlyer’s OneLink is my go-to for this because it handles the complexities of iOS and Android variations, ensuring a smooth user journey. It’s not just about getting users to your app; it’s about getting them to the right place within your app.
1.1 Accessing OneLink Templates
- Log in to your AppsFlyer dashboard.
- In the left-hand navigation menu, expand Engage.
- Click on OneLink Custom Links. Here, you’ll see a list of your existing OneLink templates. If you’re starting fresh, this will likely be empty.
- Click the blue + Add OneLink Template button in the top right corner.
Pro Tip: Before creating your first template, have a clear naming convention in mind. Something like “App_Name_Universal” or “App_Name_Marketing” works well. This saves you headaches later when you have dozens of links.
1.2 Defining Your Template Name and Subdomain
- In the “New OneLink Template” modal, enter a descriptive name in the Template name field. For our example, let’s use “MyMobileApp_Universal_Link_2026”.
- AppsFlyer will automatically suggest a OneLink Subdomain. This is your unique identifier. While you can customize it, I strongly recommend sticking with the auto-generated one unless you have a specific branding requirement. Consistency here is key for deliverability and trust.
- Click Next.
Common Mistake: Changing your OneLink subdomain frequently. This can break existing links and cause attribution data loss. Choose wisely upfront.
Expected Outcome: A new OneLink template is created, and you’re now on the “App Configuration” screen.
Step 2: Configuring App Platforms and Deep Linking Logic
This is where you tell AppsFlyer how to behave across different operating systems and scenarios. It’s more than just pasting links; it’s about orchestrating the user’s journey.
2.1 Setting Up iOS and Android Links
- On the “App Configuration” screen, you’ll see sections for iOS and Android.
- For iOS:
- Under Universal Links (iOS 9+), enter your app’s Universal Link path. This typically looks like
https://yourdomain.com/path. This is critical for seamless deep linking on iOS. - Under URL Scheme (Legacy iOS), enter your app’s custom URL scheme (e.g.,
myapp://). This acts as a fallback for older iOS versions or specific app configurations. - In the App Store URL field, paste the direct link to your app on the Apple App Store.
- Under Universal Links (iOS 9+), enter your app’s Universal Link path. This typically looks like
- For Android:
- Under Android App Links (Android 6+), enter your app’s Android App Link path. Similar to Universal Links, this provides a better user experience by opening directly in-app.
- Under URL Scheme (Legacy Android), enter your app’s custom URL scheme (e.g.,
myapp://). - In the Google Play Store URL field, paste the direct link to your app on the Google Play Store.
- Click Next.
Editorial Aside: I cannot stress enough the importance of getting these deep linking paths correct. I once had a client whose entire holiday campaign fell flat because their Universal Links were misconfigured. Users were being sent to the app store homepage instead of a specific product page. That’s thousands of dollars in wasted ad spend and lost conversions, all because of a small typo or oversight. Test, test, and re-test!
2.2 Configuring Deferred Deep Linking and Fallbacks
Deferred deep linking is the magic that ensures new users who install your app still land on the specific content you intended. This dramatically improves conversion rates for new installs.
- On the “Redirection” screen, focus on the Deferred Deep Linking section.
- For users who don’t have the app installed:
- After Install, open app with this deep link: This is where you define the deep link that will be passed to the app upon its first launch after installation. Typically, you’d use the same deep link you’re using for existing users (e.g.,
myapp://product/123). - Fallback URL: If for some reason the deep link fails (rare, but it happens), where should the user go? Usually, this is your app’s main page or a specific onboarding flow.
- After Install, open app with this deep link: This is where you define the deep link that will be passed to the app upon its first launch after installation. Typically, you’d use the same deep link you’re using for existing users (e.g.,
- For users who already have the app installed:
- Open app with this deep link: This should be the primary deep link for your campaign (e.g.,
myapp://product/123). - Fallback URL: Again, a safe fallback if the deep link fails.
- Open app with this deep link: This should be the primary deep link for your campaign (e.g.,
- You can also configure Desktop/Tablet Redirection if your campaign might be clicked on those devices. Often, a link to your mobile-first website is appropriate here.
- Click Save OneLink Template.
Expected Outcome: Your OneLink template is now active and ready for creating specific attribution links.
Step 3: Generating Custom Attribution Links for Campaigns
Now that your OneLink template is ready, you can start creating specific links for each of your marketing campaigns. This is where the “attribution” part of AppsFlyer really shines, allowing you to slice and dice your data.
3.1 Creating a New Custom Link
- From the “OneLink Custom Links” page, select the template you just created (e.g., “MyMobileApp_Universal_Link_2026”).
- Click the + Create Custom Link button.
3.2 Defining Link Parameters for Attribution
This is arguably the most crucial step for marketing managers at mobile-first companies. The parameters you define here dictate how well you can analyze your campaign performance. I always advise my team to be as granular as possible without making it unmanageable.
- Link name: Give it a descriptive name (e.g., “Summer_Sale_Email_2026_ProductX”).
- Campaign: This is a high-level identifier (e.g., “Summer_Sale_2026”). This parameter is paramount for grouping data.
- Channel: Where is this link being distributed? (e.g., “Email”, “Facebook”, “GoogleAds“, “Influencer_Sarah”).
- Ad Set: If applicable, for granular ad platform tracking (e.g., “Retargeting_Audience_A”).
- Ad: The specific creative or ad variant (e.g., “Banner_V1”, “Video_Promo_A”).
- Deep Link Value (af_dp): This is the specific in-app path you want users to land on (e.g.,
myapp://product/sku12345ormyapp://category/womens-shoes). This parameter overrides the default deep link set in the template. - Custom Parameters: AppsFlyer allows you to add up to 10 custom parameters (
af_sub1toaf_sub10). I use these constantly for things like internal campaign IDs, product IDs, or A/B test variations. For example,af_sub1=promo_code_JULY. - Review the generated Click URL and QR Code.
- Click Generate Link.
Case Study: Enhancing ROAS with Granular Attribution
Last year, I worked with “FitFusion,” a mobile-first fitness app based out of a co-working space in Midtown Atlanta (near the Ponce City Market). They were struggling to identify which of their influencer campaigns were truly driving profitable user acquisition. Their existing setup only tracked “influencer” as a channel. We implemented a new OneLink strategy: for every influencer, we created a unique custom link with channel=Influencer and af_sub1=InfluencerName (e.g., af_sub1=Jessie_Fitness). The deep link for these campaigns was fitfusionapp://onboarding/free-trial. Within 3 months, we identified that three specific influencers were generating 80% of their high-LTV users, while several others had negative ROAS. By reallocating their budget based on this granular data, FitFusion saw a 25% increase in their overall campaign ROAS and a 15% reduction in their Cost Per Install (CPI) for influencer marketing. This level of insight simply isn’t possible without meticulous link parameterization.
Step 4: Monitoring and Analyzing Campaign Performance
Generating links is only half the battle. The real value comes from interpreting the data. AppsFlyer’s dashboard is powerful, but you need to know where to look.
4.1 Accessing the Overview Dashboard
- From the left-hand navigation, click Overview.
- This dashboard provides a high-level summary of your app’s performance. You can filter by date range, geographical region, and app version.
Pro Tip: Don’t just look at installs. Always look at in-app events (purchases, subscriptions, content views) and retention rates. An install without engagement is a vanity metric.
4.2 Deep Dive into Cohort Reports
Cohort reports are indispensable for understanding user behavior over time.
- In the left-hand navigation, expand Reports.
- Click on Cohort Report.
- Configure your report:
- Group by: Select your desired attribution parameter, such as Campaign, Channel, or one of your Custom Parameters (af_sub1-af_sub10). This is why those custom parameters are so vital!
- Cohort Type: Choose Install date or Event date.
- Measurement: Select what you want to measure, e.g., Retention Rate, Revenue, Number of Events.
- In-app Event: If measuring events, select the specific event (e.g.,
af_purchase,af_subscribe).
- Click Apply.
Common Mistake: Not defining meaningful in-app events in your app’s SDK integration. If AppsFlyer isn’t receiving purchase or subscription events, your ROAS calculations will be inaccurate. Work closely with your development team to ensure all critical user actions are being tracked.
Expected Outcome: A clear visualization of how different campaign sources perform over time, allowing you to identify your most valuable acquisition channels.
Step 5: Iteration and Optimization
Marketing is never a “set it and forget it” game, especially in the mobile space. The platforms change, user behavior shifts, and your competitors are always innovating.
5.1 Regularly Reviewing OneLink Performance
- Schedule weekly or bi-weekly reviews of your AppsFlyer dashboards, particularly the Cohort Report and Retention Report.
- Pay attention to any anomalies: sudden drops in conversion rates for a specific link, or unexpected spikes from a new channel.
- Cross-reference AppsFlyer data with your internal CRM or product analytics tools for a holistic view.
5.2 A/B Testing Deep Link Paths and Fallbacks
Don’t assume your initial deep link path is the best. I often run experiments where I test different landing experiences.
- Create two identical custom links, varying only the Deep Link Value (af_dp).
- Distribute these links evenly across a small segment of your audience or a specific ad set.
- Monitor conversion rates and in-app engagement for both links in AppsFlyer.
For example, you might test sending users directly to a product page versus a category page, or to a personalized welcome screen versus a general onboarding flow. Small changes here can have significant impacts on your conversion funnels.
Expected Outcome: Continuous improvement in your campaign performance, leading to higher user engagement and better return on ad spend.
Mastering AppsFlyer’s OneLink and its attribution capabilities isn’t just a technical skill; it’s a strategic imperative for marketing managers at mobile-first companies. By meticulously setting up your templates, carefully defining your custom links, and diligently analyzing the resulting data, you gain the clarity needed to make data-driven decisions that propel your app’s growth.
What is the primary difference between a OneLink template and a custom link?
A OneLink template is a foundational configuration that defines the general behavior for deep linking and app store redirection across iOS and Android. A custom link is a specific, trackable URL generated from a template, allowing you to add campaign-specific attribution parameters like campaign name, channel, and ad set, and override the default deep link for that particular campaign.
How important are custom parameters (af_sub1 to af_sub10) in AppsFlyer?
Custom parameters are extremely important. They provide an additional layer of granularity for your attribution data, allowing you to track specific elements like influencer names, product IDs, A/B test variations, or internal campaign IDs that aren’t covered by standard parameters. This granular data is essential for detailed analysis and optimization.
What is deferred deep linking and why is it essential for mobile-first marketing?
Deferred deep linking ensures that even if a user doesn’t have your app installed when they click a link, they will still be directed to the intended in-app content immediately after installing and opening the app for the first time. It’s essential because it provides a seamless user experience, reduces friction, and significantly increases conversion rates for new user acquisition campaigns by fulfilling the user’s original intent.
Can I use OneLink for web-to-app deep linking?
Yes, absolutely. OneLink is designed for comprehensive web-to-app deep linking. If a user clicks a OneLink from a mobile website, it will intelligently determine if the app is installed and, if so, open it to the specified deep link. If not, it will redirect them to the appropriate app store (or a specified fallback URL) and then perform deferred deep linking upon install.
What should I do if my deep links aren’t working correctly?
First, check your OneLink template configuration in AppsFlyer, ensuring your Universal Links, App Links, and URL Schemes are correctly entered and match your app’s setup. Next, verify your app’s developer implementation of deep linking. Finally, use AppsFlyer’s built-in OneLink Testing Tool to diagnose specific issues by simulating clicks and observing redirection behavior.