Sending Experify Events to Data Collectors / CDPs

CDP Integration for Experify

Customer Data Platforms (CDPs) are an important part of the modern marketer’s tech stack. As a third-party service that your website visitors will interact with, Experify enables you to augment a visitor's CDP record with event data reflecting the visitor’s usage of your Experify offering. This data can be useful for various reasons:

  • identifying flaws in your Experify integration

  • tracking the effectiveness of your Experify offering

  • augmenting visitor data for improved targeting

The below documentation describes the technical integration of this functionality.

Sending Experify events to data collectors


We use the command pattern for configuration and execution of custom event handlers.


Create a file experifyEventTracking.js and include it in your website. Make sure that the experify.js script will be loaded as well, together with potentially any other CDP-related scripts (such as e.g. Klaviyo's klaviyo.js or Segment's analytics.js).

The following code snippets and examples are to be added to your experifyEventTracking.js.

(We suggest adding your Experify event tracking to such a separate javascript file for easier maintainability, but ultimately it is up to you where you add the needed code, and strictly speaking, creating experifyEventTracking.js isn’t necessary.)

Initialize Experify Tracking

Initialize the global ExperifyApi object. This object must be initialized before any handlers (see below) are registered.

ExperifyApi = window["ExperifyApi"] || [];

Define callback functions

In order to track events with the below handlers, you will have to define the callback function that should be executed when an event happens and send associated event data to your data collector.

Your callback function will have access to an object called event of the following type:

event = { eventName: string timestamp: bigint }

Below are simple callback function examples for two famous CDPs. Define these, or any other callback function you want to use, in experifyEventTracking.js.

Example Callback 1: Send event data to Klaviyo

If you want to send data to your Klaviyo CDP, and you already have the klaviyo.js installed on your website, a simple callback function to associate the Experify event with your CDP record could look something like this:

function myExperifyTrackingCallback(event) { klaviyo.push(['track', event['eventName']]) }

Please note the Klaviyo developer documentation.

Example Callback 2: Send event data to Segment

If you want to send data to your Segment CDP, and you already have the Segment analytics.js installed on your website, a simple callback function to associate the Experify event with your CDP record could look something like this:

Please note the Segment developer documentation.

Clearly, you can define whatever callback function you like, above are just two simple examples.

Available Event types

Below you will find a list of available event types that can be sent to your data collector.


Fires when Experify Plugin is opened by the user (for example by clicking the button).

where event is defined as:


Fires when user clicked any profile inside Experify Plugin.

where event is defined as:


Fires when new contact request is sent, so new conversation has started.

where event is defined as:


Example experifyEventTracking.js

Here is an example experifyEventTracking.js, assuming you want to track events openedExperifyPlugin and clickedExperifyUserStory and sentContactRequest and you are using Klaviyo as your CDP.