Attribution for Re-Engagement Campaigns: Tracking Dormant User Reactivation

The reluctant pantry manager.
Lakshith Dinesh

Lakshith Dinesh

Reading: 1 min

Updated on: Feb 18, 2026

Every mobile app loses users. That's not the problem. The problem is that most teams treat reactivating a dormant user the same way they treat acquiring a new one, and then wonder why their numbers never add up.

Consider a consumer app spending ₹15 lakh monthly on user acquisition across Meta, Google, and TikTok. They launch a re-engagement push campaign targeting users who haven't opened the app in 30 days. A week later, 8,000 users return. The dashboard shows 8,000 "installs" because the MMP counted reinstalls alongside genuine reactivations. The acquisition team claims credit for the returning users. The CRM team claims credit for the same users. Finance sees double-counted conversions and loses trust in every number on the page.

This is the re-engagement attribution problem. Standard attribution infrastructure was built to answer one question: which ad drove this new install? It was never designed to answer the harder question: which campaign brought this churned user back, and did they actually stay?

This guide breaks down how to separate re-engagement attribution from acquisition attribution, define dormancy correctly, measure reactivation across channels, and build a framework that tells you which re-engagement efforts are worth scaling.

Why Standard Attribution Fails for Re-Engagement

Most MMPs default to acquisition-centric attribution. A user clicks an ad, installs the app, and the MMP records an attributed install with a source, campaign, and timestamp. This model assumes every tracked conversion represents a new user entering the funnel for the first time.

Re-engagement breaks this assumption in three specific ways.

First, the user already exists in your database. They have historical behaviour data, a previous acquisition source, and potentially months of in-app activity before they went dormant. Treating their return as a "new install" pollutes your acquisition metrics and inflates reported CPI.

Second, multiple channels often touch the same dormant user simultaneously. A user might receive a push notification on Monday, see a retargeting ad on Tuesday, and get an email on Wednesday before reopening the app on Thursday. Standard last-click attribution credits only the email, ignoring the push and retargeting that warmed the user up.

Third, the success metric is fundamentally different. For acquisition, success means install plus first action. For re-engagement, success means sustained return. A user who reopens the app once after a push notification and then disappears again hasn't been "reactivated" in any meaningful sense.

Without a separate attribution framework for re-engagement, you end up with blended metrics where acquisition and retention data contaminate each other, making it impossible to evaluate either accurately.

Defining "Dormant": When Does a User Become Reactivation-Eligible?

Before you can measure re-engagement, you need a precise definition of "dormant." This sounds simple but creates more confusion than almost any other attribution decision.

The wrong approach is picking an arbitrary number. "Users inactive for 30 days" feels reasonable but may be completely wrong for your vertical. A gaming app where daily sessions are the norm might classify users as dormant after 7 days. A travel booking app where users naturally return every 60-90 days might not consider anyone dormant until 120 days of inactivity.

The right approach is defining dormancy based on your app's natural usage cadence. Pull your retention data and identify the point where the probability of a user returning organically drops below 5-10%. For most consumer apps, this analysis reveals three dormancy tiers.

At-risk users have exceeded 1.5x their typical session interval. If your average active user opens the app every 3 days, at-risk starts at 4-5 days of inactivity. These users haven't churned yet but are drifting.

Dormant users have exceeded 3x their typical session interval with no activity. For the same app, that's 9-10 days. These users have likely stopped thinking about your app but haven't uninstalled.

Churned users have exceeded the point where organic return probability drops below 5%. Depending on vertical, this ranges from 14 days (gaming) to 90 days (travel, fintech). These users require active intervention to return.

Document these thresholds and configure them in your attribution platform. Every re-engagement campaign should target a specific dormancy tier, because the messaging, channel, and expected cost per reactivation differ significantly across tiers. Teams already running cohort analysis frameworks will find this dormancy segmentation maps naturally onto their existing retention curves.

Re-Engagement Channel Attribution: Measuring What Actually Works

Push Notifications (In-App Reactivation)

Push notifications are the lowest-cost re-engagement channel because you own the distribution. No media spend required. But attribution is tricky because push opens don't always register as trackable events in standard MMP flows.

The measurement challenge: most push platforms (MoEngage, CleverTap, Braze) report delivery rates, open rates, and click-through rates independently from your MMP. This creates a data silo where push-driven reactivations appear as "organic returns" in your attribution dashboard.

The fix involves tagging push notification deep links with campaign parameters that your MMP can read. When a dormant user taps a push notification and lands on a specific in-app screen via a tracked deep link, the MMP records the session as a re-engagement event attributed to that push campaign.

Sanity test: Send a push campaign to a known dormant segment. Compare the number of reactivations reported by your push platform versus your MMP. If the gap exceeds 20%, your deep link attribution on push isn't configured correctly.

Retargeting Ads (Paid Reactivation)

Retargeting dormant users through Meta, Google, and TikTok is the most common paid re-engagement tactic. Attribution here is more straightforward because ad clicks flow through standard MMP tracking links.

The critical distinction: your MMP must differentiate between a retargeting-driven reactivation and a new user acquisition. This requires configuring re-attribution windows. When a previously attributed user clicks a retargeting ad and returns to the app, the MMP should record this as a re-engagement event linked to the retargeting campaign, not as a new install.

Most MMPs support re-attribution windows ranging from 7 to 90 days. Set this window based on your dormancy definition. If your dormancy threshold is 30 days, your re-attribution window should be at least 30 days to capture the full reactivation cycle.

One pattern that surfaces repeatedly in audits: teams running retargeting campaigns without configuring re-attribution windows. The result is that returning users get counted as new installs, inflating acquisition numbers while making retention metrics look artificially strong.

Email Campaigns (Lifecycle Reactivation)

Email re-engagement campaigns (win-back sequences, promotional offers, feature update announcements) face the same attribution gap as push notifications. Most email platforms track opens and clicks internally, but the downstream in-app behaviour often disconnects from your MMP data.

The solution mirrors push attribution: use tracked deep links in every email CTA. When a dormant user clicks an email link that routes through your MMP's tracking infrastructure before landing in the app, you get clean attribution connecting the email campaign to the reactivation event.

Email attribution windows should be longer than push or retargeting. A user might open a win-back email on Monday, consider it, and return to the app organically on Friday. A 7-day click-through window for email re-engagement campaigns captures this delayed response without over-crediting.

SMS and WhatsApp (Direct Reactivation)

SMS and WhatsApp re-engagement is increasingly common in India and emerging markets. The attribution approach follows the same pattern: tracked deep links with campaign parameters.

The unique consideration for SMS and WhatsApp is that these channels often trigger app opens through in-app browsers or system-level deep links that behave differently across Android and iOS. Test your tracking links across both platforms and multiple device manufacturers before scaling. Understanding how deep linking drives conversions across these varied environments helps teams avoid the common pitfalls in SMS-to-app routing.

Attribution Windows for Re-Engagement: Why Configuration Matters

Attribution windows for re-engagement campaigns should differ from acquisition windows. Here's why.

Acquisition attribution typically uses 7-day click-through and 1-day view-through windows because the install decision happens relatively quickly. A user sees an ad, clicks, and installs within hours or days.

Re-engagement is slower. A dormant user doesn't make an instant decision to return. They might see a retargeting ad, receive a push notification, notice an email, and then return days later when they actually need the app. Short attribution windows miss this multi-touch reactivation journey.

Recommended re-engagement attribution windows by channel:

  1. Push notifications: 24-48 hour click-through window (push-driven returns are immediate)

  2. Retargeting ads: 7-14 day click-through, 1-day view-through

  3. Email campaigns: 7-14 day click-through window

  4. SMS and WhatsApp: 3-7 day click-through window

