Files
obsidian-vault/work/projects/ios-subscription-day7-promo-pixels.md
T

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