Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 15 Next »

Title for public documentation: Sending Experify Events to Data Collectors / CDPs

CPD 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.

Setup

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:

function myExperifyTrackingCallback(event) {
  analytics.track(event['eventName'])
}

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.

openedExperifyPlugin

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

ExperifyApi.push(["addHandler", "openedExperifyPlugin", function(event) {
  //Your code after successful Experify Plugin open
}]);

where event is defined as:

{
  "eventName": "openedExperifyPlugin",
  "timestamp": 1681803782584 //Event timestamp millis
}

clickedExperifyUserStory

Fires when user clicked any profile inside Experify Plugin.

ExperifyApi.push(["addHandler", "clickedExperifyUserStory", function(event) {
  //Your code after successful user story click
}]);

where event is defined as:

{
  "eventName": "clickedExperifyUserStory",
  "timestamp": 1681803782584 //Event timestamp millis
}

sentContactRequest

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

ExperifyApi.push(["addHandler", "sentContactRequest", function(event) {
  //Your code after successful contact request sent
}]);

where event is defined as:

{
  "eventName": "sentContactRequest",
  "timestamp": 1681803782584 //Event timestamp millis
}

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.

//experifyEventTracking.js

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

//Initialize Experify tracking object
ExperifyApi = window["ExperifyApi"] || [];

//Attach handlers
ExperifyApi.push(["addHandler", "openedExperifyPlugin", myExperifyTrackingCallback]);
ExperifyApi.push(["addHandler", "clickedExperifyUserStory", myExperifyTrackingCallback]);
ExperifyApi.push(["addHandler", "sentContactRequest", myExperifyTrackingCallback]);

  • No labels