Best 5 SKAN 4.0 Configuration Strategies for Different App Types


Lakshith Dinesh
Updated on: Jan 30, 2026
Your growth lead just told you that iOS attribution stopped working properly three weeks ago. Campaign-level data disappeared. Meta's iOS ROAS dropped 40% overnight, but your MMP shows roughly the same performance. When you ask what changed, someone mentions "Apple updated something called SKAN."
You're not alone. After iOS 14.5 killed IDFA-based attribution in 2021, Apple introduced SKAdNetwork (SKAN) as the privacy-compliant alternative. SKAN 4.0, released in 2023, added new capabilities but also new complexity. Most marketers set it up once using default configurations and never revisit it.
The problem: default configurations were built for generic app installs, not your specific business model. An eCommerce app optimising for purchase value needs a completely different SKAN configuration than a subscription app optimising for trial conversions or a gaming app optimising for level progression and in-app purchases.
This guide provides five vertical-specific SKAN 4.0 configuration strategies with practical conversion value mapping examples. Implement the right configuration for your app type, and you'll get usable iOS attribution data within 7 days instead of generic install counts.
SKAN 4.0 Complexity: Why One-Size-Fits-All Configs Fail
SKAN 4.0 provides 64 possible conversion values (0-63) to encode user behaviour during an attribution window. These values get sent back to ad networks through postbacks, helping algorithms optimise toward quality users.
The challenge: you need to encode multiple dimensions of user quality into a single number.
What most apps try to encode:
Revenue amount (for eCommerce and in-app purchases)
Subscription tier (for subscription apps)
Level progression (for games)
Activation milestones (account creation, KYC completion, first transaction)
Engagement depth (session count, feature usage)
Time-to-conversion (how quickly users complete valuable actions)
The constraint: You only get 64 values, and you need to decide which signals matter most for your business model.
Default SKAN configurations typically encode a single metric (often revenue or a basic milestone). This works for simple apps with one primary conversion event, but it breaks for apps with multiple monetisation paths or complex user journeys.
Across SKAN audits for apps spending ₹5-20 lakh monthly on iOS campaigns, we consistently see 40-60% of teams using default configurations that don't match their actual optimisation goals. The result: ad networks receive weak quality signals and optimise toward install volume instead of valuable users.
Understanding Coarse vs Fine Conversion Values
SKAN 4.0 introduced two types of conversion values:
Fine Conversion Values
Fine conversion values provide 64 possible values (0-63) with detailed user behaviour encoding. You receive fine conversion values when:
The campaign generated enough conversions to preserve user privacy (Apple's crowd anonymity threshold)
The source app (where ad was shown) has sufficient active users
Fine values let you encode detailed quality signals like specific purchase amounts, subscription tiers, or level progression paths.
Example fine value mapping for eCommerce:
Values 0-9: No purchase
Values 10-29: Purchase ₹100-₹999
Values 30-49: Purchase ₹1000-₹4999
Values 50-63: Purchase ₹5000+
Coarse Conversion Values
Coarse conversion values provide only 3 possible values: low, medium, high. You receive coarse values when:
Campaign volume is too small for crowd anonymity
The source app has limited active users
Apple's privacy thresholds weren't met
Coarse values force you to group users into broad quality buckets.
Example coarse value mapping:
Low: No purchase or engagement
Medium: Completed profile, browsing behaviour
High: Made purchase or started subscription
Configuration Strategy
Configure both fine and coarse mappings. Small campaigns and niche placements will return coarse values, while scaled campaigns on major apps return fine values. Without proper coarse mapping, you'll receive "null" values that provide zero optimisation signal.
Strategy #1: E-Commerce Focus (Purchase Value Brackets)
Business Context
E-commerce apps monetise through product purchases with varying order values. You need to distinguish users who make large purchases from users who make small purchases or browse without buying.
Conversion Value Allocation
Fine Value Mapping (64 values):
Values 0-4 (No purchase):
0: Installed, never opened app
1: Opened app, no product viewed
2: Viewed 1-5 products
3: Viewed 6-20 products
4: Added to cart, no purchase
Values 5-63 (Purchase brackets):
5-14: ₹1-₹499
15-24: ₹500-₹999
25-34: ₹1000-₹1999
35-44: ₹2000-₹3999
45-54: ₹4000-₹7999
55-63: ₹8000+
Within each bracket, use sub-values to encode timing:
First value in bracket: Purchase within 6 hours
Middle values: Purchase within 24 hours
Last value in bracket: Purchase within 72 hours
Coarse Value Mapping:
Low: No purchase, minimal browsing
Medium: Added to cart or viewed 10+ products
High: Made any purchase
Why This Configuration Works
This setup helps Meta and Google identify:
High-value purchasers (values 55-63) for bid optimisation
Fast purchasers (early values in each bracket) for urgency-driven creative
Browse-but-don't-buy users (values 2-4) for retargeting exclusion
Without purchase brackets, a ₹100 purchase and a ₹5000 purchase look identical to ad algorithms.
Implementation Example
Strategy #2: Gaming Focus (Level Progression + IAP Signals)
Business Context
Mobile games monetise through in-app purchases and ads, but player retention depends on progression through levels. You need to identify players who progress quickly (high engagement) and convert to payers (high revenue).
Conversion Value Allocation
Fine Value Mapping (64 values):
Values 0-9 (Tutorial and early game):
0: Installed, tutorial not started
1: Tutorial started, not completed
2: Tutorial completed
3: Level 1 completed
4: Level 2 completed
5: Level 3 completed
6-9: Levels 4-7 completed
Values 10-29 (Mid-game progression, no IAP):
10-19: Levels 8-17 (1 value per level)
20-29: Levels 18-27
Values 30-63 (IAP conversion):
30-39: Made first IAP ₹50-₹199
40-49: Made first IAP ₹200-₹499
50-59: Made first IAP ₹500-₹999
60-63: Made first IAP ₹1000+
Within IAP brackets, use sub-values to encode level at first purchase:
First values: Purchased before level 5 (whales)
Middle values: Purchased levels 5-10
Last values: Purchased after level 10
Coarse Value Mapping:
Low: Tutorial not completed or churned before level 3
Medium: Reached level 5+, no purchase
High: Made any in-app purchase
Why This Configuration Works
This setup helps ad networks:
Find engaged players who progress quickly through levels
Identify early spenders (whales who buy before level 5)
Distinguish hardcore players (level 20+) from casual players
Optimise toward players who both progress AND monetise
Attribution Window Recommendation
Use a 3-day attribution window for gaming. Most players who will monetise make their first IAP within 72 hours. Extending to 7 days adds minimal incremental conversions while delaying postback receipt.
Strategy #3: Subscription Focus (Trial Start + Conversion Events)
Business Context
Subscription apps (fitness, productivity, entertainment, education) monetise through recurring subscriptions, often starting with free trials. You need to distinguish users who start trials from users who convert to paying subscribers.
Conversion Value Allocation
Fine Value Mapping (64 values):
Values 0-9 (Pre-trial engagement):
0: Installed, never opened
1: Opened app, no account created
2: Account created, no content viewed
3: Viewed 1-3 pieces of content
4: Viewed 4-10 pieces of content
5-9: Active 2-6 days without trial
Values 10-29 (Trial started, not converted):
10: Trial started, 0 days of usage
11-17: Trial active, used 1-7 days
18-24: Trial ended, no conversion
25-29: Trial cancelled mid-period
Values 30-63 (Paid conversion):
30-39: Monthly subscription started
40-49: Quarterly subscription started
50-63: Annual subscription started
Within paid conversion brackets, encode trial usage intensity:
First values: Converted after 1-2 trial days (high intent)
Middle values: Converted mid-trial (3-5 days)
Last values: Converted on last trial day (price-sensitive)
Coarse Value Mapping:
Low: No trial started, minimal engagement
Medium: Trial started, not converted
High: Converted to paid subscription
Why This Configuration Works
This setup reveals:
High-intent users who convert early in trials (target similar audiences)
Trial abandonment patterns (users who start trials but don't engage)
Subscription tier preferences (monthly vs annual converters)
Free tier quality (users who engage without trials indicate product-market fit)
Without trial versus paid distinction, ad networks optimise toward free trial starts instead of paying subscribers, inflating CAC.
Implementation Consideration
Subscription apps should use 7-day attribution windows minimum, extending to 14 days for annual subscription optimisation. Many users explore the trial period before converting on days 5-7.
Strategy #4: Fintech Focus (Account Activation + Transaction Milestones)
Business Context
Fintech apps monetise through transaction fees, lending interest, or subscription plans. Activation requires KYC completion and regulatory compliance. You need to identify users who complete KYC and make meaningful transactions, not just curious browsers.
Conversion Value Allocation
Fine Value Mapping (64 values):
Values 0-9 (Pre-KYC exploration):
0: Installed, never opened
1: Opened app, no account started
2: Started account creation, not completed
3: Account created, KYC not started
4: KYC started, documents not uploaded
5-9: KYC in review (waiting for verification)
Values 10-29 (KYC complete, transaction stages):
10: KYC approved, no funding
11: Added payment method
12: Funded account ₹1-₹999
13-17: Funded account ₹1000-₹9999 (5 brackets)
18-24: Funded account ₹10,000+
25-29: Account linked, no transaction
Values 30-63 (Transaction completion):
30-39: First transaction ₹1-₹999
40-49: First transaction ₹1000-₹4999
50-59: First transaction ₹5000-₹19,999
60-63: First transaction ₹20,000+
Within transaction brackets, encode speed:
Early values: Transaction within 24 hours of KYC approval (high intent)
Middle values: Transaction within 3 days
Late values: Transaction within 7 days
Coarse Value Mapping:
Low: KYC not completed
Medium: KYC complete, account funded, no transaction
High: Completed first transaction
Why This Configuration Works
Fintech user acquisition is expensive (₹800-₹3000 per install typical). This configuration helps networks:
Avoid KYC drop-off users (35-50% of installs fail KYC)
Find fast transactors (users who transact within 24 hours have 4-6× higher LTV)
Identify high-value users (transaction size predicts repeat usage)
Distinguish browsers from doers (many users explore without funding accounts)
Without KYC and transaction encoding, a user who installs and browses looks identical to a user who installs, completes KYC, funds their account, and makes transactions.
Compliance Note
Ensure your SKAN implementation doesn't leak personally identifiable information (PII) through conversion value timing or amounts. Use bracketed ranges, not exact transaction values.
Strategy #5: Lead Gen Focus (Form Completion + Quality Signals)
Business Context
Lead generation apps (real estate, insurance, loans, automotive, B2B services) monetise by collecting qualified leads for follow-up. Not all leads are equal. A submitted form with fake contact info or unrealistic requirements has zero value.
Conversion Value Allocation
Fine Value Mapping (64 values):
Values 0-9 (Pre-lead engagement):
0: Installed, never opened
1: Opened app, browsed homepage
2: Viewed 1-3 listings/options
3: Viewed 4-10 listings/options
4: Used search or filters
5: Saved/bookmarked items
6-9: Engaged 2-5+ sessions, no form
Values 10-29 (Form engagement, not submitted):
10: Opened lead form, not started
11: Started form, < 25% complete
12: Form 25-50% complete
13: Form 50-75% complete
14: Form 75-99% complete
15-19: Form completed but validation failed
20-29: Form abandonment at different steps
Values 30-63 (Form submitted + quality signals):
30-39: Form submitted, minimal engagement (1 session)
40-49: Form submitted, moderate engagement (2-3 sessions)
50-63: Form submitted, high engagement (4+ sessions, multiple searches, bookmarks)
Within submission brackets, encode verification signals:
Early values: Email verified, phone verified
Middle values: Email verified only
Late values: No verification completed
Coarse Value Mapping:
Low: No form started or high abandonment
Medium: Form started, significant progress, not submitted
High: Form submitted with verification
Why This Configuration Works
Lead gen economics depend on lead quality, not lead volume. This configuration helps identify:
High-intent leads (multiple sessions before submitting = serious buyers)
Form friction points (where users abandon during completion)
Verification completion (verified leads convert 3-5× better than unverified)
Low-quality clicks (users who submit forms in single session with no prior engagement often provide fake info)
Without quality encoding, a user who rage-submits a form with fake data to get rid of your app looks identical to a serious buyer who researched for 3 days before submitting.
Implementation Tip
For lead gen apps, consider using 7-day attribution windows. Serious buyers often research over multiple days before submitting contact forms.
Conversion Value Budget: How to Prioritise 64 Possible Values
You have 64 conversion values but more than 64 possible user behaviours. How do you decide what to encode?
Prioritisation Framework
Priority 1: Revenue Events (Values 40-63, 24 values)
If your app monetises through purchases, subscriptions, or transactions, dedicate 35-40% of your conversion value range to revenue brackets.
Why: Revenue amount is the strongest predictor of user value. Ad networks need granular revenue signals to optimise bids.
Priority 2: Activation Milestones (Values 10-39, 30 values)
Dedicate 45-50% of your range to key activation checkpoints that predict monetisation:
Account completion
Verification steps (KYC, email confirmation)
First core action (first transaction, first match, first level completed)
Engagement depth (sessions, feature usage, content consumption)
Why: Not all users monetise immediately. Encoding activation helps networks find users likely to monetise later.
Priority 3: Pre-Activation Behaviour (Values 0-9, 10 values)
Use 15-20% of your range for early-funnel behaviour:
App opened vs not opened
Onboarding started vs completed
Initial browsing vs bouncing
Why: This helps networks identify campaigns that drive users who never engage versus users who complete onboarding.
Common Mistakes
Mistake #1: Encoding too many dimensions
Trying to encode level progression AND purchase amount AND session count into 64 values creates overlapping ranges that confuse ad algorithms.
Fix: Pick 2-3 primary dimensions maximum.
Mistake #2: Uneven value distribution
Using values 0-50 for "no purchase" and values 51-63 for all purchase brackets doesn't give algorithms enough purchase granularity.
Fix: Dedicate roughly 35-40% of values to your primary revenue or activation events.
Mistake #3: Ignoring coarse values
Configuring only fine values means small campaigns return null postbacks.
Fix: Always configure coarse mappings.
Testing Your Configuration: Validation Workflow
Before scaling iOS campaigns with your new SKAN configuration, validate it works correctly:
Step 1: Implement Configuration (1-2 days)
Update your app's SKAN conversion value mapping logic with your chosen strategy. Test locally to confirm:
Values are set correctly based on user actions
Value updates happen at the right triggers
Coarse value mappings align with fine value mappings
Step 2: Run Test Campaigns (3-5 days)
Launch small test campaigns (₹5,000-₹10,000 budget) on Meta or Google targeting your existing high-performing audiences. Let them run for 3-5 days to accumulate postbacks.
Step 3: Check Postback Receipt (Day 5-7)
In your MMP dashboard, verify you're receiving:
Postback volume: Are postbacks arriving for your test campaigns?
Value distribution: Are you seeing a range of conversion values (0-63), not just a single value?
Coarse vs fine ratio: What percentage of postbacks are coarse vs fine?
Step 4: Validate Value Accuracy (Day 7-10)
Compare SKAN conversion values to your app's actual event data:
Example validation:
SKAN shows 150 postbacks with values 30-39 (monthly subscription bracket)
Your app's analytics show 148 monthly subscription starts in the same cohort
Match rate: 98.7% (expected, some postbacks delayed)
If you see major discrepancies (SKAN reports 50 subscriptions, analytics shows 200), your conversion value logic has bugs.
Step 5: Monitor for 14 Days
SKAN postbacks can arrive delayed (0-3 days after conversion). Monitor for 2 weeks to confirm:
Postback delivery is consistent
Values map to expected user behaviours
Ad networks are receiving and processing the data
Only after successful validation should you scale iOS campaign budgets.
Common SKAN Setup Mistakes That Break Attribution
Mistake #1: Not Updating Conversion Values on User Actions
SKAN conversion values must be updated as users progress through your app. If you set the value once at install and never update it, you'll only encode install data, not user behaviour.
Fix: Call SKAdNetwork.updatePostbackConversionValue() every time a user completes a meaningful action (purchase, level complete, subscription start, etc.).
Mistake #2: Setting Conversion Values Too Late
SKAN attribution windows start at ad click or view, not at install. If users complete valuable actions after your attribution window closes, those actions won't be encoded.
Fix: Use 3-day windows for fast-conversion apps (gaming, casual apps) and 7-day windows for considered-purchase apps (fintech, subscriptions). Don't use 1-day windows unless your users convert within hours.
Mistake #3: Ignoring Privacy Thresholds
SKAN only returns postbacks when Apple's crowd anonymity thresholds are met. Campaigns with < 10-20 conversions may never receive postbacks.
Fix: Don't over-segment campaigns. Consolidate small campaigns into larger ones to ensure sufficient conversion volume for postback delivery.
Mistake #4: Using Exact Revenue Values
Encoding exact purchase amounts (₹287, ₹513, ₹842) makes it easier to identify individual users, which Apple blocks to preserve privacy.
Fix: Use bracketed ranges (₹200-₹499, ₹500-₹999) instead of exact amounts.
Mistake #5: Not Configuring Postbacks to Ad Networks
Your MMP receives SKAN postbacks, but Meta and Google need you to forward them via their postback endpoints. Without this, ad networks optimise blindly.
Fix: In your MMP, configure SKAN postback forwarding to Meta, Google, TikTok, and other networks you use for iOS campaigns.
Implementation Timeline: What to Expect
Week 1: Planning and Configuration
Choose appropriate conversion value strategy for your app type
Map business events to conversion values
Document conversion value mappings
Update app code with SKAN logic
Configure coarse value mappings
Week 2: Testing and Validation
Deploy updated app to TestFlight or staged rollout
Run small test campaigns (₹5-10K budget)
Monitor postback receipt in MMP dashboard
Validate conversion values match expected user behaviours
Identify and fix bugs in value assignment logic
Week 3-4: Scaling and Optimization
Deploy to full user base after validation
Gradually scale iOS campaign budgets
Compare SKAN data to baseline metrics
Adjust conversion value mappings based on learnings
Configure ad network optimisation toward high-value SKAN signals
Ongoing: Monitoring and Refinement
Review value distribution monthly
Adjust mappings as product evolves
Monitor for postback delivery issues
Keep configurations aligned with business goals
How Linkrunner Simplifies SKAN 4.0 Configuration
Platforms like Linkrunner provide built-in SKAN 4.0 configuration tools that simplify vertical-specific setup. Rather than coding conversion value logic manually for iOS, Android, and web separately, Linkrunner provides:
Pre-built configuration templates for eCommerce, gaming, subscription, fintech, and lead gen apps
Visual conversion value mapping showing which values encode which behaviours
Automated coarse/fine value alignment ensuring privacy fallbacks work correctly
SKAN postback validation dashboards showing postback volume, value distribution, and delivery timing
Cross-platform attribution unification combining SKAN (iOS) with standard attribution (Android) into unified campaign reports
Ad network postback configuration automatically forwarding SKAN data to Meta, Google, TikTok, and other platforms
Starting at ₹0.80 per attributed install, mobile apps can implement production-grade SKAN configuration without the ₹2-8 lakh monthly costs typical of legacy MMPs.
Key Takeaways
SKAN 4.0 attribution requires vertical-specific configurations:
E-Commerce Apps: Encode purchase value brackets (0-₹499, ₹500-₹999, ₹1000+) with timing signals
Gaming Apps: Encode level progression + IAP tiers, identifying both engaged players and early spenders
Subscription Apps: Encode trial starts separately from paid conversions, with subscription tier differentiation
Fintech Apps: Encode KYC completion + transaction milestones, separating browsers from transactors
Lead Gen Apps: Encode form completion + quality signals (engagement depth, verification status)
Dedicate 35-40% of your 64 conversion values to primary revenue events, 45-50% to activation milestones, and 15-20% to pre-activation behaviour.
Validate your configuration with small test campaigns before scaling iOS spend. Monitor postback receipt, value distribution, and data accuracy for 14 days before trusting SKAN data for optimization decisions.
For help implementing vertical-specific SKAN configurations quickly, request a demo from Linkrunner to see how built-in configuration templates and validation dashboards can get iOS attribution running properly in one week instead of months of custom development.




