Heap

// Eraya + Heap Integration
function initializeErayaHeap() {
  if (window.Eraya && window.heap) {
    const sdk = window.Eraya.getSDK();
    
    if (sdk) {
      const userManager = sdk.getUserManager();
      const erayaUserId = userManager.getErayaUserId();
      
      // Get all active experiments
      const activeTests = sdk.getActiveExperiments();
      
      if (activeTests && activeTests.length > 0) {
        // Track experiment exposures
        activeTests.forEach(test => {
          heap.track('Experiment Viewed', {
            experimentId: test.testId,
            variantId: test.variationId
          });
        });
        
        // Identify user with experiment data
        const properties = {
          eraya_user_id: erayaUserId,
          eraya_visitor_type: userManager.getVisitorType(),
          eraya_country: userManager.getUserCountry()
        };
        
        // Add each test as a property
        activeTests.forEach(test => {
          properties[`eraya_test_${test.testId}`] = test.variationId;
        });
        
        heap.addUserProperties(properties);
        heap.identify(erayaUserId);
      }
    }
  } else {
    setTimeout(initializeErayaHeap, 100);
  }
}

// Initialize on page load
initializeErayaHeap();

Last updated