Skip to content

fix(analytics): Unify project platform selection in growth event - #120115

Merged
jaydgoss merged 1 commit into
masterfrom
jaygoss/scm-project-creation-growth-platform-parity
Jul 23, 2026
Merged

fix(analytics): Unify project platform selection in growth event#120115
jaydgoss merged 1 commit into
masterfrom
jaygoss/scm-project-creation-growth-platform-parity

Conversation

@jaydgoss

@jaydgoss jaydgoss commented Jul 20, 2026

Copy link
Copy Markdown
Member

TLDR

Uses growth.select_platform as the single project-creation platform-selection event for both legacy and SCM, distinguished by variant and by selection_source: 'detected' | 'manual'.

Details

Stacked on the core-wizard variant PR (#120080). Legacy CreateProject already selects through <PlatformPicker>, whose live growth.select_platform counter is the continuity anchor; keeping a second project_creation.platform_selected signal for SCM would permanently emit two events for one selection.

Legacy now passes source="project-creation" and variant="legacy" into <PlatformPicker>. The picker stamps selection_source:'manual' on card clicks and continues threading source/variant into its selection, search, and category events.

SCM platform commitments route through trackScmPlatformSelected. Its project-creation arm emits only growth.select_platform with source:'project-creation', variant:'scm', and the detected/manual selection source supplied by the caller. Its onboarding arm preserves onboarding.scm_platform_selected unchanged, so SCM onboarding does not enter the project-creation growth bucket. The obsolete project_creation.platform_selected registry entry is removed.

The component coverage verifies that SCM project creation emits only the growth event with detected attribution, SCM onboarding keeps its prior event, and ordinary <PlatformPicker> selections report manual attribution. The broader project-install and SCM suites guard the shared call sites and framework modal routing.

BI note: live SCM traffic moves from project_creation.scm_platform_selected into growth.select_platform; legacy growth.select_platform.source moves from undefined to project-creation. The existing Amplitude event name remains unchanged to preserve that counter.

Refs VDY-133

@linear-code

linear-code Bot commented Jul 20, 2026

Copy link
Copy Markdown

VDY-133

@github-actions github-actions Bot added the Scope: Frontend Automatically applied to PRs that change frontend components label Jul 20, 2026
@jaydgoss
jaydgoss marked this pull request as ready for review July 20, 2026 19:13
@jaydgoss
jaydgoss requested review from a team as code owners July 20, 2026 19:13
@jaydgoss
jaydgoss force-pushed the jaygoss/scm-project-creation-growth-platform-parity branch from c2205d3 to e2ebdac Compare July 20, 2026 20:40
@jaydgoss jaydgoss changed the title fix(analytics): Feed SCM platform selection into growth.select_platform via source + variant fix(analytics): Unify project platform selection in growth event Jul 20, 2026
@jaydgoss
jaydgoss force-pushed the jaygoss/scm-project-creation-core-wizard-variant branch from 8dd70c8 to 8170cf3 Compare July 20, 2026 20:59
@jaydgoss
jaydgoss requested review from a team as code owners July 20, 2026 20:59
@jaydgoss
jaydgoss force-pushed the jaygoss/scm-project-creation-growth-platform-parity branch from e2ebdac to 9489228 Compare July 20, 2026 20:59
@jaydgoss
jaydgoss marked this pull request as draft July 20, 2026 21:24
@jaydgoss
jaydgoss force-pushed the jaygoss/scm-project-creation-core-wizard-variant branch from 8170cf3 to 2aa8cdf Compare July 20, 2026 21:26
@jaydgoss
jaydgoss force-pushed the jaygoss/scm-project-creation-growth-platform-parity branch from 9489228 to 68ea3ac Compare July 20, 2026 21:26
@jaydgoss
jaydgoss marked this pull request as ready for review July 20, 2026 21:34
@jaydgoss
jaydgoss force-pushed the jaygoss/scm-project-creation-core-wizard-variant branch from 2aa8cdf to 93fd3be Compare July 23, 2026 19:23
@jaydgoss
jaydgoss force-pushed the jaygoss/scm-project-creation-growth-platform-parity branch from 68ea3ac to eed58f7 Compare July 23, 2026 19:23
@jaydgoss
jaydgoss force-pushed the jaygoss/scm-project-creation-core-wizard-variant branch from 93fd3be to d6bc482 Compare July 23, 2026 20:41
@jaydgoss
jaydgoss force-pushed the jaygoss/scm-project-creation-growth-platform-parity branch from eed58f7 to b4917b8 Compare July 23, 2026 20:41
@sentry

sentry Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Sentry Snapshot Testing

Name Added Removed Changed Renamed Unchanged Skipped Status
sentry-frontend
sentry-frontend
0 0 0 0 451 0 ✅ Unchanged

⚙️ sentry-frontend Snapshot Settings

@jaydgoss
jaydgoss force-pushed the jaygoss/scm-project-creation-core-wizard-variant branch from d6bc482 to c42a1f0 Compare July 23, 2026 20:53
@jaydgoss
jaydgoss force-pushed the jaygoss/scm-project-creation-growth-platform-parity branch from b4917b8 to f6ec26d Compare July 23, 2026 20:53
@jaydgoss
jaydgoss force-pushed the jaygoss/scm-project-creation-core-wizard-variant branch from c42a1f0 to 6e6bf00 Compare July 23, 2026 21:09
@jaydgoss
jaydgoss force-pushed the jaygoss/scm-project-creation-growth-platform-parity branch from f6ec26d to 0e0cf01 Compare July 23, 2026 21:09
@jaydgoss
jaydgoss force-pushed the jaygoss/scm-project-creation-core-wizard-variant branch from 6e6bf00 to a62d7aa Compare July 23, 2026 22:28
Base automatically changed from jaygoss/scm-project-creation-core-wizard-variant to master July 23, 2026 23:10
Use growth.select_platform as the sole project-creation selection event for both variants. Preserve SCM detected versus manual attribution in selection_source while leaving SCM onboarding on its existing event.

Refs VDY-133
@jaydgoss
jaydgoss force-pushed the jaygoss/scm-project-creation-growth-platform-parity branch from 0e0cf01 to 2806982 Compare July 23, 2026 23:11
@jaydgoss
jaydgoss merged commit ba69f51 into master Jul 23, 2026
77 checks passed
@jaydgoss
jaydgoss deleted the jaygoss/scm-project-creation-growth-platform-parity branch July 23, 2026 23:26
jaydgoss added a commit that referenced this pull request Jul 23, 2026
…ct creation (#120119)

## TLDR

Adds the SCM manage-providers funnel event and makes
messaging-integration installs segmentable by SCM versus legacy without
mislabeling SCM onboarding as project creation.

## Details

This PR is stacked on the platform-selection parity PR (#120115).
`ScmIntegrationSelect` now fires
`project_creation.manage_providers_clicked` with the project-creation
SCM variant when its integration-settings footer is used.

Messaging installs continue using one flow value plus `variant`. Legacy
project creation passes the project-creation messaging view with
`variant:'legacy'`. The SCM alert-frequency section now threads its
existing `analyticsFlow` into `ScmIssueAlertNotificationOptions`: SCM
project creation uses the project-creation messaging view, while SCM
onboarding uses `view:'onboarding'`; both carry `variant:'scm'`. The
shared alert-rule-creation caller remains on its existing view with no
variant.

The flow-aware mapping fixes the previous cross-flow leak where the
shared SCM alert-frequency UI labeled onboarding messaging installs as
project creation. End-to-end coverage opens the setup modal and starts
an install from both SCM flows, asserting the emitted `view` and
`variant`; the manage-providers click remains covered separately.

Refs VDY-133
Christinarlong pushed a commit that referenced this pull request Jul 24, 2026
…0115)

## TLDR

Uses `growth.select_platform` as the single project-creation
platform-selection event for both legacy and SCM, distinguished by
`variant` and by `selection_source: 'detected' | 'manual'`.

## Details

Stacked on the core-wizard `variant` PR (#120080). Legacy
`CreateProject` already selects through `<PlatformPicker>`, whose live
`growth.select_platform` counter is the continuity anchor; keeping a
second `project_creation.platform_selected` signal for SCM would
permanently emit two events for one selection.

Legacy now passes `source="project-creation"` and `variant="legacy"`
into `<PlatformPicker>`. The picker stamps `selection_source:'manual'`
on card clicks and continues threading source/variant into its
selection, search, and category events.

SCM platform commitments route through `trackScmPlatformSelected`. Its
project-creation arm emits only `growth.select_platform` with
`source:'project-creation'`, `variant:'scm'`, and the detected/manual
selection source supplied by the caller. Its onboarding arm preserves
`onboarding.scm_platform_selected` unchanged, so SCM onboarding does not
enter the project-creation growth bucket. The obsolete
`project_creation.platform_selected` registry entry is removed.

The component coverage verifies that SCM project creation emits only the
growth event with detected attribution, SCM onboarding keeps its prior
event, and ordinary `<PlatformPicker>` selections report manual
attribution. The broader project-install and SCM suites guard the shared
call sites and framework modal routing.

BI note: live SCM traffic moves from
`project_creation.scm_platform_selected` into `growth.select_platform`;
legacy `growth.select_platform.source` moves from undefined to
`project-creation`. The existing Amplitude event name remains unchanged
to preserve that counter.

Refs VDY-133
Christinarlong pushed a commit that referenced this pull request Jul 24, 2026
…ct creation (#120119)

## TLDR

Adds the SCM manage-providers funnel event and makes
messaging-integration installs segmentable by SCM versus legacy without
mislabeling SCM onboarding as project creation.

## Details

This PR is stacked on the platform-selection parity PR (#120115).
`ScmIntegrationSelect` now fires
`project_creation.manage_providers_clicked` with the project-creation
SCM variant when its integration-settings footer is used.

Messaging installs continue using one flow value plus `variant`. Legacy
project creation passes the project-creation messaging view with
`variant:'legacy'`. The SCM alert-frequency section now threads its
existing `analyticsFlow` into `ScmIssueAlertNotificationOptions`: SCM
project creation uses the project-creation messaging view, while SCM
onboarding uses `view:'onboarding'`; both carry `variant:'scm'`. The
shared alert-rule-creation caller remains on its existing view with no
variant.

The flow-aware mapping fixes the previous cross-flow leak where the
shared SCM alert-frequency UI labeled onboarding messaging installs as
project creation. End-to-end coverage opens the setup modal and starts
an install from both SCM flows, asserting the emitted `view` and
`variant`; the manage-providers click remains covered separately.

Refs VDY-133
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Scope: Frontend Automatically applied to PRs that change frontend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants