-
Notifications
You must be signed in to change notification settings - Fork 104
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
Add registration tracking events for .eth and TLD (.box) funnel #840
base: main
Are you sure you want to change the base?
Conversation
Deploying ens-app-v3 with Cloudflare Pages
|
src/components/@molecules/TransactionDialogManager/stage/TransactionStageModal.tsx
Outdated
Show resolved
Hide resolved
…pened and finish wallet opened tracking events
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
2 tests to add:
- e2e/specs/stateful/box.spec.ts: Add a new file that follows the dot box registration and fires the tracking events.
- e2e/specs/stateless/registerName [line 160] add a check that search_selected_eth is not fired from this search input.
Also. I know we haven't done this a lot but the registerName tests are starting to get really big so can you wrap your expect code with test.step('should fire tracking event: ', () => {...}?
customProperties: { name: text }, | ||
}) | ||
} | ||
|
||
const path = getRouteForSearchItem({ address, chainId, queryClient, selectedItem }) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If directing to .box registration page, path should be /dotbox/{name}. If directing to .eth registration page, path should be /register/{name}. Use this to fire the correct search_selected_[eth|box] event.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@storywithoutend
I've implemented your suggestion, but I'm encountering an issue. When a user enters a keyword and immediately presses Enter, the path always resolves to /profile/{name}
instead of /register/{name}
.
I believe the ownerData
variable is undefined
because getCachedQueryData
isn't returning data in time.
To address this, I've added a waitForTimeout
in e2e/specs/stateless/registerName.spec.ts
and included a comment explaining the reason.
Please review these changes and let me know if you have any further feedback.
@@ -140,6 +142,8 @@ const Transactions = ({ registrationData, name, callback, onStart }: Props) => { | |||
autoClose: true, | |||
resumeLink: `/register/${name}`, | |||
}) | |||
|
|||
trackEvent({ eventName: 'register_started' }) | |||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's 2 register_started events. Can you double check if both are needed? This is why I suggested that we clear the events variable and check if the event has been called multiple times in registerName.spec.ts
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've analyzed the flow and determined the following:
-
If a user completes a commit transaction, the
registerTx
variable will beundefined
.
ThemakeRegisterNameFlow
function will be called. -
If the user refreshes the page, the
registerTx
variable will have a value, and theshowRegisterTransaction
function will be called.
Only want to fire this event if the name is available by reading path variable
…se waitFor() instead of waitForTimeout()
…-1177-add-registration-tracking-events
e2e/specs/stateless/box.spec.ts
Outdated
}) | ||
|
||
const events: string[] = [] | ||
page.on('console', (msg) => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we turn this into a fixture? I think it will be useful to use in the future.
src/utils/analytics.ts
Outdated
const referrer = getUtm() | ||
|
||
const props = referrer ? { ...customProperties, referrer } : customProperties |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think we need referrer ? {} : {}, we can just pass { ...customProperties, referrer}
…ub.com:ensdomains/ens-app-v3 into feat/FET-1177-add-registration-tracking-events
Quality Gate passedIssues Measures |
No description provided.