Engineering Field Note

Structuring Conversion Attribution Windows for Mobile Push Campaigns

Published: July 22, 2026 Author: Flow Vertex Core Engineering Reading Time: 9 min read
Structuring Conversion Attribution Windows for Mobile Push Campaigns

In mobile growth analytics, calculating the conversion rate of push notification campaigns is often distorted by simplistic attribution models. Many commercial marketing automation platforms credit an in-app transaction to a push notification if the purchase occurs within 24, 48, or even 72 hours of message dispatch, regardless of how the user entered the app.

This approach creates significant “attribution inflation”—crediting push alerts for organic purchases that would have occurred anyway.

Defining Distinct Interaction Modalities

A robust telemetry pipeline categorizes user responses into three distinct interaction types:

1. Direct Open Attribution

Occurs when the user directly taps the lock screen alert banner, notification center notification, or banner alert, causing the OS to launch the app via deep link parameters (UNNotificationResponse on iOS or notification Intent on Android). Direct opens have a 100% causal relationship with the notification.

2. Interactive Action Button Response

Occurs when the user interacts with custom notification action buttons (such as “Confirm Appointment”, “Quick Reply”, or “Snooze”) directly from the system tray without opening the main UI. These events must be captured via dedicated telemetry endpoints.

3. Influenced / Ambient Conversion Windows

Occurs when a user receives and views a notification banner, does not tap it immediately, but opens the application organically within a defined time horizon (e.g., 2 hours).

Calibrating Decay-Weighted Attribution

Rather than applying a binary 24-hour attribution window, mobile analytics engineers should implement a time-decay attribution model:

$$\text{Attribution Weight}(t) = e^{-\lambda \cdot (t - t_{\text{display}})}$$

Where:

  • $t_{\text{display}}$ is the verified device display timestamp emitted by the client extension.
  • $\lambda$ is a decay parameter calibrated to your app’s natural session frequency.
Attribution Decay Curve:
100% ┼───── Direct Tap
     │ \
 75% │   \  (Within 1 Hour)
     │     \
 40% │       \  (Within 6 Hours)
     │         \
 10% │           \─────── (24 Hours)
  0% └───────────────────────────────> Time (t)

Implementing Session Context Propagation

To connect downstream transactions (such as checkout completion or subscription renewal) to a prior notification display:

  1. When a notification is displayed or tapped, store the notification_id and timestamp in a secure local cache (such as UserDefaults or Encrypted SharedPreferences).
  2. Attach this metadata as originating_notification_context to all subsequent in-app analytical events generated during that session.
  3. If the user initiates a purchase within the active decay window, transmit the full attribution payload to your analytics warehouse for multi-touch modeling.

To architect and implement an attribution pipeline for your mobile application, explore our Response Attribution Pipeline Setup service or contact our engineers.

Need Telemetry Assistance for Your App?

Our Bangkok consultancy conducts full-stack push delivery and attribution audits.

Request Telemetry Scoping