@cmpsr/analytics
TypeScript icon, indicating that this package has built-in type declarations

0.2.1 • Public • Published

ANALYTICS

Philosophy

To be analytic provider agnostic while mirroring itself into the React ecosystem. Since Segment is also trying to do the same thing, their API makes sense as a good base.

How it works

React app is wrapped in <AnalyticsProvider> which passes context down with functions to track user activities. When these functions are called, it will loop through all valid analytics providers and call their equivalent api.

API

identify: Let the provider know who the logged in user is group: If there are multiple portals, this helps separate them. This is advanced. page: Track a new page, can be added to Next's router track: Track an even such as a button click user: Returns the auto assigned id reset: Clear the identity

More information can be found on Segment

Supported Providers

  • GTag
  • Segment
  • GA (will deprecated july 2023)

Setup

Compile

To compile this library please run yarn run libbuild

Add Provider

Wrap the root of your React app in <AnalyticsProvider><YOUR APP /></AnalyticsProvider>.

Here are the props you can pass in to enable these providers.

export interface IAnalyticsProvider {
  segment?: ISegmentConfig;
  gtag?: IGTagConfig;
  ga?: IGAConfig;
}

Use Function

import useAnalytics from 'useAnalytics';

const { track } = useAnalytics();
track('Hello World');

TODO

Add tests

Readme

Keywords

none

Package Sidebar

Install

npm i @cmpsr/analytics

Weekly Downloads

6

Version

0.2.1

License

MIT

Unpacked Size

28.5 kB

Total Files

40

Last publish

Collaborators

  • stevejcox
  • tkanzakic
  • ryanhefner