FullStory
Harness FME + FullStory
FullStory is a digital experience analytics platform that records users’ sessions for playback and analysis. FullStory events allow FullStory customers to add additional information to a session while it is being recorded. Harness FME leverages FullStory events to report feature flag impressions to the FullStory session, and as a source of events for measurement and experimentation in FME (there is a section below for both types of integration).
Follow the guide for your type of integration to proceed with installation. Segments integration deals with passing FME impressions to FullStory sessions. Events integration covers passing FullStory events to Harness FME for use in measurement and experimentation.
Prerequisites
To connect FullStory with Harness FME, you need:
FullStory API recording JavaScript installed
FME JavaScript SDK 10.12.1 or later installed
AWS lambda experience recommended
Node.js developer experience recommended
Integrating FullStory impressions into Harness FME
The following sections explain how to integrate FullStory impressions into Harness FME.
Send FME impressions as FullStory custom events
The Harness FME + FullStory integration uses out-of-the-box features of both products.

Associate the FullStory recording with the same key used for FME
getTreatmentevaluations by calling FS.identify. In the listing above, the user_id is shared by the FS.identify API call and the FME SDK configuration key (shown in blue).Add a custom impression listener to report FME impressions to FullStory’s custom events API. As highlighted in red above, the FullStory custom event API is called for a “split_evaluation” event, passing the entire impression data as properties for that event. The impression data includes the name of the feature flag evaluated and the treatment the user received.
If you’re not familiar with the FME JavaScript SDK configuration, go to JavaScript SDK documentation for more information.
Verify split_evaluation events are arriving in FullStory
To verify events are arriving in FullStory, do the following:
On the session playback screen, look for the split_evaluation event.

If you have many events, search for split_evaluation using the Filter events function.

Create a segment based on a treatment received
Once you have split_evaluation events, create a new FullStory segment that contains all the users who received a particular treatment from a given feature flag. Do the following:
From the FullStory home page, click to create a new segment.

Under API events, click split_evaluation.

Build an Event filter for any feature flag and treatment you’ve integrated.

In this example, the segment shows sessions where there is a getTreatment call to “multivariant_demo” and the user received “v3” as their treatment.

You can now play back and review specific customer experiences. Every session in this playlist showed v3 of the multivariant_demo feature flag.
Knowing which treatment a user saw for a particular feature flag is crucial data for evaluating their experience with FullStory. This simple integration makes that data available to analyze a single user’s session and to create segments for overall comparison of behavior between treatment groups.
Integrating FullStory events into Harness FME
Send FullStory events to Harness FME to use in experimentation. FullStory events are received from a FullStory webhook, transformed, and reported to FME. This lets FME share the event data channel that may already be in place for FullStory.
Using the FullStory events webhook, you can pass FullStory events to FME to use for measurement, alerts, and experimentation. Events are the result of an FS.event() call from the FullStory SDK, for example:

This transforms into the corresponding FME event:

Installing the FullStory events webhook
To install the FullStory events webhook, do the following:
Clone the fullstory events repository in an empty directory.
Inside the directory, copy your API keys (carefully) into files with the following names:
SPLIT_API_KEY (server-side API key for your desired environment)
FULLSTORY_API_KEY (I used admin)
From this same directory:
Installing the FullStory events webhook
A single node.js lambda does the work for the integration, using only the filesystem (for API keys) and the Axios HTTP client. The integration makes two cheap API calls per FullStory event. To install a FullStory webhook in AWS, do the following:
Create a new lambda called fullstory using the Node.js language.
Upload fullstory.zip to the Code screen of your AWS lambda.
Give the lambda a function URL to POST to it. Enable CORS and give the Allow Headers field a *.
Provide the function URL to the FullStory events webhook.
Use the FullStory webhook test button to make sure you get back a 200 response from your lambda.
Debugging
Use Amazon CloudWatch to look at inbound events and check they're properly handled. Some events take time to propagate, but CloudWatch gives early indication of trouble.
About this integration
This is a third-party integration that has been tested by the Harness FME team. Harness does not own or maintain this integration. For more information, contact the contributor.
If you’d like a demo of Harness FME or help to implement any of our integrations, contact support@split.io.
Last updated
Was this helpful?