Skip to content

Open the performance-optimized paywall URLs when the flag is on - #9757

Open
Kyriakos-Georgiopoulos wants to merge 1 commit into
developfrom
feature/kyriakos/performance-optimized-paywalls/url-resolver
Open

Open the performance-optimized paywall URLs when the flag is on#9757
Kyriakos-Georgiopoulos wants to merge 1 commit into
developfrom
feature/kyriakos/performance-optimized-paywalls/url-resolver

Conversation

@Kyriakos-Georgiopoulos

@Kyriakos-Georgiopoulos Kyriakos-Georgiopoulos commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Task/Issue URL: https://app.asana.com/1/137249556945/project/1217319487385906/task/1217750626830941?focus=true
Tech Design URL (if applicable):
API Proposals URL(s) (if applicable): None

Description

Opens the performance-optimized paywall page when the performanceOptimizedPaywalls flag is on, so the front end can test the faster entry points on Android.

  • The paths come from the flag settings, so they can change in remote config without an app release Add performanceOptimizedPaywalls feature flag (off by default) privacy-configuration#5809
  • The URL carries trial=true or trial=false from free trial eligibility, and pir=false when PIR is not part of the offer, so the page renders without asking the app what the user is being offered.
  • Params the app already sets, such as origin, are carried onto the new path unchanged.
  • With the flag off, the old URL is loaded and nothing changes.

Steps to test this PR

VPN paywall

  • Open from Settings > Privacy Pro. URL should be /subscriptions/new/mobile/vpn.

Duck.ai paywall

  • Open from a Duck.ai entry point. URL should be /subscriptions/new/mobile/duckai, with no featurePage in the query.

Query params

  • Trial eligible account: trial=true. Account that already used a trial: trial=false.
  • Region without PIR: pir=false present. Region with PIR: no pir param.
  • Open from app settings: origin=funnel_appsettings_android and environment=staging both survive onto the new path.

Flag off

  • Turn performanceOptimizedPaywalls off, open the paywall. URL should be /subscriptions with no trial or pir, and the old page loads.

Fallback

  • Force stop the app, reopen, go to the paywall before Google Play has loaded products. Old URL loads, no error page, no crash.

UX changes

Before After
https://github.com/user-attachments/assets/5f6a6240-da74-4a85-9e98-c0974be6841e https://github.com/user-attachments/assets/43d3462f-8e03-4f73-9c88-84e3a6998baf

Resolves the paywall URL where the webview loads it, so every entry point is covered. Non-owned params such as origin are carried onto the new path.

https://app.asana.com/1/137249556945/task/1217750626830941
@nalcalag nalcalag self-assigned this Sep 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants