Clicky Troubleshooting and Debugging | Blue Frog Docs

Clicky Troubleshooting and Debugging

Diagnose and resolve common issues with Clicky analytics implementation, data collection, and reporting.

Troubleshooting Overview

This guide covers common issues with Clicky analytics and provides solutions to get your tracking working correctly. From installation problems to data discrepancies, find answers to the most frequent challenges.

 


 

Installation Issues

Tracking Code Not Loading

Symptoms:

  • No data appearing in Clicky dashboard
  • Real-time view shows no visitors despite active traffic

Diagnostic Steps:

  1. View your page source and search for "clicky"
  2. Check browser console for JavaScript errors
  3. Verify the Site ID matches your Clicky account

Solutions:

<!-- Verify your tracking code format -->
<script>
  var clicky_site_ids = clicky_site_ids || [];
  clicky_site_ids.push(YOUR_SITE_ID);  <!-- Must be a number, not string -->
</script>
<script async src="//static.getclicky.com/js"></script>

Common Mistakes:

  • Site ID wrapped in quotes (should be a number)
  • Missing closing script tag
  • Tracking code placed inside comments
  • Script blocked by content security policy

Script Blocked by Browser Extensions

Symptoms:

  • Tracking works for some visitors but not others
  • Ad blockers preventing script load

Solutions:

  1. Test in incognito mode without extensions
  2. Check if your site is on any blocking lists
  3. Consider self-hosting the tracking script:
<!-- Self-hosted option (download from Clicky first) -->
<script async src="/js/clicky.js"></script>

WordPress Plugin Issues

Symptoms:

  • Plugin installed but no tracking occurring
  • Conflict with caching or optimization plugins

Solutions:

  1. Clear all caches after plugin installation
  2. Exclude Clicky script from JavaScript minification
  3. Verify settings are saved correctly:
    • Check Site ID field isn't empty
    • Confirm tracking isn't disabled for admins
// Add to wp-config.php if needed to debug
define('CLICKY_DEBUG', true);

 


 

Data Collection Problems

Missing Page Views

Symptoms:

  • Some pages tracked, others not
  • Traffic counts lower than expected

Diagnostic Steps:

  1. Compare tracked pages vs. untracked pages
  2. Check for conditional loading of tracking code
  3. Verify single-page app navigation triggers tracking

Solutions:

For SPA frameworks, manually track page views on route change:

// React Router example
useEffect(() => {
  if (typeof clicky !== 'undefined') {
    clicky.log(window.location.pathname, document.title);
  }
}, [location]);

// Vue Router example
router.afterEach((to) => {
  if (typeof clicky !== 'undefined') {
    clicky.log(to.path, document.title);
  }
});

Events Not Recording

Symptoms:

  • clicky.goal() calls not appearing in reports
  • Event tracking works sometimes but not consistently

Diagnostic Steps:

  1. Verify Clicky is loaded before goal calls
  2. Check goal name matches configuration
  3. Test in real-time dashboard

Solutions:

// Ensure Clicky is loaded before tracking
function safeTrackGoal(name, revenue, title) {
  if (typeof clicky === 'undefined' || typeof clicky.goal !== 'function') {
    console.warn('Clicky not ready, retrying...');
    setTimeout(function() { safeTrackGoal(name, revenue, title); }, 500);
    return;
  }
  clicky.goal(name, revenue, title);
}

// Usage
safeTrackGoal('signup', 0, 'Newsletter Signup');

Bot Traffic Inflation

Symptoms:

  • Unusually high traffic numbers
  • Suspicious patterns in visitor logs

Solutions:

  1. Enable Clicky's bot filtering (usually on by default)
  2. Review and exclude known bot user agents
  3. Check for referrer spam:

In Clicky dashboard:

  • Go to PreferencesFiltering
  • Add spam domains to the block list
  • Enable IP blocking for persistent offenders

Missing Referrer Data

Symptoms:

  • High percentage of "direct" traffic
  • Expected referrals not appearing

Causes:

  • HTTPS to HTTP transitions
  • Browser privacy settings
  • Referrer-Policy headers

Solutions:

  1. Ensure your site uses HTTPS consistently
  2. Check your server's Referrer-Policy header:
<!-- Allow referrer for same-origin and downgrades -->
<meta name="referrer" content="no-referrer-when-downgrade">
  1. Use UTM parameters for campaign tracking to avoid reliance on referrer headers

 


 

Data Discrepancies

Clicky vs. Server Logs

Common Causes:

  • Bot traffic (filtered by Clicky, present in logs)
  • JavaScript-disabled visitors (in logs, not Clicky)
  • Cached pages served without Clicky loading

Reconciliation:

  • Expect Clicky to show 10-30% less than raw server logs
  • Focus on trends rather than absolute numbers
  • Use Clicky as the source of truth for human visitor behavior

Clicky vs. Google Analytics

