Options
All
  • Public
  • Public/Protected
  • All
Menu

Class TrackingManager

This class is used to wrap all the tracking providers so you can easily add multiple analytics providers to your site. Use the addProvider method add them while constructing this class.

All tracking providers log the events with debug (https://www.npmjs.com/package/debug), to view the logs you have to update your local storage by running this in the console:

localStorage.debug = 'trackingManager:*'

To disable the logs run the following in your console

delete localStorage.debug

Example usage:

const trackingManager = new TrackingManager({
     providers: {
         ga: new GoogleAnalyticsTrackingProvider({
             trackingId: 'UA-XXXXXXX',
         }),
         fbq: new FacebookTrackingPixelProvider({
             trackingPixelId: 'XXXXXXXXXX',
         }),
     }
});

trackingManager.trackEvent({
     ga: {
         label: 'Purchase',
         category: 'shop'
     },
     fbq: {
         event: 'Purchase',
     },
});
class

TrackingManager

Hierarchy

  • Disposable
    • TrackingManager

Implements

  • IDisposable

Index

Constructors

constructor

Properties

Static LOG_NAMESPACE

LOG_NAMESPACE: string = "trackingManager"

Methods

addProvider

  • method

    addProvider

    description

    Add an extra provider to the providers object

    Parameters

    Returns void

dispose

  • dispose(): void
  • Dispose the tracking manager

    Returns void

getTrackingProvider

  • Get a provider from the providers object

    Parameters

    • id: string

    Returns AbstractTrackingProvider<any>

isDisposed

  • isDisposed(): boolean
  • After dispose has been called, this method returns true. Use this method to determine whether dispose() should be run again.

    Returns boolean

removeProvider

  • removeProvider(id: string): void
  • Remove a provider from the providers object

    Parameters

    • id: string

    Returns void

trackEvent

  • trackEvent(data: object): void
  • Loop through all the providers and trigger an event

    Parameters

    • data: object
      • [provider: string]: any

    Returns void

trackPageView

  • trackPageView(data: object): void
  • Loop through all the providers and trigger a page view

    Parameters

    • data: object
      • [provider: string]: any

    Returns void

Generated using TypeDoc