Skip to content
FacebookYouTubeX (Twitter)

How to Install the Pingstreams Live Chat Widget on a Wix Website

Learn how to seamlessly integrate the Pingstreams live chat widget into your Wix website. This comprehensive guide will walk you through the entire process, from initial setup to advanced customization options.

Integrating Pingstreams with your Wix website offers powerful benefits:

  • 24/7 AI Customer Support - Automated responses to visitor inquiries
  • Lead Generation - Capture and qualify potential customers
  • Increased Conversions - Real-time assistance during the buying process
  • Global Reach - Multi-language support for international visitors
  • Professional Image - Enhance credibility with instant support availability
  • Analytics Insights - Track visitor behavior and support effectiveness

Before starting the installation:

  • Wix Premium Plan - Custom code features require a paid Wix plan
  • Wix Editor Access - Administrative rights to your Wix site
  • Active Pingstreams Account - Sign up at Pingstreams if you haven’t already
  • Project ID - Available from your Pingstreams dashboard
  1. Log in to your Wix account and access your website’s dashboard
  2. Open your site in the Wix Editor
  3. In the dashboard, navigate to “Settings”
    • You can usually find this option in the top menu or sidebar
  4. This will open your site’s configuration panel
  1. Within the “Settings” section, select “Advanced”
  2. Under “Advanced,” click on the “Custom Code” tab
    • This is where you can add custom code snippets to your Wix website
    • Custom code allows for advanced functionality beyond Wix’s built-in features

To add the Pingstreams live chat widget code:

  1. Click on the ”+ Add Custom Code” button located at the top right corner of the “Custom Code” tab
  2. This will open a new dialog box for code configuration

Step 4: Configure the Pingstreams Widget Code

Section titled “Step 4: Configure the Pingstreams Widget Code”

In the code configuration dialog, you’ll need to set up several parameters:

In the text box provided, paste the following Pingstreams widget code:

<script type="application/javascript">
window.pingstreamsSettings = {
  projectid: "your-project-id-here"
};

(function(d, s, id) {
  var w = window;
  var d = document;
  var i = function() { i.c(arguments); };
  i.q = [];
  i.c = function(args) { i.q.push(args); };
  w.Pingstreams = i;
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s);
  js.id = id;
  js.async = true;
  js.src = "https://widget.pingstreams.com/v6/launch.js";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'pingstreams-jssdk'));
</script>

Important: Replace "your-project-id-here" with your actual Pingstreams Project ID from your dashboard.

Give your code snippet a recognizable name such as:

  • “Pingstreams Chat Widget”
  • “Live Chat Support”
  • “Customer Support Widget”

This name will make it easier to identify and manage later.

Step 6: Configure Page Application Settings

Section titled “Step 6: Configure Page Application Settings”

Choose where you want the code to be applied:

  • Select “All pages”
  • This adds the Pingstreams widget to all of your site’s pages, including future pages
  • Provides consistent support availability across your entire site
  • Choose “Choose specific pages”
  • Use the drop-down menu to select specific pages where you want to display the widget
  • Useful for targeting specific sections like product pages, contact pages, or pricing pages

Select where to place the code within your page’s HTML structure under “Place Code in:“

“Body - end” (Most Recommended)

  • Loads the widget after the main page content
  • Doesn’t block page rendering
  • Ensures fast page load times

“Head”

  • Loads early in the page lifecycle
  • Good for essential functionality
  • May slow initial page rendering

“Body - start”

  • Loads immediately when body starts
  • Can interfere with above-the-fold content
  • Generally not recommended for chat widgets

Finally, click the “Apply” button to save your changes and activate the Pingstreams live chat widget on your Wix website.

Enhance your widget with advanced configuration:

<script type="application/javascript">
window.pingstreamsSettings = {
  projectid: "your-project-id-here",
  
  // Appearance customization
  widgetColor: "#007cba",
  widgetPosition: "bottom-right",
  widgetSize: "medium",
  
  // Behavior settings
  autoOpen: false,
  welcomeMessage: "Hello! How can we help you today?",
  offlineMessage: "We're currently offline. Leave us a message!",
  
  // Wix-specific settings
  platform: "wix",
  siteType: "business", // or "personal", "ecommerce", etc.
  
  // User context (if available)
  userEmail: "", // Can be populated dynamically
  userName: "",  // Can be populated dynamically
  
  // Custom fields for lead capture
  customFields: {
    company: "",
    phone: "",
    website: ""
  }
};

