Step 10 of 36 (28% complete)

Integrations

Minesh Shah photo

ODP Integration Marketplace

Optimizely Data Platform offers an extensive marketplace of pre-built integrations that allow you to connect your data sources quickly and efficiently. These integrations eliminate the need for custom development in most cases.

ODP Integration Marketplace

Types of Integrations Available

The ODP marketplace includes integrations for:

  • E-commerce Platforms: Shopify, Magento, WooCommerce, BigCommerce
  • Customer Service: Zendesk, Salesforce Service Cloud, Intercom
  • Marketing Automation: Mailchimp, Klaviyo, HubSpot, Marketo
  • Analytics: Google Analytics, Adobe Analytics, Mixpanel
  • CRM Systems: Salesforce, Microsoft Dynamics, Pipedrive
  • Payment Processors: Stripe, PayPal, Square
  • Social Media: Facebook, Instagram, Twitter, LinkedIn
  • Data Warehouses: Snowflake, BigQuery, Redshift

Benefits of Pre-Built Integrations

  • Rapid Deployment: Get up and running in minutes, not weeks
  • No-Code Setup: Configure integrations through intuitive UI
  • Maintained & Updated: Optimizely maintains compatibility with platform changes
  • Security: Built-in security best practices and compliance standards
  • Reliability: Battle-tested integrations used by thousands of customers

JavaScript Integration: Custom Data Collection

For custom tracking and real-time data collection, ODP provides a powerful JavaScript SDK that can be embedded directly into your website or application.

Documentation Reference: For a complete list of standard events and their required properties, refer to the official ODP Event Tracking Documentation. This documentation provides detailed specifications for all supported event types, required and optional parameters, and implementation examples.

Basic JavaScript Implementation

// Initialize ODP tracking
(function() {
  window.zaius = window.zaius || [];
  window.zaius.methods = [
    'initialize', 'onready', 'event', 'entity', 'identify', 'anonymize', 'dispatch'
  ];
  window.zaius.factory = function(t) {
    return function() {
      var e = Array.prototype.slice.call(arguments);
      e.unshift(t);
      window.zaius.push(e);
      return window.zaius;
    };
  };
  
  for (var i = 0; i < window.zaius.methods.length; i++) {
    var key = window.zaius.methods[i];
    window.zaius[key] = window.zaius.factory(key);
  }
  
  var script = document.createElement('script');
  script.src = 'https://d1igp3oop3iho5.cloudfront.net/v2/YOUR_TRACKER_ID/zaius-min.js';
  script.async = true;
  document.head.appendChild(script);
})();

// Initialize with your tracker ID
zaius.initialize('YOUR_TRACKER_ID');

// Track page views
zaius.event('page_view', {
  page_type: 'product',
  product_id: 'SKU-12345',
  category: 'Electronics'
});

Advanced Event Tracking

// Track product view events
zaius.event('product', {
  action: 'detail',
  product_id: 'SKU-12345',
  sku: 'SKU-12345',
  product_name: 'Wireless Headphones',
  product_category: 'Electronics',
  product_price: 99.99,
  product_url: '/products/wireless-headphones',
  product_image_url: '/images/headphones.jpg'
});

// Track add to cart events
zaius.event('product', {
  action: 'add_to_cart',
  product_id: 'SKU-12345',
  sku: 'SKU-12345',
  product_name: 'Wireless Headphones',
  product_price: 99.99,
  quantity: 1
});

// Track purchase events
zaius.event('order', {
  action: 'purchase',
  order_id: 'ORDER-789',
  total: 149.98,
  currency: 'USD',
  coupon: 'SAVE10',
  items: [
    {
      product_id: 'SKU-12345',
      sku: 'SKU-12345',
      product_name: 'Wireless Headphones',
      product_price: 99.99,
      quantity: 1
    },
    {
      product_id: 'SKU-67890',
      sku: 'SKU-67890',
      product_name: 'Phone Case',
      product_price: 49.99,
      quantity: 1
    }
  ]
});

// Track search events
zaius.event('search', {
  query: 'wireless headphones',
  results: 25
});

// Track newsletter signup
zaius.event('newsletter', {
  action: 'signup',
  list_id: 'main_newsletter'
});

Customer Identification

// Identify customers
zaius.identify({
  email: 'customer@example.com',
  first_name: 'John',
  last_name: 'Doe',
  phone: '+1234567890',
  customer_id: 'CUST-12345'
});

// Update customer profile
zaius.entity('customers', {
  email: 'customer@example.com',
  first_name: 'John',
  last_name: 'Doe',
  phone: '+1234567890',
  city: 'New York',
  state: 'NY',
  country: 'US',
  birthday: '1990-01-15',
  gender: 'M'
});

Real-Time Data Streaming

The JavaScript integration enables real-time data streaming, which powers:

  • Instant Personalization: Update content based on user actions
  • Real-Time Segmentation: Move users between segments immediately
  • Triggered Campaigns: Launch campaigns based on specific behaviors
  • Live Dashboards: See customer activity as it happens

Implementation Best Practices

  1. Load Asynchronously: Always load the ODP script asynchronously to avoid blocking page rendering
  2. Track Key Events: Focus on events that matter for your business goals
  3. Consistent Naming: Use consistent event and property naming conventions
  4. Data Validation: Validate data before sending to ensure quality
  5. Privacy Compliance: Respect user consent preferences and privacy laws
  6. Follow Documentation: Always refer to the official event specifications to ensure proper implementation

Integration Architecture

// Example: E-commerce site integration
class ODPIntegration {
  constructor(trackerId) {
    this.trackerId = trackerId;
    this.init();
  }

  init() {
    // Initialize Zaius
    this.initializeZaius();
    // Set up event listeners
    this.setupEventListeners();
  }

  initializeZaius() {
    window.zaius = window.zaius || [];
    // Load Zaius script
    const script = document.createElement('script');
    script.src = `https://d1igp3oop3iho5.cloudfront.net/v2/${this.trackerId}/zaius-min.js`;
    script.async = true;
    document.head.appendChild(script);
    
    zaius.initialize(this.trackerId);
  }

  setupEventListeners() {
    // Track product views
    document.addEventListener('product-view', (event) => {
      this.trackProductView(event.detail);
    });

    // Track add to cart
    document.addEventListener('add-to-cart', (event) => {
      this.trackAddToCart(event.detail);
    });
  }

  trackProductView(product) {
    zaius.event('product', {
      action: 'detail',
      product_id: product.id,
      sku: product.sku,
      product_name: product.name,
      product_category: product.category,
      product_price: product.price,
      product_url: product.url,
      product_image_url: product.image
    });
  }

  trackAddToCart(item) {
    zaius.event('product', {
      action: 'add_to_cart',
      product_id: item.product_id,
      sku: item.sku,
      product_name: item.product_name,
      product_price: item.price,
      quantity: item.quantity
    });
  }
}

// Initialize ODP integration
const odp = new ODPIntegration('YOUR_TRACKER_ID');

Custom API Integrations

For advanced use cases, ODP also provides REST APIs for custom integrations:

  • Events API: Send custom events and user data
  • Profiles API: Manage customer profiles and attributes
  • Segments API: Create and manage audience segments
  • Campaigns API: Trigger and manage marketing campaigns

These APIs enable developers to build sophisticated integrations that go beyond what's available in the marketplace, providing maximum flexibility for unique business requirements.

Additional Resources

Have questions? I'm here to help!

Contact Me