These windows should be configured separately from your acquisition windows. If your MMP doesn't support separate window configurations for re-engagement versus acquisition campaigns, that's a significant limitation worth flagging during your next platform evaluation.

Separating Acquisition from Re-Engagement: Clean Attribution Taxonomy

The most important operational decision in re-engagement attribution is maintaining clean separation between acquisition and re-engagement data. Blended metrics help nobody.

Build your event taxonomy with explicit re-engagement markers. Instead of one "app_open" event, configure two: "app_open_new" (first session from a new install) and "app_open_reactivation" (first session from a dormant user returning). Similarly, "purchase_new_user" and "purchase_reactivated_user" should be separate events flowing through separate postback configurations.

This separation enables three critical analyses. First, true acquisition cost: CPI and CAC calculated only against genuinely new users, without inflation from reactivated users. Second, true reactivation cost: cost per reactivated user calculated only against dormant users who returned. Third, incremental value: revenue generated by reactivated users that would not have occurred without the re-engagement campaign.

Teams that have already built robust event taxonomies for predicting LTV can extend their existing framework with re-engagement event variants rather than building from scratch.

Measuring Reactivation Success: Beyond Opens and Reinstalls

A user who reopens the app once is not a successful reactivation. True reactivation means the user returns to a regular usage pattern. This distinction matters enormously for budget allocation.

Define reactivation success using a multi-stage framework.

Stage 1: Return (Day 0). The user reopens the app or reinstalls after being dormant. This is the minimum bar and the number most teams report. It's necessary but insufficient.

Stage 2: Re-activation (Day 1-3). The user completes a meaningful in-app action within 72 hours of returning. For an eCommerce app, that's viewing a product. For a gaming app, completing a session. For fintech, checking a balance or making a transaction.

Stage 3: Sustained return (Day 7-14). The user returns for at least 2-3 additional sessions within the first two weeks. This is the point where you can reasonably claim the user has been reactivated rather than just briefly re-engaged.

Stage 4: Retained (Day 30+). The user's behaviour pattern resembles their pre-dormancy activity level. This is true reactivation success.

Track conversion rates between each stage by channel. You'll likely find that push notifications drive high Stage 1 numbers but lower Stage 3 conversion, while retargeting ads might produce fewer initial returns but higher sustained reactivation rates. These stage-by-stage conversion rates, not raw reactivation counts, should drive your channel mix decisions.

Cost Per Reactivation vs Cost Per Acquisition: The Efficiency Framework

Re-engagement should be cheaper than acquisition. If it's not, something is broken.

Across multiple attribution audits for consumer apps in India, we typically see these cost ratios. Reactivating a dormant user costs 20-40% of acquiring a new user of equivalent quality. Push notification reactivation costs are near zero (infrastructure costs only). Retargeting reactivation runs at 30-50% of prospecting CPI. Email reactivation costs fall between 10-25% of new user CPI when factoring in email platform costs.

But cost efficiency only matters when paired with quality. Calculate the 30-day revenue per reactivated user and compare it against 30-day revenue per newly acquired user. If reactivated users generate 60-80% of the revenue at 30% of the cost, re-engagement is your highest-ROAS channel.

If reactivated users generate less than 40% of new-user revenue, your dormancy definitions might be too aggressive (targeting users who were never valuable) or your re-engagement creative isn't positioning the right value proposition.

Build a simple comparison table updated weekly:

  1. New user CPI versus cost per reactivation by channel

  2. D7 and D30 retention for new users versus reactivated users

  3. D7 and D30 ROAS for acquisition versus re-engagement campaigns

  4. Payback period for acquisition versus re-engagement spend

This comparison should inform budget allocation between prospecting and re-engagement every month. For a broader framework on reducing CAC while maintaining quality, re-engagement budget optimisation is one of the highest-impact levers available.

Churn Prevention Attribution: Identifying At-Risk Users Before They Leave

The most cost-effective re-engagement is the one you never have to run. Churn prevention attribution identifies users who are drifting toward dormancy and intervenes before they leave.

