diff --git a/work/projects/ios-subscription-day7-promo-pixels.md b/work/projects/ios-subscription-day7-promo-pixels.md index 638c59d8..92549394 100644 --- a/work/projects/ios-subscription-day7-promo-pixels.md +++ b/work/projects/ios-subscription-day7-promo-pixels.md @@ -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`.