- Help Center
- Configuration
- Full Stack
-
Getting Started
-
Configuration
- Targeting
- Split URL
- Product Testing
- Full Stack
- Experiment Management
- CSP Configuration
- Experiment Execution
- Reports
- Exit Popups
- GTM Integration
- Troubleshooting
- Performance Optimization
- Event-Triggered Changes
- Holdout Groups
- Split URL Pages
- URL Parameters
- DataLayer
- Menu Configurations
- Traffic Exclusion
- Experiment Scheduling
- Dynamic Element Changes
- Price Targeting
- Experience Scheduling
- Privacy
- Hash Changes
- Async Tracking
- Selective Installation
- CSS Selectors
- Vue.js Integration
- Page Content
- Multipage Split URL
- Organic Traffic
- Visual Editor
- Server-Side Testing
- Traffic Bucketing
- GDPR Warnings
- Statistical Confidence
- Browser Privacy
- Query Parameters
- Embedded Videos
- Tracking Code Execution
- Simultaneous Experiments
- Tags
- Deployments
- Disable Testing
- Locations
- Programmatic Bucketting
- Query Parameter Handling
- Convert Library
- Variation Previews
- Experiment Editing
- Opt-Out Script
- Data Reset
- Body Hiding
- Visit-Specific Variations
- Variation Styling
- Preview Issues
- Variation Editing
- Full-Site Testing
- Blinking Variations
- Cross-Domain Cookies
- Regex Support
- Conversion Tracking
- SPA Testing
- Project Setup
- Cross-Domain Tracking
- Geo-Targeting
- Analytics Tools
- Campaign Tags
- Previewing
- IDs
- Query String Targeting
- Bounce Rate Goals
- Bot Filtering
- Query String Variables
- Custom Audiences
- Redirects
- Baseline
- Tracking Code Location
- Secure Cookies
- AngularJS
- Cloudflare
- Code Installation
-
Track Goals
- Form Tracking
- Cookie Management
- iFrame Click Tracking
- Performance Optimization
- Revenue Tracking
- Interaction Goals
- Form Submissions
- Advanced Goals
- Lazy Loading
- Multi-Conversions
- URL Parameters
- Bounce Rate Goals
- DataLayer Integration
- Scroll Depth
- Social Interactions
- Page Views
- Marketo Forms
- Feature Analysis
- AJAX Forms
- Revenue Tracking via GTM
- Order Outliers
- Cumulative Revenue
- Goal Templates
- Adding Revenue Goals
- JS-Based Goals
- Goal Basics
- Google Analytics Goals
- Social Sharing
- Dynamic Goals
- Typeform Integration
-
Target Visitors
- Geolocation
- Interaction Goals
- Goal-Based Targeting
- Weather Targeting
- Cookie-Based Targeting
- Page Visits
- Audience Management
- Audience Segmentation
- Experiment Targeting
- Advanced Audience Creation
- Audience Templates
- Audience Creation
- Data Layer Integration
- Manual Activation
- JavaScript Conditions
- Device Targeting
- Language Targeting
- IP-Based Exclusion
- Visitor Management
- Page Tagging
- Cookies
-
Troubleshooting
- Google Warnings
- Visual Editor
- HTTPS Content
- Logs
- Support Options
- Bootstrap
- Cookie Blocking
- Change History
- Mobile Debugging
- AdWords
- Bot Exclusion
- Domain Issues
- Cloudflare Issues
- Monitoring
- Cloaking Penalties
- Goal Editor Issues
- Variations
- Snippet Performance
- Changes Not Saved
- Blocked Visual Editor
- Goal Testing
- Visual Editor Browsing
- Experiment Issues
- Installation Verification
- Data Leak Prevention
- Usage Limits
- Experiment Previews
- GA4 Revenue
- Chrome Debugger Logs
- SPA Errors
- Checkout JSON Error
-
Analyze Results
-
Integrations
- Google Analytics
- Cookie Consent Platforms
- Microsoft Clarity
- Plausible
- Marketo
- HubSpot
- Tealium
- Smartlook
- Klaviyo
- Salesforce CRM
- FullStory
- Snowplow Analytics
- Webflow
- GA4 Roles
- Amplitude
- Segment
- React
- BigCommerce
- WooCommerce
- Active Campaign
- Google Tag Manager
- Mixpanel
- Zapier
- Inspectlet
- Crazy Egg
- LanderApp
- Unbounce
- Instapage
- Drupal
- PrestaShop
- Magento
- Roistat
- Piano Analytics
- Heap Analytics
- Kissmetrics
- Mouseflow
- Adobe Analytics
- Clicky
-
Account Management
-
Developers
-
What's New
-
Common Questions
-
Shopify
Integrating Convert.com's Full Stack SDK and Web Testing for Enhanced A/B Testing
THIS ARTICLE WILL HELP YOU:
- Setting Up Experiments
- Communication Between Server-Side and Client-Side
- Best Practices for Seamless Integration
- Conclusion
Integrating Convert.com's Full Stack SDK with the Web Testing project offers a powerful approach to conducting A/B testing, providing flexibility in how variations are assigned and ensuring accurate tracking of user interactions. By leveraging server-side logic for deterministic variation assignment and offering an alternative client-side bucketing option, businesses can tailor their experimentation strategy to fit specific needs. This comprehensive guide outlines both methods, ensuring that you can implement the one that best suits your testing requirements.
Setting Up Experiments
Full Stack Project
Begin by setting up your experiment in the Full Stack project. This setup focuses on server-side variation assignment, using the SDK's deterministic bucketing based on the murmur hash algorithm.
const convertSDK = require('convert-sdk')('YOUR_PROJECT_API_KEY');
const context = convertSDK.createContext('USER_UNIQUE_ID');
const variation = context.runExperience('EXPERIENCE_KEY');
console.log(variation); // Outputs the assigned variation
Web Testing Project
Create a corresponding experiment in the Web Testing project for client-side tracking and analysis of user interactions with the variations.
window._conv_q = window._conv_q || [];
window._conv_q.push(['executeExperiment', 'WEB_TESTING_PROJECT_EXPERIMENT_ID']);
Communication Between Server-Side and Client-Side
After assigning variations on the server-side, communicate this assignment to the client-side effectively by setting a specific cookie. This alignment is crucial for accurate tracking within the Web Testing project.
// Example using Node.js and Express for setting a cookie
res.cookie('_conv_sptest', `FULL_STACK_PROJECT_EXPERIMENT_ID:VARIATION_ID`, { maxAge: 10000, httpOnly: true });
Best Practices for Seamless Integration
- Maintain Experiment Consistency: Ensure alignment in objectives, variations, and expected outcomes between Full Stack and Web Testing projects.
- Clear Variation Communication: Use consistent identifiers for experiments and variations across both projects.
- Comprehensive Testing: Conduct thorough testing to ensure functionality and data accuracy before going live.
Conclusion
Creating separate experiments in both the Full Stack and Web Testing projects enables a comprehensive framework for A/B testing. This approach leverages the advantages of both server-side assignment and client-side tracking for detailed insights and optimized digital experiences.