EmCube
Home/Case Studies/Wedding Planning App · SKAN 4.0 Audit & Rebuild
CASE STUDY

How Bridebook discovered their campaigns were performing 41% better than the reports showed

SKAN was so broken it was making working campaigns look like failures, and nobody could tell without a full account audit.

41%
Improvement in cost per conversions
$100K+/mo
Paid spend impacted
1 week
to attain this results
ENGAGEMENT:Wedding Planning AppAppsFlyerSKAN 4.0ATTPaid Channels
THE SITUATION

Bridebook was running a $100K+/month paid acquisition program, and asked for a full account audit.

Holly Wright, Performance Marketing Manager at Bridebook, came to us with a straightforward request: audit the account. Nothing had triggered an alarm. No single metric had crashed, no obvious outage. But with paid spend across channels running well over $100K a month, she wanted a second set of eyes on the full measurement stack before scaling further.

What the audit found wasn't one bug. It was a stack where nearly every layer, SKAN, consent tracking, revenue mapping, funnel visibility, was quietly producing numbers that looked coherent enough to never get questioned.

WHAT THEY CAME WITH
AppsFlyer live across the account, but with SKAN essentially non-functional
A 100% ATT consent rate that had never been investigated
No revenue tracking and no visibility into deep-funnel user behavior
THE GOAL

Find out what was actually happening underneath a measurement stack that looked fine on the surface, before scaling spend any further.

WHAT WE FOUND

Five gaps. Each one distorting the picture in a different direction.

Nothing here threw an error. Every dashboard rendered a number. The numbers just weren't telling the truth.

FINDING 01
SKAN 4.0 COMPLETELY NON-FUNCTIONAL

SKAN wasn't misconfigured in a minor way. It wasn't functioning at all. Every key iOS conversion event showed no data, across every ad channel, campaign after campaign.

IMPACT: iOS campaign optimization was running with no real conversion signal feeding any platform
FINDING 02
A 100% ATT CONSENT RATE THAT WAS HIDING THE REAL PROBLEM

The dashboard showed 100% of iOS users accepting tracking consent. Far above any realistic benchmark. The actual cause: the SDK was only initializing after a user consented, so anyone who declined was never counted in the first place.

IMPACT: The real consent rate, and every non-consenting user's activity, was invisible
FINDING 03
VIEW-THROUGH, RE-ENGAGEMENT, AND REINSTALL ATTRIBUTION ALL DISABLED

Three attribution types were switched off across every platform, in a category where users reinstall and re-engage constantly around wedding planning timelines.

IMPACT: A meaningful share of real user activity was never being attributed to any channel at all
FINDING 04
REVENUE NOT TRACKED, KEY EVENTS NOT MAPPED

Revenue wasn't flowing back to any ad channel, and several other events that mattered to the business weren't mapped to partners at all.

IMPACT: No channel could be evaluated on what it actually returned, only on what it cost
FINDING 05
DEEP-FUNNEL EVENTS NEVER REACHED THE AD PLATFORMS

Early funnel events were tracked, but the deep-funnel signals, the ones that actually correlate with high LTV and long-term retention, never made it to any ad platform's optimization engine.

IMPACT: Campaigns could only optimize for shallow engagement, never for the users actually worth acquiring
SCREENSHOTBefore · SKAN 4.0 event tracking
hq.appsflyer.com · SKAN reporting
CHANNEL DETAIL CROPPED
Before · SKAN 4.0 event tracking
Fig. 1, Every key iOS event, tutorial completion, add to cart, purchase, all key events showed no data across every ad channel.
SCREENSHOTBefore · In-app event postback mapping
hq.appsflyer.com · Partner event postbacks
Before · In-app event postback mapping
Fig. 2. Only three events mapped to the ad partner.
HOW WE FIXED IT

Five fixes. The measurement layer rebuilt, before spend scaled any further.

Nothing here was a patch on top of what existed. Each fix addressed the specific gap the audit found. SKAN, consent, attribution settings, revenue, funnel depth.

01
SKAN 4.0 SCHEMA REBUILD
Fine and coarse conversion values configured across every measurement window.

Rebuilt the SKAN 4.0 setup from the ground up. Fine and coarse conversion values mapped across all three measurement windows, so iOS actions could finally be attributed back to the campaigns that drove them.

02
SDK INITIALIZATION FIX
AppsFlyer now initializes for every user, not just the ones who consent.

Worked with the dev team to fix the SDK initialization sequence, so every user is counted from install regardless of their ATT decision. The real consent rate could finally surface.

03
RE-ENGAGEMENT, VIEW-THROUGH, AND REINSTALL ATTRIBUTION ENABLED
All three attribution types turned on, with recommended lookback windows.

Enabled view-through, re-engagement, and reinstall attribution across every platform, with lookback windows configured to AppsFlyer's recommended settings for a category with frequent reinstall and return behavior.

04
REVENUE AND EVENT MAPPING REBUILT
Revenue flowing to every ad partner. Every key event mapped.

Rebuilt the event postback configuration so purchase and revenue events pass through correctly to every partner, alongside the other business-critical events that weren't mapped at all before.

05
DEEP-FUNNEL EVENTS CONNECTED TO AD PLATFORMS
High-LTV signals now reaching the algorithms that need them.

Connected deep-funnel events, the ones correlated with retention and long-term value, to every ad platform, so campaigns could finally optimize toward the users actually worth acquiring, not just the ones who engaged shallowly.

SCREENSHOTAfter · SKAN 4.0 event tracking, fully configured
hq.appsflyer.com · SKAN reporting
CHANNEL DETAIL CROPPED
After · SKAN 4.0 event tracking, fully configured
Fig. 4. Real event counts and revenue now flowing for every key event, across every ad channel.
SCREENSHOTAfter · Full event postback mapping, revenue included
hq.appsflyer.com · Partner event postbacks
After · Full event postback mapping, revenue included
Fig. 5. Nine events mapped end to end, with purchase revenue now flowing back to the ad partner.
THE OUTCOME

What changed, once the real numbers surfaced.

Every figure below reflects the same spend, the same campaigns, and the same period. Measured correctly instead of incorrectly.

BEFORE
SKAN event data
None
ATT consent rate
100%
Re-engagement / reinstall attribution
Disabled
Revenue tracking
Not tracked
AFTER
SKAN event data
Livekey events flowing
ATT consent rate
26%the real number
Re-engagement / reinstall attribution
Liveall platforms
Revenue tracking
Flowingto every partner
COST PER CONVERSION, REDUCED
41%
same spend, same campaigns, same period. Just measured correctly
COST PER INSTALL, REDUCED
22%
once impressions and clicks were actually being tracked
ATT CONSENT RATE, CORRECTED
100% → 26%
the real number, once the broken SDK logic was fixed
THE REAL IMPACT

Bridebook wasn't running bad campaigns. Bridebook was running campaigns that a broken measurement stack was making look worse than they actually were. On a $100K+/month program, that's not a rounding error that's a decision risk.

41%
the gap between what the dashboard showed and what the campaigns actually returned
Muffaddal is one of the most knowledgeable people I have worked with in marketing tracking and attribution. He took the time to walk me through SKAN configuration in a way that was genuinely clear and useful. Exactly the kind of expertise that's rare to find. I'll absolutely be working with him again.
Holly Wright
Holly Wright
Performance Marketing Manager
Bridebook
NUMBERS LOOK FINE BUT SOMETHING FEELS OFF?

The most expensive attribution problems are the ones that never throw an error.

No commitment. Just a full read on whether your measurement stack is telling you the truth. Because the numbers that look fine are usually the ones worth checking first.

See What's Really Happening