(function(d, s, id) {
  var w = window;
  var d = document;
  var i = function() { i.c(arguments); };
  i.q = [];
  i.c = function(args) { i.q.push(args); };
  w.Pingstreams = i;
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s);
  js.id = id;
  js.async = true;
  js.src = "https://widget.pingstreams.com/v6/launch.js";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'pingstreams-jssdk'));
</script>

Add mobile-specific styling for better user experience:

<style>
/* Mobile-specific chat widget adjustments */
@media (max-width: 768px) {
  .pingstreams-widget {
    bottom: 15px !important;
    right: 15px !important;
    z-index: 999999 !important;
  }
  
  .pingstreams-chat-window {
    width: 90vw !important;
    height: 70vh !important;
    max-width: 350px !important;
    border-radius: 10px !important;
  }
  
  .pingstreams-widget-button {
    width: 60px !important;
    height: 60px !important;
  }
}

/* Desktop optimizations */
@media (min-width: 769px) {
  .pingstreams-chat-window {
    width: 350px !important;
    height: 500px !important;
    box-shadow: 0 5px 25px rgba(0, 0, 0, 0.2) !important;
  }
}
</style>

<script type="application/javascript">
// Your Pingstreams widget code here
</script>

For Wix online stores, enhance the chat with product context:

<script type="application/javascript">
// Check if we're on a product page
if (window.location.pathname.includes('/product-page/')) {
  window.pingstreamsSettings = {
    projectid: "your-project-id-here",
    ecommerce: true,
    productContext: {
      // This data can be dynamically populated
      productName: document.querySelector('.product-title')?.textContent || '',
      productPrice: document.querySelector('.price')?.textContent || '',
      productCategory: 'general',
      inStock: true
    }
  };
} else {
  window.pingstreamsSettings = {
    projectid: "your-project-id-here"
  };
}

// Standard widget loading code
(function(d, s, id) {
  var w = window;
  var d = document;
  var i = function() { i.c(arguments); };
  i.q = [];
  i.c = function(args) { i.q.push(args); };
  w.Pingstreams = i;
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s);
  js.id = id;
  js.async = true;
  js.src = "https://widget.pingstreams.com/v6/launch.js";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'pingstreams-jssdk'));
</script>

For service-based businesses using Wix Bookings:

<script type="application/javascript">
window.pingstreamsSettings = {
  projectid: "your-project-id-here",
  bookingSystem: true,
  services: {
    availableServices: ["consultation", "appointment", "service-booking"],
    businessHours: {
      monday: "9:00-17:00",
      tuesday: "9:00-17:00",
      wednesday: "9:00-17:00", 
      thursday: "9:00-17:00",
      friday: "9:00-17:00",
      saturday: "10:00-14:00",
      sunday: "closed"
    }
  },
  customResponses: {
    bookingInquiry: "I'd be happy to help you schedule an appointment! What service are you interested in?",
    availabilityCheck: "Let me check our availability for you. What date works best?"
  }
};

// Widget loading code here
</script>

For international Wix sites:

<script type="application/javascript">
// Detect page language (adjust selector as needed)
const pageLanguage = document.documentElement.lang || 'en';

const languageSettings = {
  'en': {
    welcomeMessage: "Hello! How can we help you today?",
    offlineMessage: "We're currently offline. Please leave a message!"
  },
  'es': {
    welcomeMessage: "¡Hola! ¿Cómo podemos ayudarte hoy?",
    offlineMessage: "Actualmente estamos desconectados. ¡Por favor deja un mensaje!"
  },
  'fr': {
    welcomeMessage: "Bonjour! Comment pouvons-nous vous aider aujourd'hui?",
    offlineMessage: "Nous sommes actuellement hors ligne. Veuillez laisser un message!"
  },
  'de': {
    welcomeMessage: "Hallo! Wie können wir Ihnen heute helfen?",
    offlineMessage: "Wir sind derzeit offline. Bitte hinterlassen Sie eine Nachricht!"
  }
};

