File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -62,6 +62,9 @@ export enum AnalyticsEvent {
6262 ONBOARD_PAGE_RUN_COMMAND_COPIED = 'onboard_page.run_command_copied' ,
6363 ONBOARD_PAGE_INSTALL_COMMAND_COPIED = 'onboard_page.install_command_copied' ,
6464
65+ // Web - Creator Attribution
66+ CODEBUFF_REFERRER_ATTRIBUTED = 'codebuff.referrer_attributed' ,
67+
6568 // Web - Install Dialog
6669 INSTALL_DIALOG_CD_COMMAND_COPIED = 'install_dialog.cd_command_copied' ,
6770 INSTALL_DIALOG_RUN_COMMAND_COPIED = 'install_dialog.run_command_copied' ,
Original file line number Diff line number Diff line change @@ -7,6 +7,7 @@ import { Footer } from '@/components/footer'
77import { LayoutWrapper } from '@/components/layout-wrapper'
88import { Navbar } from '@/components/navbar/navbar'
99import QueryProvider from '@/components/providers/query-client-provider'
10+ import { ReferrerTracker } from '@/components/referral/referrer-tracker'
1011import { ThemeProvider } from '@/components/theme-provider'
1112import { Toaster } from '@/components/ui/toaster'
1213import { siteConfig } from '@/lib/constant'
@@ -66,6 +67,7 @@ export default function RootLayout({
6667 < SessionProvider >
6768 < QueryProvider >
6869 < PostHogProvider >
70+ < ReferrerTracker />
6971 < Navbar />
7072 < div className = "flex-grow" >
7173 < LayoutWrapper > { children } </ LayoutWrapper >
Original file line number Diff line number Diff line change @@ -16,10 +16,10 @@ export function WelcomeCard({
1616 const [ referrer , setReferrer ] = useState < string | null > ( null )
1717
1818 useEffect ( ( ) => {
19- const stored = localStorage . getItem ( 'codebuff_referrer ' )
19+ const stored = localStorage . getItem ( 'codebuff_referrer_display ' )
2020 if ( stored ) {
2121 setReferrer ( stored )
22- localStorage . removeItem ( 'codebuff_referrer ' )
22+ localStorage . removeItem ( 'codebuff_referrer_display ' )
2323 }
2424 } , [ ] )
2525
Original file line number Diff line number Diff line change @@ -6,6 +6,7 @@ export function PersistReferrer({ referrer }: { referrer: string }) {
66 useEffect ( ( ) => {
77 if ( referrer ) {
88 localStorage . setItem ( 'codebuff_referrer' , referrer )
9+ localStorage . setItem ( 'codebuff_referrer_display' , referrer )
910 }
1011 } , [ referrer ] )
1112
Original file line number Diff line number Diff line change 1+ 'use client'
2+
3+ import { AnalyticsEvent } from '@codebuff/common/constants/analytics-events'
4+ import posthog from 'posthog-js'
5+ import { useEffect } from 'react'
6+
7+ export function ReferrerTracker ( ) {
8+ useEffect ( ( ) => {
9+ const referrer = localStorage . getItem ( 'codebuff_referrer' )
10+ if ( referrer ) {
11+ posthog . capture ( AnalyticsEvent . CODEBUFF_REFERRER_ATTRIBUTED , {
12+ referrer,
13+ $set_once : { codebuff_referrer : referrer } ,
14+ } )
15+ localStorage . removeItem ( 'codebuff_referrer' )
16+ }
17+ } , [ ] )
18+
19+ return null
20+ }
You can’t perform that action at this time.
0 commit comments