Integrate Convert Experiences with SAP Hybris

This Article Will Help You:


Convert-SAP Hybris Integration

Integration of SAP Hybris with Convert Experiences will help you to import Convert data into your SAP Hybris account by using the help of Segment.io and Blendr.io

For each experiment, the integration uses semantic track events to pass along the experiment name and variation name that the visitor is currently bucketed into.

We will need:

  1. Segment account to be used as the data source to send data from Convert Experiences to Blendr.
  2. A Blendr account to be used as the data blender between Segment and SAP Hybris.
  3. A SAP Hybris account to connect your data with SAP Hybris Campaigns.

Add Tracking Code Snippets

Make sure the Convert tracking code and the Segment tracking code (analytics.js) are installed on your page. The Segment tracking code looks like this:

Activate Convert-Segment Integration 

Add the code below to your website right after the Convert + Segment tracking codes which will send Convert Experience and Variation names to Segment Debugger/Schema:

// Convert snippet lifecycle hook for experiences evaluated
window._conv_q = window._conv_q || [];
_conv_q.push({
  what: 'addListener',
  params: {
    event: 'snippet.experiences_evaluated',
    handler: function () {
      console.log('All experiences have been evaluated');
      // Prepare the data for each experiment and variation
      const data = Object.keys(convert.currentData.experiences).map(
        getEventData
      );
      // Wait for the Segment library to be available
      whenAvailable('analytics', function () {
        // Once Segment is available, process and send data
        sendDataToSegment(data);
      });
    }
  }
});

// Function to handle the data sending to Segment
function sendDataToSegment(data) {
  if (typeof analytics?.track === 'function') {
    data.forEach(({experienceName, variationName}) => {
      analytics.track([
        'Convert Experiences',
        {
          Exp_Name: experienceName,
          Var_Name: variationName
        }
      ]);
      console.log(
        'Sent data to Segment: Experience =',
        experienceName,
        'Variation =',
        variationName
      );
    });
  } else {
    console.error('Segment tracking function (analytics) is not available.');
  }
}

// Function to get experience and variation names for Segment
function getEventData(experienceId) {
  const configExperiences = convert.data.experiences;
  const currentExperience = convert.currentData.experiences[experienceId];
  const experience = configExperiences.find(({id}) => id === experienceId);
  if (!experience) return {};
  const experienceName = String(
    experience?.name || 'unknown experiment name'
  ).replace('Test #', 'Test ');
  const variationName = String(
    currentExperience.variaiton?.name || 'unknown variant'
  ).replace('Var #', 'Variation ');
  return {
    experienceName,
    variationName
  };
}

// Function to check if a library (e.g., Segment) is loaded, with a timeout
function whenAvailable(name, callback) {
  const maxTime = 150 * 1000; // Maximum time to wait in milliseconds (2.5 minutes)
  const interval = 100; // Poll every 100 milliseconds
  let elapsedTime = 0; // Track the elapsed time

  let intervalId = setInterval(function () {
    if (window[name]) {
      clearInterval(intervalId);
      callback();
    } else if (elapsedTime > maxTime) {
      clearInterval(intervalId);
      console.error(name + ' library did not load in time.');
    }
    elapsedTime += interval;
  }, interval);
}

View Convert Data in Segment

Using a semantic event in Segment, you will be able to view all of your Convert Experiences data as they associate to the values that you pass in the event.

When you log in to your Segment account, you should go to your Schema. Inside your Schema, you can see all of the track events that you are sending through Segment, and if they are active or inactive.

Add SAP Hybris and Segment.io as Data Sources in Blendr.io

Go to Blendr.io and add SAP Hybris and Segment.io as data sources. For Segment you will need the API Write Key which you can find in Segment settings, while for SAP Hybris you will need the Apikey and InstanceURL:

Add a Data Blend

In My Data Blends section add a data blend where you will use custom code to send Segment data (which already have events to pick Convert Experiences data) to SAP Hybris:

View Data in SAP Hybris

You can now login to your SAP Hybris account and view Convert Experiences data.