Posthog identify after sign up
Hi all, I'm using posthog for analytics in my next js app and planning to make use of the identify feature (https://posthog.com/docs/product-analytics/identify). I use the email and password flow with email verification from better auth. It's pretty easy to set it up when a user logs in as I can use the "onSuccess" callback. However, I can't wrap my head around how to do it after a successful sign up. I know you have a hooks.after callback but it runs on the server side and posthog needs to call identify on the client side. Could you suggest what the best way to do it? Thank you?
Here's my auth.ts
Solution:Jump to solution
Hi, maybe try after hook in database. I use it to send a wellcome mail to the user after he sign up.
https://www.better-auth.com/docs/concepts/database#database-hooks...
Database | Better Auth
Learn how to use a database with Better Auth.
6 Replies
Solution
Hi, maybe try after hook in database. I use it to send a wellcome mail to the user after he sign up.
https://www.better-auth.com/docs/concepts/database#database-hooks
Database | Better Auth
Learn how to use a database with Better Auth.
Oh I didn’t know it existed! That’s perfect thank you!
Oh actually i realised that this hook also runs on the server side which is similar to the hook I mentioned in the post. Any way to know when a client has signed up or created a session on the client side?
I can imagine it can be a query parameter to the callback url after email verification or something
you can use useSesssion() hook to check if the user is signed up and actually have a session with it. if i get your point through
Session Management | Better Auth
Better Auth session management.
I ended up setting a query param on the callbackURL ( callbackURL: '/dashboard?isNewUser=true'). And then checking if isNewUser is set on the URL before calling identify.
Posthog recommends to only call identify when the user signs up / logs in and doesn't recommend to do it on every request.