General
Analytics

Custom Provider

Learn how to use a custom provider for tacking events.

You can add any anayltics provider by creating a new file in the packages/anayltics/provider/ folder and implementing the AnalyticsProvider type:

packages/anayltics/provider/my-provider/index.ts
import { keys } from '../../../keys';
import { type AnalyticsProvider } from '../types';

class MyAnalyticsProvider implements AnalyticsProvider {
  public trackEvent(
    eventName: string,
    eventProperties?: Record<string, string | string[]>
  ): Promise<void> {}

  public trackPageView(path: string): Promise<void> {}

  public identify(
    userId: string,
    traits?: Record<string, string>
  ): Promise<void> {}
}

export default new MyAnalyticsProvider();

Add the new provider in packages/anayltics/provider/index.ts:

packages/anayltics/provider/index.ts
// export { default as AnalyticsProvider } from './console';
// export { default as AnalyticsProvider } from './google-analytics';
// export { default as AnalyticsProvider } from './posthog';
// export { default as AnalyticsProvider } from './umami';
export { default as AnalyticsProvider } from './my-provider';