Common Differences:

  • Session timeout definitions
  • Bot filtering approaches
  • Sampling (GA samples high-traffic sites, Clicky doesn't)

Investigation Steps:

  1. Compare the same date range
  2. Check for tracking code presence on all pages
  3. Verify both tools use the same page filtering

Expected Variance:

  • 10-20% difference is normal
  • Larger differences indicate implementation issues

Real-Time vs. Historical Data

Symptoms:

  • Real-time shows activity, historical reports are empty
  • Numbers don't match between views

Causes:

  • Timezone configuration issues
  • Data processing delays
  • Filtering applied to historical but not real-time

Solutions:

  1. Verify timezone settings in PreferencesGeneral
  2. Wait for data processing (usually immediate, but can delay)
  3. Check if filters are affecting historical views

 


 

Heatmap Issues

Heatmaps Not Generating

Symptoms:

  • Empty heatmap display
  • "Not enough data" message

Solutions:

  1. Verify heatmaps are enabled in preferences
  2. Check minimum traffic threshold is met
  3. Ensure the page URL matches exactly:
// Heatmaps track specific URLs
// www.example.com/page ≠ example.com/page
// Canonicalize URLs where possible

Heatmap Data Inaccurate

Symptoms:

  • Click locations offset from actual elements
  • Scroll tracking not matching page length

Causes:

  • Dynamic content loading after heatmap initialization
  • Responsive layouts rendering differently
  • Lazy-loaded images changing page height

Solutions:

  1. Ensure page content is stable before tracking
  2. Test on the same viewport size you're analyzing
  3. For dynamic content, delay heatmap capture:
// Wait for dynamic content
window.addEventListener('load', function() {
  setTimeout(function() {
    // Heatmap data will be more accurate
  }, 2000);
});

 


 

Uptime Monitoring Issues

False Downtime Alerts

Symptoms:

  • Receiving alerts when site is actually up
  • Intermittent false positives

Causes:

  • Network latency from Clicky's monitors
  • Firewall blocking monitoring requests
  • CDN issues affecting certain regions

Solutions:

  1. Whitelist Clicky monitoring IPs
  2. Increase timeout threshold in settings
  3. Verify your server responds to HEAD requests:
# Test what Clicky sees
curl -I https://yoursite.com

Alerts Not Sending

Symptoms:

  • Site goes down but no notification received

Diagnostic Steps:

  1. Verify email address in alert settings
  2. Check spam folder for Clicky emails
  3. Test with a manual alert trigger

Solutions:

  1. Add clicky.com to email whitelist
  2. Configure backup alert method (SMS, Slack)
  3. Verify alert conditions match your needs

 


 

Performance Issues

Tracking Script Slowing Page Load

Symptoms:

  • Lighthouse reports script as render-blocking
  • Slow page load times attributed to Clicky

Solutions:

The default async loading should prevent blocking:

<!-- Correct: async loading -->
<script async src="//static.getclicky.com/js"></script>

<!-- Also correct: defer loading -->
<script defer src="//static.getclicky.com/js"></script>

Additional optimizations:

  • Move tracking code to footer
  • Use resource hints:
<link rel="preconnect" href="https://static.getclicky.com">
<link rel="dns-prefetch" href="https://static.getclicky.com">

Dashboard Loading Slowly

Symptoms:

  • Reports take long time to load
  • Timeouts when accessing data

Solutions:

  1. Reduce date range for queries
  2. Use specific report types instead of overview
  3. Check your internet connection
  4. Try accessing during off-peak hours

 


 

API Troubleshooting

Authentication Errors

Symptoms:

  • API returns 401 or authentication failed
  • "Invalid credentials" message

Solutions:

# Verify credentials
curl "https://api.clicky.com/api/stats/4?site_id=YOUR_SITE_ID&sitekey=YOUR_KEY&type=visitors&output=json"
  1. Confirm Site Key (not Site ID) is used for API auth
  2. Regenerate API key if compromised
  3. Check for URL encoding issues with special characters

Rate Limiting

Symptoms:

  • API returns 429 errors
  • Requests failing intermittently

Solutions:

  1. Implement exponential backoff:
async function fetchWithRetry(url, maxRetries = 3) {
  for (let i = 0; i < maxRetries; i++) {
    try {
      const response = await fetch(url);
      if (response.status === 429) {
        await new Promise(r => setTimeout(r, Math.pow(2, i) * 1000));
        continue;
      }
      return response;
    } catch (error) {
      if (i === maxRetries - 1) throw error;
    }
  }
}
  1. Cache API responses locally
  2. Batch requests where possible
  3. Contact Clicky for higher rate limits if needed

Empty API Responses

Symptoms:

  • API returns empty arrays
  • Missing expected data

Diagnostic Steps:

  1. Verify date range has data
  2. Check type parameter is valid
  3. Confirm site has tracking enabled

Common Issues:

  • Wrong date format (use: YYYY-MM-DD)
  • Requesting data before tracking was installed
  • Using test site ID without data

 


 

Getting Support

Before Contacting Support

  1. Check Clicky's status page for known issues
  2. Search the Clicky forums for similar problems
  3. Gather relevant information:
    • Site ID
    • Browser and version
    • Steps to reproduce
    • Screenshots of errors

Contact Options

Include:

  • Clear description of the issue
  • What you've already tried
  • Any error messages received
// SYS.FOOTER