Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nv 3352 - Onboarding Analytics #5212

Merged
merged 7 commits into from
Feb 22, 2024

Conversation

djabarovgeorge
Copy link
Contributor

What change does this PR introduce?

  • What does a specific user who registered want to accomplish with Novu?
    • Note: Store selection on the user and org entity in segment
  • What does a specific organization that registered want to accomplish with Novu?
  • Ability to create a use case funnel
    • Translation management
      • The ability to have a mixpanel funnel for each of those steps
    • In-app
    • etc…
  • What use cases the user is interested in?
    • Note: tab clicks on the onboarding page
      *Who dismissed the onboarding page?
  • How much time did it take from registration to dismiss the onboarding page?
  • How many people visited the onboarding page?
  • How many people clicked on the doc links in the onboarding, and what link?

Those are the events that we added in this task

Click Hide Get Started Page - [Get Started]
Click Use-case Tab - [Get Started] props: { tab }
Link Click - [Get Started] props: { href } examples: integrations store, activity feed, docs…

The following events was added in 3510 #5207

Click Configure Use-Case Node [Get Started] props { templateIdentifier, node }
Click Create Workflow [Get Started] props { templateIdentifier }

Copy link

linear bot commented Feb 19, 2024

NV-3352 🙋 Analytics

@djabarovgeorge djabarovgeorge marked this pull request as draft February 20, 2024 10:21
Copy link
Contributor

@antonjoel82 antonjoel82 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the work! Please see note about the icon before merging

libs/design-system/src/icons/general/OpenedBook.tsx Outdated Show resolved Hide resolved
@@ -92,6 +94,7 @@ export function SideNav({}: Props) {
}, [environment, addItem, removeItems, setEnvironment]);

const handleHideOnboardingClick = async () => {
segment.track('Click Hide Get Started Page - [Get Started]');
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💭 thought: I've seen us primarily use [<area of application>] - <description of event> in other places -- should we follow that ordering?‏

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it's a good question, the main agenda for doing it like description - [area]
is if we add the area first we will lose the description while searching in our analytic tool. As a user, if I am searching for the template editor events I would prefer to see more of the description and not the area that I am searching for.
image

wdyt?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm I'm a little torn on this since I think it's important that we stay consistent one way or another. Also, perhaps there is a better way to track these prefixes /tags

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It should be in the format xxx - [yyy], that was the decision we took some time ago. All other places were added before and we didn't want to "lose" some data because of that change.

Copy link
Contributor

@antonjoel82 antonjoel82 Feb 22, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This smells of something that should have been refactored when when that decision was made 😅

Ticket here, please add your thoughts: https://linear.app/novu/issue/NV-3529/centralize-segment-tracking-standards

display: flex;
align-items: center;
justify-content: flex-start;
margin-top: 24px;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
margin-top: 24px;

Most components should leave margin to their parent / caller for layout

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you elaborate a bit not sure i understand correctly.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since margin adds additional spacing between spacing elements, it's generally preferable to let the parent component add it:

...Rest of the layout...
<AdditionalInformationLink ...other props... mt={24}>...</AdditionalInformationLink>
...
<OtherComponents />

This way, components are more reusable

@antonjoel82 antonjoel82 marked this pull request as ready for review February 22, 2024 16:46
Base automatically changed from nv-3510-open-onboarding-workflow-node to usecase-onboarding-project February 22, 2024 17:48
@antonjoel82 antonjoel82 merged commit d7182ac into usecase-onboarding-project Feb 22, 2024
4 checks passed
@antonjoel82 antonjoel82 deleted the nv-3352-onboarding-analytics branch February 22, 2024 21:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants