Lucky Orange Troubleshooting | Blue Frog Docs

Lucky Orange Troubleshooting

Resolve Lucky Orange issues.

Common Issues and Solutions

Tracking Not Working

Symptoms

Troubleshooting Steps

1. Verify Script Installation

Check that the tracking script is present on all pages:

<!-- Should be in <head> or before </body> -->
<script async src="https://d10lpsik1i8c69.cloudfront.net/w.js"></script>

2. Confirm Site ID

Verify the correct site ID is set:

// Check in browser console
console.log(window.__lo_site_id);
// Should match your Lucky Orange site ID

3. Test in Incognito Mode

  • Open site in incognito/private browsing
  • Check if you appear in real-time dashboard
  • Ad blockers and browser extensions may interfere

4. Check for JavaScript Errors

Open browser console (F12) and look for errors:

  • Script loading errors (404, CORS)
  • JavaScript conflicts with other scripts
  • Content Security Policy (CSP) blocking

5. Verify Domain Settings

In Lucky Orange dashboard:

  • Settings > Site Settings
  • Ensure domain matches exactly
  • Check if www vs non-www is correct
  • Verify protocol (http vs https)

Quick Fixes

// Force reload Lucky Orange script
if (typeof window._loq === 'undefined') {
  window._loq = window._loq || [];
  console.log('Lucky Orange queue initialized');
}

// Verify script is loading
window.addEventListener('load', function() {
  if (window.__lo_site_id) {
    console.log('Lucky Orange loaded successfully');
  } else {
    console.error('Lucky Orange failed to load');
  }
});

Recordings Missing or Not Playing

Possible Causes

1. Recording Quota Exceeded

  • Check your plan's recording limit
  • Upgrade plan or adjust recording filters
  • Review Settings > Recordings > Recording Quota

2. Page Rules Blocking Recordings

  • Navigate to Settings > Recordings > Page Rules
  • Verify no rules are excluding desired pages
  • Check for overly restrictive URL patterns

3. Session Duration Too Short

  • Recordings shorter than 3 seconds may not save
  • User left immediately (bounce)
  • Check minimum recording duration setting

4. Browser Compatibility

  • Some older browsers may not support recordings
  • Mobile browser restrictions (especially iOS)
  • Check browser compatibility list

Solutions

// Manually trigger recording for testing
window._loq = window._loq || [];
_loq.push(['tag', 'Manual Recording Test']);
console.log('Test recording triggered');

// Verify recording is active
setTimeout(function() {
  console.log('If you see this, recording should be working');
}, 5000);

Check Recording Settings:

  • Settings > Recordings > Enable recordings
  • Verify "Record all pages" is checked
  • Review excluded pages list
  • Check recording sampling rate

Heatmaps Empty or Not Generating

Common Causes

1. Insufficient Traffic

  • Heatmaps require minimum pageviews (typically 30+)
  • Wait 24-48 hours for data collection
  • Check if enough visitors reached the page

2. URL Mismatch

  • URL must match exactly (including query parameters)
  • Check for trailing slashes
  • Verify http vs https
  • Consider using URL patterns instead of exact URLs

3. Dynamic Content

  • Single-page applications may need special handling
  • AJAX-loaded content requires additional configuration
  • Consider using event-based heatmaps

Solutions

Create Heatmap with Correct URL Pattern:

Instead of exact URL:

https://example.com/product/123

Use pattern:

https://example.com/product/*

Verify Heatmap Configuration:

  • Navigate to Heatmaps > Create New Heatmap
  • Use URL pattern matching
  • Set device type filter (desktop, mobile, or both)
  • Allow sufficient time for data collection

Form Analytics Not Capturing Data

Troubleshooting

1. Form Not Detected

  • Forms must have proper HTML structure
  • Each field needs name or id attribute
  • Submit button must be type="submit"
<!-- Properly structured form -->
<form id="contact-form" action="/submit" method="post">
  <input type="text" name="email" id="email" />
  <input type="text" name="name" id="name" />
  <button type="submit">Submit</button>
</form>

2. JavaScript Form Submission

For AJAX forms, trigger tracking manually:

// Track form submission
document.getElementById('contact-form').addEventListener('submit', function(e) {
  window._loq = window._loq || [];
  _loq.push(['tag', 'Form Submitted', 'Contact Form']);
});

3. Field Exclusions

  • Sensitive fields may be auto-excluded
  • Check Settings > Forms > Field Exclusions
  • Passwords and credit cards are automatically hidden

Live Chat Not Appearing

