Troubleshooting

Common issues and how to resolve them when integrating Emp-Mix.

Events are not showing up in the Live Feed

1. Check your API Key

The most common reason for missing events is using the wrong API key.

  • Ensure you are using the Public API Key in the SDK initialization, not the Secret Key.
  • Ensure you are using the correct environment key (e.g., using the Development key when testing locally).

2. Check the SDK Flush Interval

By default, the JavaScript SDK flushes events every 5 seconds, and the Flutter SDK flushes every 30 seconds.

  • If you just triggered an event, wait for the flush interval to pass.
  • If you closed the browser tab before the flush interval triggered, the event may be queued in localStorage and will be sent the next time you open the app.

3. Check the Browser Console / Debug Logs

Enable debug mode to see exactly what the SDK is doing.

  • JS SDK: EmpMix.init('KEY', { debug: true })
  • Flutter SDK: EmpAnalytics.init('KEY', debug: true)

Look for HTTP 400 or 401 errors in the console.

⚠️
Ad Blockers
If you are testing the JS SDK on a personal browser with a strict ad blocker (like uBlock Origin or Brave Shields), the network request to api.empmix.com may be blocked. Disable the ad blocker for localhost during testing.

User Profiles are not updating

1. Verify the Identify Call

User properties are tied to a specific distinct_id. If you call setUserProperties() without first calling identify() (or before the SDK has generated an anonymous ID), the request will fail.

2. Understand Property Overrides

When you use setUserProperties() (or $set in the API), it overwrites the existing value. If you want to increment a value, ensure you are using increment() (or $add).

Funnels show 0% conversion between steps

This usually occurs because of an identity mismatch. If Step 1 is performed anonymously, and Step 2 is performed after login, but you forgot to call alias() during registration, the backend sees two different users. Thus, the funnel breaks. Ensure you are calling alias() correctly on signup.

Last updated on June 4, 2026