[2026-07-09] eagle: work/projects/ios-subscription-day7-promo-pixels.md
This commit is contained in:
@@ -37,7 +37,7 @@ Android pixel definition / privacy triage tasks cover Phase 1 paywall instrument
|
||||
|
||||
## Option A — Recommended: Reuse existing pixels (mirrors Android approach)
|
||||
|
||||
Reuse `m_privacy-pro_skipped_onboarding_promotion_impression/tap/dismiss` for the day-7 audience. Audience attribution relies on the origin URL parameter (`funnel_modal_ios__subscriptionnudge`) flowing to downstream purchase pixels — identical to Android's approach.
|
||||
Reuse `m_privacy-pro_skipped_onboarding_promotion_[impression|tap|dismiss]` for the day-7 audience. Audience attribution relies on the origin URL parameter (`funnel_modal_ios__subscriptionnudge`) flowing to downstream purchase pixels — identical to Android's approach.
|
||||
|
||||
**No new pixels required. No privacy triage required for new pixels.**
|
||||
|
||||
@@ -47,7 +47,7 @@ Reuse `m_privacy-pro_skipped_onboarding_promotion_impression/tap/dismiss` for th
|
||||
| `m_privacy-pro_skipped_onboarding_promotion_tap` | User taps CTA |
|
||||
| `m_privacy-pro_skipped_onboarding_promotion_dismiss` | User dismisses without tapping CTA |
|
||||
|
||||
**Trade-off:** Cross-audience analysis (reinstallers vs day-7 users) is not directly available from pixels alone; it requires joining on origin via downstream `m_privacy-pro_offer_screen_impression` / `m_subscribe` pixels.
|
||||
**Trade-off:** Cross-audience analysis (reinstallers vs day-7 existing users) is not directly available from pixels alone; it requires joining on origin via downstream `m_privacy-pro_offer_screen_impression` / `m_subscribe` pixels.
|
||||
|
||||
---
|
||||
|
||||
@@ -72,7 +72,6 @@ Define three new pixels exclusively for the day-7 audience. Provides direct per-
|
||||
|
||||
- **Trigger:** The day-7 promo half-sheet is shown to an existing user (7+ days since install) who has never seen any subscription offer.
|
||||
- **Frequency:** Once per install (guarded by `daxDialogsSettings.subscriptionPromotionDialogShown`).
|
||||
- **Fired from:** `SubscriptionPromoExistingUserCoordinator.markLaunchPromptPresented()`
|
||||
- **Parameters:**
|
||||
- `appVersion` — app version (added by default)
|
||||
- `ru` — `true` / `false` — whether the user is a returning user (reinstall)
|
||||
@@ -83,7 +82,6 @@ Define three new pixels exclusively for the day-7 audience. Provides direct per-
|
||||
|
||||
- **Trigger:** User taps the CTA button ("Try It Free" or "Learn More") on the promo modal.
|
||||
- **Frequency:** Standard (can fire once per impression, since the modal is shown at most once).
|
||||
- **Fired from:** `SubscriptionPromoExistingUserCoordinator.handleCTAAction()`
|
||||
- **Parameters:** same as impression — `appVersion`, `ru`, `free_trial`
|
||||
- **Suffixes:** `_ios`, `_phone` / `_tablet`
|
||||
|
||||
@@ -91,7 +89,6 @@ Define three new pixels exclusively for the day-7 audience. Provides direct per-
|
||||
|
||||
- **Trigger:** User dismisses the promo modal (taps X or swipes down) without tapping the CTA.
|
||||
- **Frequency:** Standard.
|
||||
- **Fired from:** `SubscriptionPromoExistingUserCoordinator.handleDismissAction()` and `UIAdaptivePresentationControllerDelegate` (swipe-to-dismiss)
|
||||
- **Parameters:** same as impression — `appVersion`, `ru`, `free_trial`
|
||||
- **Suffixes:** `_ios`, `_phone` / `_tablet`
|
||||
|
||||
@@ -108,7 +105,7 @@ Define three new pixels exclusively for the day-7 audience. Provides direct per-
|
||||
|
||||
## Notes and status
|
||||
|
||||
- Option A pixels are already committed to `iOS/PixelDefinitions/pixels/definitions/subscription.json5` as `m_privacy-pro_skipped_onboarding_promotion_*`; reusing them for this audience requires no code changes to pixel definitions.
|
||||
- Option A pixels are already defined in `subscription.json5` as `m_privacy-pro_skipped_onboarding_promotion_[impression|tap|dismiss]`; reusing them for this audience requires no code changes to pixel definitions.
|
||||
- If Option B is chosen, new definitions must be added to `subscription.json5` and a privacy triage opened.
|
||||
- Privacy triage (for Option B): [Insert Privacy Triage link]
|
||||
- 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 — regardless of which option is selected.
|
||||
- Privacy triage draft (for Option B): see `ios-subscription-day7-promo-privacy-triage.md`.
|
||||
|
||||
Reference in New Issue
Block a user