From 4b738892eecf0940aebbc4c4cec73e7a04c9fbff Mon Sep 17 00:00:00 2001 From: Emanuele Buccelli Date: Tue, 15 Oct 2024 19:26:45 +0200 Subject: [PATCH] Start: Fix isNewUser logic, take 2 (#95405) * Revert "Revert "Start: Fix isNewUser logic" (#95394)" This reverts commit 775df1016035746232acee3a4bcc22d2e08b8268. * Make the prop optional --- .../stepper/hooks/use-record-signup-complete.ts | 1 + client/lib/analytics/signup.js | 4 +++- client/lib/signup/step-actions/index.js | 1 + client/signup/config/steps-pure.js | 12 ++++++++++-- client/signup/main.jsx | 3 ++- 5 files changed, 17 insertions(+), 4 deletions(-) diff --git a/client/landing/stepper/hooks/use-record-signup-complete.ts b/client/landing/stepper/hooks/use-record-signup-complete.ts index 7e7499c39416c..dc60ceb85ca4e 100644 --- a/client/landing/stepper/hooks/use-record-signup-complete.ts +++ b/client/landing/stepper/hooks/use-record-signup-complete.ts @@ -71,6 +71,7 @@ export const useRecordSignupComplete = ( flow: string | null ) => { isTransfer: hasPaidDomainItem && domainCartItem ? isDomainTransfer( domainCartItem ) : undefined, signupDomainOrigin: signupDomainOrigin ?? SIGNUP_DOMAIN_ORIGIN.NOT_SET, + framework: 'stepper', }, true ); diff --git a/client/lib/analytics/signup.js b/client/lib/analytics/signup.js index d44576c35c57f..c4240662b063b 100644 --- a/client/lib/analytics/signup.js +++ b/client/lib/analytics/signup.js @@ -54,6 +54,7 @@ export function recordSignupComplete( isMapping, signupDomainOrigin, elapsedTimeSinceStart = null, + framework = 'start', }, now ) { @@ -80,6 +81,7 @@ export function recordSignupComplete( isTransfer, isMapping, signupDomainOrigin, + framework, }, true ); @@ -122,7 +124,7 @@ export function recordSignupComplete( const device = resolveDeviceTypeByViewPort(); // Tracks - recordTracksEvent( 'calypso_new_user_site_creation', { flow, device } ); + recordTracksEvent( 'calypso_new_user_site_creation', { flow, device, framework } ); // Google Analytics gaRecordEvent( 'Signup', 'calypso_new_user_site_creation' ); } diff --git a/client/lib/signup/step-actions/index.js b/client/lib/signup/step-actions/index.js index a437a40a21ace..972b8d0596699 100644 --- a/client/lib/signup/step-actions/index.js +++ b/client/lib/signup/step-actions/index.js @@ -939,6 +939,7 @@ export function createAccount( const providedDependencies = { username, marketing_price_group, + is_new_account: newAccountCreated, ...bearerToken, }; diff --git a/client/signup/config/steps-pure.js b/client/signup/config/steps-pure.js index eff992088d12b..15302b996e346 100644 --- a/client/signup/config/steps-pure.js +++ b/client/signup/config/steps-pure.js @@ -129,12 +129,14 @@ export function generateSteps( { 'marketing_price_group', 'redirect', 'allowUnauthenticated', + 'is_new_account', 'oauth2_client_id', 'oauth2_redirect', ], optionalDependencies: [ 'redirect', 'allowUnauthenticated', + 'is_new_account', 'oauth2_client_id', 'oauth2_redirect', ], @@ -153,12 +155,14 @@ export function generateSteps( { 'marketing_price_group', 'redirect', 'allowUnauthenticated', + 'is_new_account', 'oauth2_client_id', 'oauth2_redirect', ], optionalDependencies: [ 'redirect', 'allowUnauthenticated', + 'is_new_account', 'oauth2_client_id', 'oauth2_redirect', ], @@ -179,6 +183,7 @@ export function generateSteps( { 'username', 'marketing_price_group', 'allowUnauthenticated', + 'is_new_account', 'redirect', 'oauth2_client_id', 'oauth2_redirect', @@ -188,6 +193,7 @@ export function generateSteps( { 'username', 'marketing_price_group', 'allowUnauthenticated', + 'is_new_account', 'redirect', 'oauth2_client_id', 'oauth2_redirect', @@ -519,9 +525,10 @@ export function generateSteps( { 'oauth2_redirect', 'marketing_price_group', 'allowUnauthenticated', + 'is_new_account', 'redirect', ], - optionalDependencies: [ 'allowUnauthenticated', 'redirect' ], + optionalDependencies: [ 'allowUnauthenticated', 'redirect', 'is_new_account' ], }, 'oauth2-name': { @@ -535,9 +542,10 @@ export function generateSteps( { 'oauth2_redirect', 'marketing_price_group', 'allowUnauthenticated', + 'is_new_account', 'redirect', ], - optionalDependencies: [ 'allowUnauthenticated', 'redirect' ], + optionalDependencies: [ 'allowUnauthenticated', 'redirect', 'is_new_account' ], props: { isSocialSignupEnabled: config.isEnabled( 'signup/social' ), oauth2Signup: true, diff --git a/client/signup/main.jsx b/client/signup/main.jsx index 39a92aaa0ce55..911996a95278f 100644 --- a/client/signup/main.jsx +++ b/client/signup/main.jsx @@ -527,7 +527,7 @@ class Signup extends Component { const { isNewishUser, existingSiteCount } = this.props; - const isNewUser = !! ( dependencies && dependencies.username ); + const isNewUser = !! ( dependencies && dependencies.is_new_account ); const siteId = dependencies && dependencies.siteId; const isNew7DUserSite = !! ( isNewUser || @@ -591,6 +591,7 @@ class Signup extends Component { isMapping: isMapping, isTransfer: isTransfer, signupDomainOrigin: signupDomainOriginValue, + framework: 'start', } ); } };