Build churn prediction signals from your attribution data. Common leading indicators include session frequency dropping below 50% of the user's personal average over 7 days, days since last core action exceeding 2x the user's typical interval, and engagement depth declining (fewer screens viewed, shorter session duration).

When these signals trigger, automated campaigns (push, in-app messages, email) should activate immediately. Attribution for these preventive campaigns tracks whether the at-risk user maintained their activity pattern or continued declining.

The measurement framework for prevention differs from reactivation. Success isn't "user returned" (they haven't left yet). Success is "user maintained or increased activity level relative to their declining trend." This requires comparing the user's post-intervention behaviour against their projected trajectory without intervention.

Prevention attribution is harder to measure cleanly because you're proving a counterfactual (what would have happened without intervention). The practical approach is A/B testing: hold back 10-15% of at-risk users as a control group and compare their churn rate against the group that received intervention campaigns.

FAQ: Common Re-Engagement Attribution Questions Answered

Should reinstalls count as re-engagement or new acquisition?

If the user previously existed in your database and reinstalls after a dormancy period, this is re-engagement. Your MMP should match the device or user ID to the historical record and classify accordingly. Only genuinely new device IDs with no historical match should count as new acquisitions.

How do you handle users who receive both acquisition and re-engagement campaigns?

Prioritise re-engagement attribution for any user who has an existing historical record. A known dormant user who happens to see a prospecting ad should be attributed to re-engagement, not acquisition. This prevents inflation of acquisition metrics.

What's the right budget split between acquisition and re-engagement?

There's no universal answer, but a useful starting framework is 70-80% acquisition and 20-30% re-engagement for growing apps. As your user base matures and the dormant pool grows, re-engagement budget share should increase. When your dormant user pool exceeds 3-4x your monthly active users, you likely have a re-engagement opportunity that's being underinvested.

How do you measure the incremental impact of re-engagement campaigns?

Use holdout groups. For every re-engagement campaign, exclude 10-15% of the target audience as a control group. Compare reactivation rates between the exposed group and the control group. The difference is your incremental lift.

Can you run re-engagement attribution on iOS with SKAN limitations?

SKAN is designed for acquisition attribution and doesn't natively support re-engagement measurement. For iOS re-engagement, rely on owned channels (push, email, SMS) where you control the tracking infrastructure, and use retargeting platforms' own reporting as a directional signal rather than expecting MMP-level precision.

Making Re-Engagement Attribution Operational

Re-engagement attribution isn't a one-time setup. It's an ongoing operational discipline that requires weekly review of dormancy thresholds as your product evolves, monthly calibration of re-attribution windows based on observed reactivation patterns, quarterly comparison of re-engagement channel efficiency, and continuous validation that acquisition and re-engagement data remain cleanly separated.

The teams that get this right unlock a significant budget efficiency advantage. When you can prove that reactivating dormant users costs 30% of new acquisition at 70% of the revenue, every CFO will approve increased re-engagement investment.

For teams looking to operationalise re-engagement attribution without building custom data pipelines, platforms like Linkrunner support re-attribution windows, event-level separation between acquisition and reactivation, and unified dashboards that keep both streams visible without blending them. The combination of tracked deep links across all re-engagement channels and usage-based pricing at ₹0.80 per attributed install means re-engagement measurement doesn't require separate tooling budgets.

Start with the implementation playbook above, validate on two channels, and expand from there. The dormant users sitting in your database represent the cheapest growth lever most teams aren't measuring properly.

Empowering marketing teams to make better data driven decisions to accelerate app growth!

For support, email us at

Address: HustleHub Tech Park, sector 2, HSR Layout,
Bangalore, Karnataka 560102, India

Empowering marketing teams to make better data driven decisions to accelerate app growth!

For support, email us at

Address: HustleHub Tech Park, sector 2, HSR Layout,
Bangalore, Karnataka 560102, India