[2026-07-09] eagle: work/projects/ios-subscription-day7-promo-pixels.md
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
|
||||
- **Project:** [iOS: Show subscription half-sheet promo to new installers who don't see it during onboarding](https://app.asana.com/1/137249556945/project/1202406491309510/task/1214798984829406)
|
||||
- **Android counterpart:** [Grow active subscriptions by increasing paywall impressions with a day 7 promo half-sheet](https://app.asana.com/1/137249556945/project/72649045549333/task/1210994036696114) — the iOS implementation follows the same approach and target audience as Android
|
||||
- **Origin request:** [Request origin for iOS subscription promo half-sheet entry point](https://app.asana.com/1/137249556945/task/1214800683792174) — origin value `funnel_modal_ios__subscriptionnudge` (Android equivalent: `funnel_modal_android__subscriptionnudge`)
|
||||
- **Origin request:** [Request origin for iOS subscription promo half-sheet entry point](https://app.asana.com/1/137249556945/task/1214800683792174) — origin value `funnel_modal_ios__subscriptionnudge` (Android equivalent: `funnel_newusermodal_android`)
|
||||
- We are adding a new half-sheet modal for existing users (7+ days since install) who have never seen any subscription offer. The modal reuses the pre-existing `SubscriptionPromoLaunchView` UI.
|
||||
- Existing subscription promo pixels already cover related audiences:
|
||||
- `m_privacy-pro_onboarding_promotion_impression/tap/dismiss` — users who see the promo during onboarding
|
||||
@@ -76,6 +76,9 @@
|
||||
|
||||
- Pixel definitions are committed to `iOS/PixelDefinitions/pixels/definitions/subscription.json5`.
|
||||
- These pixels are structurally identical to `m_privacy-pro_skipped_onboarding_promotion_*` (same parameters, same suffixes) — no new parameter types are introduced.
|
||||
- Android equivalent pixels: the Android implementation fires analogous `m_privacy-pro_skipped_onboarding_promotion_*` pixels (Android reused the existing reinstaller promo pixel names for the day-7 promo since it shipped first).
|
||||
- Android equivalent pixels: Android uses a **single shared pixel** (`AppPixelName.ONBOARDING_DAX_CTA_SHOWN`, ctaId `DAX_INTRO_PRIVACY_PRO`) for both the reinstaller promo and the day-7 promo — the two audiences are distinguished solely by the `origin` field:
|
||||
- Reinstaller/skipped onboarding: `origin = "funnel_skippedonboarding_android"`
|
||||
- Day-7 existing users: `origin = "funnel_newusermodal_android"`
|
||||
iOS takes a more granular approach with separate pixel names per audience (`m_privacy-pro_skipped_onboarding_promotion_*` vs `m_privacy-pro_existing_user_promotion_*`), which allows direct per-audience funnel analysis without filtering by origin. Source: [Android PR #8369](https://github.com/duckduckgo/Android/pull/8369), `CtaViewModel.kt`.
|
||||
- Origin `funnel_modal_ios__subscriptionnudge` needs formal approval via the [Origin Proposal form](https://form.asana.com/?k=Wy3aY17vglr2bihpUHoyBA&d=137249556945) — tracked in the origin request subtask above.
|
||||
- Privacy triage is required for the new pixels — see `ios-subscription-day7-promo-privacy-triage.md`.
|
||||
|
||||
Reference in New Issue
Block a user