Checklist

1. Chat Widget Enabled

  • Settings > Chat > Enable chat widget
  • Check if chat is enabled for current page
  • Verify display rules

2. Page Rules

  • Review page targeting rules
  • Check URL patterns
  • Verify visitor criteria

3. Browser Console Errors

// Check if chat is loaded
console.log(typeof window._loq);
// Should output 'object'

// Manually show chat
window._loq = window._loq || [];
_loq.push(['ready', function() {
  console.log('Chat widget ready');
}]);

4. Timing Issues

  • Chat may be hidden initially
  • Check display delay settings
  • Test with different visitor scenarios

Performance Issues

Script Loading Slowly

1. Use Async Loading

<!-- Ensure async attribute is present -->
<script async src="https://d10lpsik1i8c69.cloudfront.net/w.js"></script>

2. Move Script Position

Place before closing </body> tag instead of in <head>:

<body>
  <!-- Your content -->
  <script async src="https://d10lpsik1i8c69.cloudfront.net/w.js"></script>
</body>

3. DNS Prefetch

<link rel="dns-prefetch" href="//d10lpsik1i8c69.cloudfront.net">

High Resource Usage

  • Check recording frequency settings
  • Adjust heatmap collection rate
  • Review form analytics scope
  • Consider limiting to specific pages

Privacy and Compliance Issues

Data Not Masking Properly

1. Configure Sensitive Data Masking

  • Settings > Privacy > Data Masking
  • Add CSS selectors for sensitive fields
  • Enable automatic PII detection
// Manually mask sensitive fields
window._loq = window._loq || [];
_loq.push(['mask', '.sensitive-data']);
_loq.push(['mask', '#credit-card']);

2. Exclude Specific Pages

// Prevent tracking on specific pages
if (window.location.pathname.includes('/admin/')) {
  window._loq = undefined;
  console.log('Lucky Orange disabled on admin pages');
}

GDPR Compliance

  • Enable cookie consent integration
  • Configure Settings > Privacy > GDPR
  • Implement cookie consent banner
  • Delay Lucky Orange until consent given:
// Wait for consent
function initLuckyOrange() {
  window._loq = window._loq || [];
  // Lucky Orange initialization
}

// Call after user consents
document.getElementById('accept-cookies').addEventListener('click', function() {
  initLuckyOrange();
});

Integration Issues

Google Tag Manager Not Working

Verify Tag Configuration:

  • Tag Type: Custom HTML
  • Trigger: All Pages
  • Fire on: Page View
<!-- GTM Tag Configuration -->
<script async src="https://d10lpsik1i8c69.cloudfront.net/w.js"></script>
<script>
  window.__lo_site_id = YOUR_SITE_ID;
</script>

Single Page Applications (SPAs)

Track Route Changes:

// React Router example
import { useEffect } from 'react';
import { useLocation } from 'react-router-dom';

function App() {
  const location = useLocation();

  useEffect(() => {
    window._loq = window._loq || [];
    _loq.push(['tag', 'Page View', location.pathname]);
  }, [location]);

  return <div>App Content</div>;
}

Debugging Tools

Enable Debug Mode

// Enable verbose logging
localStorage.setItem('lo_debug', 'true');
location.reload();

// Check console for detailed logs

Test Event Tracking

// Trigger test events
window._loq = window._loq || [];
_loq.push(['tag', 'Test Event ' + new Date().toISOString()]);

// Verify in dashboard within 30 seconds

Browser Console Diagnostics

// Complete diagnostic check
console.log('Lucky Orange Diagnostics:');
console.log('Site ID:', window.__lo_site_id);
console.log('Queue exists:', typeof window._loq !== 'undefined');
console.log('Script loaded:', typeof window._loq === 'object');
console.log('Current URL:', window.location.href);

Getting Additional Help

Support Resources

  • Help Center: help.luckyorange.com
  • Email Support: support@luckyorange.com
  • Live Chat: Available in Lucky Orange dashboard
  • Status Page: status.luckyorange.com
  • Knowledge Base: Searchable articles and guides

Before Contacting Support

Gather this information:

  1. Site ID
  2. Affected page URLs
  3. Browser and version
  4. Console errors (screenshot)
  5. Steps to reproduce issue
  6. When issue started
  7. Any recent website changes

Escalation Path

  1. Check help center and knowledge base
  2. Use in-app chat support
  3. Email support with detailed information
  4. Request phone support for critical issues (paid plans)

 


 

Related Resources:

// SYS.FOOTER