window.pingstreamsSettings = {
  projectid: "your-project-id-here",
  language: pageLanguage,
  welcomeMessage: languageSettings[pageLanguage]?.welcomeMessage || languageSettings['en'].welcomeMessage,
  offlineMessage: languageSettings[pageLanguage]?.offlineMessage || languageSettings['en'].offlineMessage
};

// Widget loading code
</script>
<script type="application/javascript">
// Define pages where chat should appear
const chatPages = [
  '/contact',
  '/pricing',
  '/product-page',
  '/services',
  '/support'
];

// Check if current page should show chat
const currentPath = window.location.pathname;
const shouldShowChat = chatPages.some(page => currentPath.includes(page)) || 
                      currentPath === '/' || // Homepage
                      currentPath.includes('/blog/'); // Blog posts

if (shouldShowChat) {
  window.pingstreamsSettings = {
    projectid: "your-project-id-here"
  };
  
  // Load widget code only if conditions are met
  (function(d, s, id) {
    var w = window;
    var d = document;
    var i = function() { i.c(arguments); };
    i.q = [];
    i.c = function(args) { i.q.push(args); };
    w.Pingstreams = i;
    var js, fjs = d.getElementsByTagName(s)[0];
    if (d.getElementById(id)) return;
    js = d.createElement(s);
    js.id = id;
    js.async = true;
    js.src = "https://widget.pingstreams.com/v6/launch.js";
    fjs.parentNode.insertBefore(js, fjs);
  }(document, 'script', 'pingstreams-jssdk'));
}
</script>

Show chat only during business hours:

<script type="application/javascript">
function isBusinessHours() {
  const now = new Date();
  const day = now.getDay(); // 0 = Sunday, 1 = Monday, etc.
  const hour = now.getHours();
  
  // Business hours: Monday-Friday 9AM-6PM, Saturday 10AM-2PM
  if (day >= 1 && day <= 5) { // Monday to Friday
    return hour >= 9 && hour < 18;
  } else if (day === 6) { // Saturday
    return hour >= 10 && hour < 14;
  }
  return false; // Sunday closed
}

if (isBusinessHours()) {
  window.pingstreamsSettings = {
    projectid: "your-project-id-here",
    businessHours: true,
    status: "online"
  };
} else {
  window.pingstreamsSettings = {
    projectid: "your-project-id-here",
    businessHours: false,
    status: "offline",
    offlineMessage: "We're currently closed. Business hours: Mon-Fri 9AM-6PM, Sat 10AM-2PM"
  };
}

// Load widget code
</script>

Track chat interactions with GA4:

<script type="application/javascript">
// Enhanced Pingstreams settings with analytics
window.pingstreamsSettings = {
  projectid: "your-project-id-here",
  analytics: true,
  
  // Event callbacks for tracking
  onChatStart: function() {
    // Track chat initiation
    if (typeof gtag !== 'undefined') {
      gtag('event', 'chat_started', {
        'event_category': 'engagement',
        'event_label': 'pingstreams_widget',
        'custom_parameter': window.location.pathname
      });
    }
  },
  
  onMessageSent: function(message) {
    // Track message sending
    if (typeof gtag !== 'undefined') {
      gtag('event', 'chat_message_sent', {
        'event_category': 'engagement',
        'event_label': 'user_message',
        'custom_parameter': message.length
      });
    }
  },
  
  onChatEnd: function(duration) {
    // Track chat completion
    if (typeof gtag !== 'undefined') {
      gtag('event', 'chat_ended', {
        'event_category': 'engagement',
        'event_label': 'chat_duration',
        'custom_parameter': duration
      });
    }
  }
};

// Standard widget loading code
</script>
<script type="application/javascript">
window.pingstreamsSettings = {
  projectid: "your-project-id-here",
  
  onChatStart: function() {
    // Track with Wix analytics if available
    if (window.wixDeveloperAnalytics) {
      window.wixDeveloperAnalytics.track('Chat Started', {
        page: window.location.pathname,
        timestamp: new Date().toISOString()
      });
    }
  }
};

// Widget loading code
</script>

Possible Causes:

  1. Wix Plan Limitations - Free plans don’t support custom code
  2. Incorrect Project ID - Double-check your Pingstreams dashboard
  3. JavaScript Errors - Check browser console for conflicts
  4. Ad Blockers - Some blockers prevent chat widgets

Solutions:

  1. Upgrade to Wix Premium plan with custom code support
  2. Verify Project ID in your Pingstreams dashboard
  3. Check browser console for JavaScript errors
  4. Test with ad blockers disabled

Common Problems:

  • Widget overlapping with Wix mobile menu
  • Chat window too large on small screens
  • Touch interaction problems

CSS Solutions:

/* Mobile-specific fixes */
@media (max-width: 480px) {
  .pingstreams-widget {
    bottom: 80px !important; /* Avoid mobile menu overlap */
    right: 10px !important;
    z-index: 99999 !important;
  }
  
  .pingstreams-chat-window {
    width: calc(100vw - 20px) !important;
    height: 60vh !important;
    left: 10px !important;
    right: 10px !important;
    margin: 0 !important;
  }
}

Lazy Loading Implementation:

<script type="application/javascript">
// Load widget after user interaction or delay
function loadPingstreamsWidget() {
  window.pingstreamsSettings = {
    projectid: "your-project-id-here"
  };
  
  (function(d, s, id) {
    var w = window;
    var d = document;
    var i = function() { i.c(arguments); };
    i.q = [];
    i.c = function(args) { i.q.push(args); };
    w.Pingstreams = i;
    var js, fjs = d.getElementsByTagName(s)[0];
    if (d.getElementById(id)) return;
    js = d.createElement(s);
    js.id = id;
    js.async = true;
    js.src = "https://widget.pingstreams.com/v6/launch.js";
    fjs.parentNode.insertBefore(js, fjs);
  }(document, 'script', 'pingstreams-jssdk'));
}

// Load after user scrolls or after 3 seconds
let widgetLoaded = false;
function initWidget() {
  if (!widgetLoaded) {
    loadPingstreamsWidget();
    widgetLoaded = true;
  }
}

window.addEventListener('scroll', initWidget, { once: true });
setTimeout(initWidget, 3000);
</script>
  • Widget appears on intended pages
  • Chat window opens properly
  • Mobile responsive design works
  • No JavaScript console errors
  • Fast page loading maintained
  • Analytics tracking functional (if implemented)
  • Multi-browser compatibility verified
  • Touch interactions work on mobile devices

Test your widget on:

  • Chrome (desktop and mobile)
  • Safari (desktop and mobile)
  • Firefox (desktop and mobile)
  • Edge (desktop)
  • Samsung Internet (mobile)

Monitor these metrics after installation:

  • Page Load Speed - Should remain unchanged
  • Time to Interactive - Widget shouldn’t block interaction
  • First Contentful Paint - Main content should load first
  • Cumulative Layout Shift - Widget shouldn’t cause layout jumps

Success! Your Wix Website Now Has Pingstreams! 🎉

Section titled “Success! Your Wix Website Now Has Pingstreams! 🎉”

That’s it! Your Wix website is now equipped with the Pingstreams live chat widget, allowing you to:

  • Engage with visitors in real-time
  • Provide excellent customer support
  • Capture leads automatically
  • Answer questions instantly with AI
  • Build stronger customer relationships
  • Increase conversion rates through better engagement
  1. Configure AI responses for common inquiries about your business
  2. Set up automated workflows for lead qualification
  3. Customize widget appearance to match your Wix site design
  4. Create department routing for different types of inquiries
  5. Implement user authentication for personalized experiences
  • CRM integration for seamless lead management
  • Email marketing automation based on chat interactions
  • Advanced analytics and reporting dashboards
  • Multi-agent support for team collaboration
  • Custom chatbot flows for specific business processes
  • Wix Stores integration for e-commerce support
  • Wix Bookings connection for appointment scheduling
  • Wix Events integration for event-related inquiries
  • Member area support for logged-in users
  • Blog integration for content-related discussions
  • 📚 Comprehensive documentation for advanced features
  • 🎥 Video tutorials specifically for Wix users
  • 💬 Community forum for questions and best practices
  • 🔧 Technical support for custom implementation needs
  • 🎨 Design resources for widget customization

Ready to transform your Wix site’s visitor experience? Your Pingstreams chat widget is now live and ready to help you connect with customers, generate leads, and provide exceptional support!

For additional customization help or technical support, our team is available to ensure your Pingstreams + Wix integration delivers maximum value for your business.