This guide provides solutions to common issues you may encounter with the Weevio Shopify Widget. Issues are organized by category for easy navigation.
Widget Not Loading
Symptoms
- Blank space where widget should appear
- No shipping estimates or availability information
- Widget container exists but is empty
Solutions
1. Verify widget code is installed
Check that the widget code exists in your product template:
<!-- Widget should include all three parts: -->
<!-- 1. Configuration -->
<script>
window.weevioWidgetConfig = { ... };
</script>
<!-- 2. Container -->
<div id="Weevio-eCommerce-Widget-Root"></div>
<!-- 3. Script -->
<script defer src="https://api.weevio.com/ecommerce-widget/index.js"></script>
2. Check configuration values
Verify required fields are correct:
// Open browser console (F12) and run:
console.log(window.weevioWidgetConfig);
// Check:
// - teamID matches Weevio Cloud
// - shopifyDomain is correct
// - productId is not null
3. Check for JavaScript errors
Open browser console (F12) and look for red error messages. Common errors:
weevioWidgetConfig is not defined- Configuration not loaded before scriptFailed to fetch- Network or CORS issueInvalid teamID- Incorrect Team ID in configuration
4. Verify API connectivity
Test the widget script loads:
Open: https://api.weevio.com/ecommerce-widget/index.js
Should show JavaScript code (not 404 error)
5. Check theme compatibility
Some themes may need adjustments:
- Ensure widget container isn't hidden by CSS
- Check no JavaScript conflicts with theme
- Try placing widget in different location in template
Features Not Appearing
Cross-Sell Modal Not Showing
Checklist:
-
enableCrossSell: truein widget config - Feature purchased in Weevio Cloud
- Product has cross-sell associations in PIMS
- Products have
crossSell: truetag in Shopify - "Add to Cart" button is working
Test:
// Check configuration
console.log(window.weevioWidgetConfig.enableCrossSell); // Should be true
// Check cross-sell API
// Add product to cart and watch Network tab for cross_sell API call
Improved Variant Selection Not Working
Checklist:
-
enableImprovedVariantSelection: true -
storefrontAccessTokenis configured - Storefront API scopes enabled in Shopify Custom App
- Product has multiple variants
Test:
// Check configuration
console.log(window.weevioWidgetConfig.storefrontAccessToken); // Should show token
// Check Storefront API access
// Open Network tab, look for GraphQL requests
Common issue: Token not working
- Copy token again from Shopify Custom App
- Verify Storefront API scopes are enabled
- Check token hasn't been revoked
Shipping Estimates Not Loading
Checklist:
- Feature purchased in Weevio Cloud
- Premium plan for zip-based estimates
- USPS credentials configured (Premium)
- Product has valid SKU
- Vendor APIs configured (for multi-source)
Test:
// Check API response
// Open Network tab in browser
// Look for /api/v1/shopify/widget request
// Check response for shippingEstimates data
Common issues:
- "Getting shipping estimate..." stuck loading - API timeout or error
- No estimates shown - Product SKU doesn't match vendor system
- Wrong delivery dates - Incorrect warehouse zip or USPS credentials
B2B Pricing Issues
Customer Pricing Not Showing
Checklist:
- Customer is logged in
-
customerId: '{{ customer.id | json }}'in config - B2B API key configured in Weevio Cloud
- Customer assigned to price list in Shopify
- Price list has pricing configured
Test:
// Check customer ID
console.log(window.weevioWidgetConfig.customerId); // Should show ID when logged in
// Check if prices fetched
// Network tab should show /api/v1/shopify/b2b/get-variants-price-list request
Debug B2B API:
// Check API response
// Should return priceList object with customer prices
// If empty, customer not assigned to price list
PunchOut FromIdentity Not Working
Checklist:
- URL contains
?fromIdentity=parameter - Format matches approved prefixes
- Customer exists in Shopify with matching tag
- Customer assigned to price list
Test:
// Check fromIdentity captured
console.log(sessionStorage.getItem('weevio_fromIdentity'));
// Should show: "SAP_Ariba_Buyer:CUSTOMER_ID"
// Check customer resolved
console.log(sessionStorage.getItem('weevio_fromIdentity_customerId'));
// Should show: "gid://shopify/Customer/123456"
// Check price code
console.log(sessionStorage.getItem('weevio_fromIdentity_priceCode'));
// Should show price list code
Common issues:
- FromIdentity not detected - Check URL parameter spelling
- Customer not resolved - Tag doesn't match fromIdentity exactly
- Wrong pricing - Customer assigned to wrong price list
Session Expired
FromIdentity expires after 12 hours. Solutions:
// Clear and test again
sessionStorage.clear();
// Reload with fromIdentity in URL
window.location.href = '?fromIdentity=AN01234567890';
Performance Issues
Widget Loading Slowly
Causes and solutions:
1. Too many vendor APIs
- Reduce enabled vendor integrations
- Increase minimum inventory thresholds
- Use caching more aggressively
2. Large product catalog
- Limit variant preloading
- Optimize product images
- Enable lazy loading
3. Network issues
- Check API response times in Network tab
- Test from different network
- Verify no VPN/proxy issues
Measure performance:
// Check widget load time
performance.getEntriesByName('https://api.weevio.com/ecommerce-widget/index.js');
Page Load Impact
Widget designed to not block page render. If experiencing issues:
// Ensure script has 'defer' attribute
<script defer src="https://api.weevio.com/ecommerce-widget/index.js"></script>
Configuration Errors
JavaScript Syntax Errors
Common mistakes:
// ❌ Missing comma
{
enableCrossSell: true
enableImprovedVariantSelection: true // Missing comma above
}
// ✅ Correct
{
enableCrossSell: true,
enableImprovedVariantSelection: true,
}
// ❌ Trailing comma before closing brace (IE/older browsers)
{
enableCrossSell: true,
}
// ✅ Correct
{
enableCrossSell: true
}
Liquid Syntax Errors
Common mistakes:
// ❌ Missing quotes around Liquid
customerId: {{ customer.id | json }},
// ✅ Correct
customerId: '{{ customer.id | json }}',
// ❌ Wrong quote type
storefrontAccessToken: "{{ customer.id | json }}",
// ✅ Correct
storefrontAccessToken: '{{ customer.id | json }}',
Mobile Issues
Widget Not Displaying on Mobile
Check:
- Responsive CSS not hiding widget
- Touch events working
- Mobile viewport configured
- No mobile-specific JavaScript errors
Test on real devices:
- iOS Safari
- Android Chrome
- Different screen sizes
Touch/Tap Not Working
Solutions:
- Ensure buttons not too small
- Check z-index of modal overlays
- Verify no conflicting touch handlers
API Connection Issues
403 Forbidden Errors
Causes:
- Invalid Team ID
- Store not connected in Weevio Cloud
- API key revoked or expired
Solutions:
- Verify Team ID in Weevio Cloud
- Test connection in Weevio Cloud settings
- Reconnect store if needed
404 Not Found Errors
Causes:
- Incorrect API endpoint
- Product not found
- Customer not found
Check:
// Verify configuration
console.log(window.weevioWidgetConfig.baseURL); // Should be https://cloud.weevio.co
console.log(window.weevioWidgetConfig.productId); // Should be valid product ID
Timeout Errors
Causes:
- Slow vendor APIs
- Network connectivity
- Server overload
Solutions:
- Increase timeout in configuration
- Check vendor API status
- Contact Weevio support if persistent
Browser-Specific Issues
Safari/iOS Issues
Known issues:
- SessionStorage cleared aggressively
- CORS restrictions tighter
- Service workers disabled in private mode
Solutions:
- Test in normal (not private) mode
- Verify CORS headers
- Use localStorage as fallback if needed
Internet Explorer
Widget supports modern browsers only:
- Chrome, Firefox, Safari, Edge (Chromium)
- IE11 and older not supported
Debugging Tools
Enable Debug Mode
window.weevioWidgetConfig = {
// ... your config ...
debug: true // Enables console logging
};
Console Commands
// View full configuration
console.log(window.weevioWidgetConfig);
// Check widget version
console.log(window.weevioWidget?.version);
// Inspect session data
console.log({
fromIdentity: sessionStorage.getItem('weevio_fromIdentity'),
customerId: sessionStorage.getItem('weevio_fromIdentity_customerId'),
priceCode: sessionStorage.getItem('weevio_fromIdentity_priceCode'),
timestamp: sessionStorage.getItem('weevio_fromIdentity_timestamp')
});
// Clear session for testing
sessionStorage.clear();
// Force reload widget
location.reload(true);
Network Tab Analysis
- Open Developer Tools (F12)
- Go to Network tab
- Reload page
- Look for:
/api/v1/shopify/widget- Main widget data/api/v1/shopify/cross_sell- Cross-sell products/api/v1/shopify/b2b/*- B2B pricing calls
Check response status codes:
- 200 - Success
- 400 - Bad request (check parameters)
- 403 - Forbidden (authentication issue)
- 404 - Not found
- 500 - Server error (contact support)
Getting Additional Help
Before Contacting Support
Gather this information:
-
Your details:
- Team ID
- Shopify domain
- Contact email
-
Problem description:
- What feature isn't working
- Expected vs. actual behavior
- When problem started
-
Technical details:
- Browser and version
- Desktop or mobile
- JavaScript console errors (screenshot)
- Network tab errors (screenshot)
-
Configuration:
- Copy of your widget configuration
- Feature purchase status
- Recent changes
Contact Information
- Support portal: Weevio Cloud dashboard
- Email: support@weevio.com
- Documentation: This knowledge base
Response Times
- Critical issues (widget not loading): 4-8 hours
- Feature issues: 1-2 business days
- Configuration questions: 2-3 business days
Additional Resources
Common Error Messages
"Widget failed to initialize"
Cause: Configuration error or API unavailable
Solution:
- Check configuration syntax
- Verify Team ID
- Test API connectivity
- Check browser console for details
"Unable to fetch product data"
Cause: Product not found or API error
Solution:
- Verify product ID in configuration
- Check product exists and is published
- Test Shopify API connection in Weevio Cloud
"Customer pricing unavailable"
Cause: B2B API issue or customer not configured
Solution:
- Verify customer logged in
- Check customer assigned to price list
- Verify B2B API key configured
- Test API connection
"Shipping estimates unavailable"
Cause: Feature not purchased or API error
Solution:
- Verify feature purchased in Weevio Cloud
- Check USPS credentials (Premium)
- Verify product has valid SKU
- Test vendor API connections
Can't find your issue? Contact Weevio support with details and we'll help resolve it.
Need Help?
For assistance, please send a message to our Support page.