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:
- Site ID
- Affected page URLs
- Browser and version
- Console errors (screenshot)
- Steps to reproduce issue
- When issue started
- Any recent website changes
Escalation Path
- Check help center and knowledge base
- Use in-app chat support
- Email support with detailed information
- Request phone support for critical issues (paid plans)
Related Resources: