Troubleshooting

Solutions to common issues and problems with the Weevio Shopify Widget.

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 script
  • Failed to fetch - Network or CORS issue
  • Invalid 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: true in widget config
  • Feature purchased in Weevio Cloud
  • Product has cross-sell associations in PIMS
  • Products have crossSell: true tag 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
  • storefrontAccessToken is 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:

  1. Verify Team ID in Weevio Cloud
  2. Test connection in Weevio Cloud settings
  3. 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

  1. Open Developer Tools (F12)
  2. Go to Network tab
  3. Reload page
  4. 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:

  1. Your details:

    • Team ID
    • Shopify domain
    • Contact email
  2. Problem description:

    • What feature isn't working
    • Expected vs. actual behavior
    • When problem started
  3. Technical details:

    • Browser and version
    • Desktop or mobile
    • JavaScript console errors (screenshot)
    • Network tab errors (screenshot)
  4. 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:

  1. Check configuration syntax
  2. Verify Team ID
  3. Test API connectivity
  4. Check browser console for details

"Unable to fetch product data"

Cause: Product not found or API error

Solution:

  1. Verify product ID in configuration
  2. Check product exists and is published
  3. Test Shopify API connection in Weevio Cloud

"Customer pricing unavailable"

Cause: B2B API issue or customer not configured

Solution:

  1. Verify customer logged in
  2. Check customer assigned to price list
  3. Verify B2B API key configured
  4. Test API connection

"Shipping estimates unavailable"

Cause: Feature not purchased or API error

Solution:

  1. Verify feature purchased in Weevio Cloud
  2. Check USPS credentials (Premium)
  3. Verify product has valid SKU
  4. 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.