Skip to main content

How to diagnose rate limiting and recurrence conflicts

Learn how rate limits and recurrence settings can prevent a Chameleon Experience from showing, and how to use the Debugger to identify which one is the cause.

Written by Amanda Oliveira
Updated today

Two separate mechanisms can suppress a Chameleon Experience even when everything else is configured correctly: rate limits and recurrence settings. Both are intentional features, but they are a common source of confusion when testing or when users report not seeing an Experience they expect to see.


How rate limits and recurrence differ

Recurrence is a per-Experience setting that controls how many times a single user can see that Experience. Options include once, every session, every time, and custom intervals.

Rate limits are account-level or group-level Governance rules that control how many Chameleon Experiences a user can see in a given time window, across all Experiences. Rate limits are set in Governance > Rate Limiting in the Dashboard.

When both apply, rate limits take precedence over recurrence. A user can match the audience and have a valid recurrence allowance, but still not see an Experience if the rate limit has been reached.


How to check if rate limiting or recurrence is the cause

Run the Debugger with your Experience ID:

chmln.debug("YOUR_EXPERIENCE_ID")

Look for these messages in the output:

Message

What it means

Rate limited

The user has reached their rate limit for this period. The Experience will not show until the limit resets.

Already completed

The user completed this Experience and Recurrence is set to "Does not repeat".

Already exited

The user dismissed this Experience and Recurrence is set to "Does not repeat".

πŸ’‘ Tip: Not sure if rate limiting or recurrence is the culprit? Copilot can help you think through your setup and point you in the right direction. Share your Debugger output and it can help you make sense of what you're seeing.


How to fix rate limiting or recurrence for testing

Rate Limiting

Rate limits are applied to real user sessions including your own. When you are testing, rate limits can make it look like an Experience is broken when it is actually being suppressed as intended.

To bypass rate limits during testing:

  1. Go to Governance > Rate Limiting in the Dashboard.

  2. Add the Experience you want to test to 'Exclusions'

  3. Reset your Experience history (see below) and reload the page.

⚠️ Remember to restore the rate limit settings after testing. Removing rate limits in production allows users to be shown multiple Experiences in quick succession.

Recurrence

If an Experience is set to show once and you have already seen it, it will not show again without resetting your history.

To reset your history:

  1. Go to your Profile page (under Account) in the Dashboard.

  2. Click the refresh icon next to your user profile.

  3. Open a fresh incognito window (or fully close and reopen Chrome) to clear local storage as well.

πŸ’‘ While testing, temporarily set the Experience Recurrence to "Repeat after page reload" so it shows on every page load without needing to reset history each time. Change it back before publishing to real users.


Still stuck?

Did this answer your question?