From e75d2f8940c488dfebd5ee2327d8c3207ac289dd Mon Sep 17 00:00:00 2001 From: Glary-Bot Date: Wed, 20 May 2026 04:36:44 +0000 Subject: [PATCH] feat: instrument personal subscription dialog + dedupe GTM event MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Addresses code review: - Add 'subscription_required_dialog' surface for the personal-tier SubscriptionRequiredDialogContent.vue (the dialog reached via showSubscriptionDialog() for non-workspace users), which was previously uninstrumented despite being a primary paywall path. - Map trackPaywallViewed() in GtmTelemetryProvider to a distinct 'paywall_viewed' GA4 event instead of 'view_promotion', which trackSubscription('modal_opened') already emits — avoids double-counting impressions on the GTM side. --- .../components/SubscriptionRequiredDialogContent.vue | 12 ++++++++++-- .../providers/cloud/GtmTelemetryProvider.ts | 2 +- src/platform/telemetry/types.ts | 1 + 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/platform/cloud/subscription/components/SubscriptionRequiredDialogContent.vue b/src/platform/cloud/subscription/components/SubscriptionRequiredDialogContent.vue index 4980137136..11919402d5 100644 --- a/src/platform/cloud/subscription/components/SubscriptionRequiredDialogContent.vue +++ b/src/platform/cloud/subscription/components/SubscriptionRequiredDialogContent.vue @@ -145,7 +145,7 @@