0.1.0 • Published 3 years ago

@policygenius/lookout v0.1.0

Weekly downloads
18
License
MIT
Repository
github
Last release
3 years ago

lookout

Frontend client for scout analytics service

Table of Contents

Purpose

To provide an easy way for interacting with the Policygenius scout service in any Javascript application.

It is published as an NPM package under @policygenius/lookout.

Install

yarn add @policygenius/lookout

Usage

The package is intended to be configured with a base url for the scout service and then exposes methods to interact with the 3 main endpoints for scout: identify, track, and page.

You will need to call lookout with a configuration object each time you want to use one of the exposed methods.

In addition, you will need to call the initialize method on page load, which ensures that the user is properly identified with scout before firing off the other exposed methods. You do not need to worry about queueing any lookout method calls yourself, the initialize method handles that for you.

import lookout from '@policygenius

const lookoutConfig = {
  scoutBaseUrl: 'some-url'
};

// Some where on page load...
lookout(lookoutConfig).initialize();

lookout(lookoutConfig).track('some-event', { some: 'properties' });
lookout(lookoutConfig).identify('some-uuid', { some: 'traits' });
lookout(lookoutConfig).page('some-page', { some: 'properties' });

API

NOTE: This API was built during a hackathon and currently represents a POC for a Javascript client to interact with the scout analytics service. As scout becomes ready to be production-ized, this API is subject to change to best fit those needs.

lookout

This is the default export. It is a function that injests a configuration object and exposes methods to interact with the scout API.

Configuration

An object that you must pass to the lookout default export each time you plan to use one of the exposed API methods.

scoutBaseUrl

string | defaults to: '' | required

This provides the url where the scout analytics service is hosted.

Methods

initialize

Usage:

lookout(lookoutConfig).initialize();

Arguments:

none

This method should be used on page load to make an initial "handshake" with the scout analytics service. It will ensure a pg-scout-uuid, which is generated from the scout analytics service, is stored in localStorage and queue up subsequent scout calls to fire later as necessary.

identify

Usage:

lookout(lookoutConfig).identify(userIdentifier: string, traits: object);

Arguments:

userIdentifier | string | required

traits | object

This method is used to make identify calls to the scout analytics service. You should use this method when you want to add new identifying traits to a given user.

You must provide some userIdentifier, preferably the one generated by scout, in order to have the passed in traits associated with the correct user.

track

Usage:

lookout(lookoutConfig).track(eventName: string, properties: object);

Arguments:

eventName | string | required

properties | object

This method is used to make track calls to the scout analytics service. You should use this method when you want to track user actions on your site, like button clicks. Best practice is to provide a unique eventName with any additional metadata concerning the event placed in the properties argument.

page

Usage:

lookout(lookoutConfig).page(pageName: string, properties: object);

Arguments:

pageName | string | required

properties | object

This method is used to make page calls to the scout analytics service. You should use this method when you want to track the different pages a user navigates to.

userAnalyticsId

Usage:

lookout.userAnalyticsId();

This method is used to retrieve the analytics id that has been set as a result of the initialize method.

0.0.10

3 years ago

0.1.0

3 years ago

0.0.9

3 years ago

0.0.8

4 years ago

0.0.7

4 years ago

0.0.6

4 years ago

0.0.5

4 years ago

0.0.4

5 years ago

0.0.3

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago