Step 10 of 36 (28% complete)
Integrations
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.
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
- Load Asynchronously: Always load the ODP script asynchronously to avoid blocking page rendering
- Track Key Events: Focus on events that matter for your business goals
- Consistent Naming: Use consistent event and property naming conventions
- Data Validation: Validate data before sending to ensure quality
- Privacy Compliance: Respect user consent preferences and privacy laws
- 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!