Hey Vladislav!
If I've understood correctly, you have exposure mid-funnel but you want the effect expressed on your full top-of-funnel sample, since that's how your global retention metric is defined?
Quick clarifier first: how much time typically passes between first app launch and completing onboarding? If it's minutes or within a day, the rest of this is mostly a measurement-window nuance. If it's days or weeks, the distinction really matters.
Two practical options:
1. Move exposure to first app launch. Every new user enters the experiment at launch, regardless of whether they reach the onboarding step where the treatment shows up. This goes against general guidance (usually we recommend assigning at the point of divergence), but in your case the math largely works out: users who don't complete onboarding contribute zeros in both arms, so they dilute the effect but also reduce variance, and the two roughly cancel. Rough directional guidance on the power cost: for baseline retention rates below ~50%, the loss is marginal; above that it can get substantive. Happy to go deeper on the math if useful. With this setup, you'd just read the aggregate result directly: measured from app launch, on your global sample. That's your global-impact number.
2. Keep assignment at onboarding completion and scale manually. You already described this one: take the measured effect and multiply by (users who complete onboarding) / (top-of-funnel users) over the same window. Safe fallback if option 1 isn't practical to implement.
Bonus if you go with option 1: Set an activation metric of "completed onboarding" on the experiment, and then in the results view, add the activation dimension. You'll see results split between "Activated" (effect among onboarding completers) and "Not Activated" (effect among non-completers, should be ~0, which is a nice sanity check that the treatment genuinely only fires post-onboarding). Both slices are measured from first app launch, preserving your global measurement window.
Note on a subtle feature difference, in case it comes up: GrowthBook's activation metric has two modes.
• As a filter (no dimension added): drops non-activated users and measures metrics from the activation timestamp (onboarding completion). This changes your measurement time window, so probably not what you want here.
• As a dimension (what I described above): keeps all users, splits them in the results, and measures everyone from exposure (first app launch). Preserves your measurement window.
For your use case, I believe the dimension approach is the right one. What do you think?