2.9 KiB
Pixel Definitions: iOS Day-7 Subscription Promo
Defined in: iOS/PixelDefinitions/pixels/definitions/subscription.json5
Fired from: SubscriptionPromoExistingUserCoordinator
Android equivalents: m_privacy-pro_skipped_onboarding_promotion_* (same modal, different audience)
Pixels
m_privacy-pro_existing_user_promotion_impression
| Field | Value |
|---|---|
| Trigger | The day-7 promo half-sheet is shown to an existing user (7+ days since install) who has never seen any subscription offer |
| Fired from | SubscriptionPromoExistingUserCoordinator.markLaunchPromptPresented() |
| Frequency | Once per install (guarded by subscriptionPromotionDialogShown) |
Parameters
| Key | Type | Description |
|---|---|---|
appVersion |
string | App version (added by default) |
ru |
boolean | Whether the user is a returning user (reinstall) |
free_trial |
boolean | Whether the user is eligible for a free trial |
Suffixes: _ios, _phone / _tablet
m_privacy-pro_existing_user_promotion_tap
| Field | Value |
|---|---|
| Trigger | User taps the CTA button ("Try It Free" or "Learn More") on the promo modal |
| Fired from | SubscriptionPromoExistingUserCoordinator.handleCTAAction() |
Parameters — same as impression: appVersion, ru, free_trial
Suffixes: _ios, _phone / _tablet
m_privacy-pro_existing_user_promotion_dismiss
| Field | Value |
|---|---|
| Trigger | User dismisses the promo modal (taps close or swipes down) |
| Fired from | SubscriptionPromoExistingUserCoordinator.handleDismissAction() |
Parameters — same as impression: appVersion, ru, free_trial
Suffixes: _ios, _phone / _tablet
Funnel Origin
When the user taps the CTA, the subscription flow is opened with origin funnel_modal_ios__subscriptionnudge.
This origin flows through to two downstream pixels automatically:
m_privacy-pro_offer_screen_impression(param:origin)m_subscribe(param:origin) — the subscription purchase success pixel
Origin defined in: iOS/DuckDuckGo/Subscription/SubscriptionFunnelOrigin.swift
Origin request subtask: https://app.asana.com/1/137249556945/task/1214800683792174
Android equivalent origin: funnel_modal_android__subscriptionnudge
Relation to Existing Promo Pixels
All three subscription promo half-sheets use the same parameter shape (ru, free_trial) to allow cross-audience comparison:
| Pixel prefix | Audience | Origin |
|---|---|---|
m_privacy-pro_onboarding_promotion_* |
Users who see the promo during onboarding | funnel_onboarding_ios |
m_privacy-pro_skipped_onboarding_promotion_* |
Reinstallers who skipped onboarding, 7+ days | funnel_modal_ios__skippedonboardingupsell |
m_privacy-pro_existing_user_promotion_* |
Normal installers who never saw a subscription offer, 7+ days | funnel_modal_ios__subscriptionnudge |