Limits and troubleshooting

Events not showing

A checklist for when Rabolic events don't appear. Debug mode, the environment filter, the key's kind and project, consent, bot and internal traffic filters, dropped and rejected events, and report caching.

Work through this list in order. Most problems are one of the first five.

1. Look at Live first

Open Live. It shows the newest events within seconds and refreshes every 10 seconds. If an event is on Live, it arrived: the problem is a report filter, not the SDK.

2. Turn on debug mode

Every SDK logs each call and why an event was dropped:

rabolic.init({ projectKey: 'rb_pub_…', debug: true })

To test a key and host without your app, run:

Terminal
npx rabolic check --key rb_pub_…

3. Check the environment filter

The filter bar shows Production by default. Events take their environment from the key: a staging or development key sends to Staging or Development. Switch the environment select, or use a production key.

4. Check the key

  • The right project? Each project has its own keys. Copy the key again from Integrations → API keys in the project you're looking at.
  • The right kind? Browsers and apps need a publishable key (rb_pub_). The web, React Native and Flutter SDKs refuse secret keys; the Node.js SDK refuses publishable keys. With debug: true, the SDK says so.
  • Revoked? A revoked key gets 401 invalid_key, and the SDK stops sending until the app restarts.

With consent: 'pending', the SDK keeps events in memory and sends nothing until setConsent('granted'). With 'denied', it drops them. Make sure your consent banner calls setConsent().

6. Check what reports leave out

Reports leave out:

  • bots, when Bot filtering is on in Project settings;
  • internal traffic from the IP ranges in Project settings, such as your office;
  • events outside the date range and platforms you picked.

Bot and internal flags are set when an event arrives.

7. Check for dropped events

Events are dropped, not recorded, when:

  • the trial ended, the plan ended, or the organization has no plan;
  • the plan's allowance is used up and overage is off, or the spending limit is reached;
  • the trial's 250,000-event cap is reached;
  • a project's monthly cap is reached.

Usage & billing shows dropped events, and the dashboard shows a banner when events aren't recorded. See Usage and overage.

8. Check for rejected events

Usage & billing also shows rejected events. Common causes:

  • revenue events sent with a publishable key (revenue_needs_secret_key);
  • a custom event name starting with $ (reserved_name);
  • an event over 32 KB (too_large);
  • a timestamp more than 30 days old (too_old).

See Rejection reasons.

9. Give reports a minute

Reports that include today are cached for a minute, so trends catch up within about a minute of Live. Choose Updated … ago in the filter bar to refresh.

10. Revenue is missing

  • Revenue events need a secret key, from your server or Dodo Payments.
  • With Dodo Payments connected, revenue events from your server add no revenue: the webhooks are the revenue. See One revenue source per project.
  • Check the Dodo Payments card in Integrations → Payments for failed webhook events.

Still stuck?

Write to support@rabolic.com with your project, the SDK and its version, and what debug: true logs.