Cross-promotion: installing your second app from inside your first, with context intact
A company with two apps, promoting one from inside the other. The install should carry context and attribute to the placement, not to 'organic'.
Updated Sep 3, 2026
Who runs this
- Growth marketers
- Mobile product teams
What it uses
- Deferred deep linking
- Smart routing
- Per-link source and placement tagging
- Post-install events
A company with more than one app has a free acquisition channel it usually doesn't measure: its own users. A banner in app A promoting app B costs nothing to run. But when the user installs app B and it opens on a generic welcome screen, the context of why they tapped is gone — and in app B's attribution, that install is 'organic', indistinguishable from someone who found it in the store.
What problem does this solve?
The install of app B should attribute to the placement in app A that drove it, and app B's first screen should reflect what the placement promised — often carrying something over from app A, like an account or a preference. Then cross-promotion can be measured and tuned like any other channel, instead of being a banner someone put up once.
How do you set the links up?
The link is created in app B's workspace, because app B is what's being installed. It's placed in app A with a source tag naming the placement. The payload carries whatever app B should know at first open — the user's identifier from app A, if the two share accounts, or the feature that prompted the promotion.
{
"deepLinkPath": "/welcome",
"customData": {"src": "app-a", "placement": "post-workout-card", "sharedUser": "u_18b2", "lead": "meal-plans"}
}Where should the promotion sit?
- At the moment app A's user has a need app B serves. A finance app promoting its budgeting app after a large transaction; a fitness app promoting its nutrition app after a workout. Not a banner on the home screen.
- With the handoff pre-filled. If the apps share an account, the payload should carry it so app B doesn't ask the user to sign up for a company they already have an account with.
- Measured per placement. Two placements in app A will perform very differently; you only find out which if each has its own tag.
What about the reverse direction?
Same setup, other way round. A link in app B's workspace pointing at app A, tagged with its placement. If both directions run, you have a two-app system with measured flow between them, and the portfolio starts behaving like one product instead of two that happen to share a logo.
Which metric should you watch?
App B activation rate for users who arrived from app A, versus app B's store-organic installs. Cross-promoted users should activate far better — they already trust you. If they don't, the handoff is losing the context, and the payload is the first place to look.
Related use cases
Onboarding
Onboarding that knows where you came from: the first screen matches the ad's promise
'50% off your first order' shouldn't land on a generic welcome screen where the discount has to be found.
Re-engagement ads
Paid re-engagement: retargeting ads that open the app on the thing they promised
Ads aimed at people who already have the app. The click has to open the app on the promise, or the spend is wasted at the last step.
Every one of these depends on the same two things: link context surviving an install, and an honest answer to which click produced it. The scoring model is published in full on our methodology page, and you can check any domain's association files with our free link validator.