Skip to main content
This guide helps you resolve common issues encountered when using Flashduty RUM Web SDK, including data collection anomalies, SDK configuration problems, and performance optimization.

Data Collection Verification

If you don’t see data on the RUM platform, follow these steps to check.

SDK Installation Check

1

Check Script Inclusion

Confirm that the RUM SDK is correctly included:
<script
  src="https://static.flashcat.cloud/browser-sdk/v0/flashcat-rum.js"
  type="text/javascript"
></script>
<script>
  window.FC_RUM &&
    window.FC_RUM.init({
      applicationId: "YOUR_APP_ID",
      clientToken: "YOUR_CLIENT_TOKEN",
      service: "<SERVICE_NAME>",
      env: "<ENV_NAME>",
      version: "1.0.0",
      sessionSampleRate: 10
    });
</script>
2

Check Console

Open browser developer tools (F12) and check the Console panel for JavaScript errors.
3

Verify Configuration

Confirm that the Application ID and Client Token match the configuration in the RUM console.

Network Request Check

  1. Open the Network panel in browser developer tools
  2. Filter for browser.flashcat.cloud requests
  3. Confirm the request status code is 200
  4. If requests fail, check the specific error message
If you see CORS errors, check that your CSP configuration is correct.

Browser Compatibility

Confirm your browser version is supported:
BrowserMin Version
Chrome60+
Firefox60+
Safari12+
Edge15+
Internet Explorer11 (limited features)

Ad Blocker Impact

Some ad blocker plugins may block RUM SDK operation. We recommend adding your domain and browser.flashcat.cloud to the whitelist.

Common Issue Solutions

Problem: SDK configuration is complete, but no data appears on the platform.Solutions:
  1. Wait for Data Sync: Data typically appears within 2-5 minutes
  2. Check Initialization Timing: Ensure SDK is initialized when page loads
  3. Check Sample Rate: Confirm sample rate is set appropriately
flashcatRum.init({
  // ... other config
  sessionSampleRate: 100  // Set to 100 to collect all sessions
});
  1. Check User Authorization: Confirm user tracking consent status
flashcatRum.setTrackingConsent("granted");
Problem: User behavior data is incomplete.Solutions:
  1. Enable Behavior Tracking:
flashcatRum.init({
  // ... other config
  trackUserInteractions: true
});
  1. Add Markers to Custom Elements:
<button data-action-name="Submit Form">Submit</button>
  1. Manually Record Complex Interactions:
flashcatRum.addAction("click", "Custom Button Click");
Problem: JavaScript errors are not being recorded.Solutions:
  1. Enable Error Tracking:
flashcatRum.init({
  // ... other config
  trackErrors: true
});
  1. Manually Report Errors in try-catch:
try {
  // Code that might error
} catch (error) {
  console.error(error);
  flashcatRum.addError(error);
}
  1. Configure Source Maps: For easier production debugging, see Source Mapping
Problem: Concerned about RUM SDK affecting website performance.Solutions:
  1. Only Enable Necessary Features:
flashcatRum.init({
  // ... other config
  trackResources: true,
  trackLongTasks: false,  // Disable unneeded features
  trackErrors: true,
  trackUserInteractions: true
});
  1. Adjust Sample Rate:
flashcatRum.init({
  // ... other config
  sessionSampleRate: 50  // Only collect 50% of sessions
});
  1. Filter Non-critical Resources:
flashcatRum.init({
  // ... other config
  beforeSend: (event) => {
    // Filter out non-critical resources
    if (event.type === 'resource' && event.resource.url.includes('/static/')) {
      return false;
    }
    return true;
  }
});
Problem: CSP policy blocks RUM SDK operation.Solution:Add the following rules to your CSP configuration:
script-src 'self' https://static.flashcat.cloud;
connect-src 'self' https://browser.flashcat.cloud;
Problem: Route changes in SPA applications are not being recorded.Solutions:
import { useEffect } from "react";
import { useLocation } from "react-router-dom";

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

  useEffect(() => {
    flashcatRum.startView({
      name: location.pathname,
      url: location.pathname + location.search
    });
  }, [location]);

  return null;
}

// Use in App component
function App() {
  return (
    <Router>
      <RumRouteTracker />
      {/* Other routes */}
    </Router>
  );
}

Advanced Debugging

Enable Debug Mode

Enable debug mode to get detailed logs in the console:
flashcatRum.init({
  // ... other config
  debug: true
});

Force Data Collection

Force full data collection during testing:
flashcatRum.init({
  // ... other config
  sessionSampleRate: 100,
  sessionReplaySampleRate: 100
});
Do not use 100% sample rate in production to avoid excessive data and costs.

Console Debug Commands

Use the following commands in the browser console:
// Get RUM internal context
window.FC_RUM.getInternalContext();

// Get current session ID
window.FC_RUM.getSessionId();

// Get current page ID
window.FC_RUM.getViewId();

// Manually send test event
window.FC_RUM.addAction('test', 'debug_action');

Network Request Analysis

  1. Open developer tools Network panel
  2. Filter for browser.flashcat.cloud requests
  3. View request Payload to confirm data content
  4. Check Response to confirm successful upload

FAQ

Typically within 2-5 minutes, may be slightly delayed during peak times.
Yes, iOS Safari and Android Chrome and other mainstream mobile browsers are supported, but some advanced features (like Long Tasks monitoring) may be limited.
You can conditionally decide whether to initialize based on URL:
// Exclude admin pages
if (!window.location.pathname.startsWith("/admin")) {
  flashcatRum.init({
    // ... config
  });
}
The following configuration is needed:
  1. Use the same Application ID and Client Token
  2. Set consistent user identification
  3. Enable cross-domain tracking:
flashcatRum.init({
  // ... other config
  allowedTracingUrls: [
    "https://example.com",
    "https://app.example.com",
    "https://shop.example.com"
  ]
});
You can:
  1. Lower Sample Rate: Set sessionSampleRate to 10-50
  2. Disable Unnecessary Features: e.g., trackLongTasks: false
  3. Exclude Specific Pages: Don’t initialize on admin or internal pages
  4. Configure Data Filtering: Use beforeSend to filter non-critical data

Contact Support

If issues persist after troubleshooting, please contact our technical support team.
1

Prepare Diagnostic Information

Please collect the following information:
  • Application ID
  • Browser type and version
  • SDK version
  • Console error screenshots
  • Network panel request screenshots
  • Steps to reproduce the issue
2

Contact Support

  • Email: support@flashcat.cloud
  • Online Chat: Click the “Help” button in the bottom right corner of the platform