All Collections
Getting Started
Before using Chameleon
Will Chameleon work with my product?
Will Chameleon work with my product?

Learn more about how we handle the technology you may use in your application.

Chameleon Team avatar
Written by Chameleon Team
Updated over a week ago

Chameleon makes it easy to create, deploy, and manage in-product Experiences. We are built for browser-based web applications and rely on JavaScript to show the Experience.Β 

We are aware that each product is architected uniquely and our goal is to support all common technologies. We work with customers with diverse products and we support a wide range of technologies, including SPA, or mobile web applications. Explore how our customers succeed with Chameleon from our Case Studies.

Please refer to the guide below to help ensure a successful implementation on your application.

Chameleon fully supports JavaScript web application frameworks. This includes (but is not limited to) the following:

Supported Frameworks


Exceptions (Notes)

  • † interface change events, interaction events, and highlighting/dynamic-positioning based on elements is not available.

  • Angular*

  • React*

  • ReactJS

    • Wrapped in Cordova

    • Wrapped in Ionic Capacitor

  • * NOT supported if it’s a native app

  • ^ Contact us for more information

  • iFrames built by you within your application

  • 3rd party iFrames need Chameleon snippet installed within the iFrame to display Experiences within them

Shadow DOM

N-level deep Shadow DOM is supported

πŸ‘‰ Learn more about how we work with Electron/Cordova apps.

If you would like to discuss your framework, feel free to contact us:

πŸ‘‰ You can explore our interactive demos before installing, to learn how we handle element selection, display control, and more, to help you deliver contextual in-app Experiences.

Additional Details about Supported Frameworks

Mobile web and mobile apps

Chameleon supports mobile web applications. Experiences are built to be responsive and will adjust as elements on your page move based on the browser size. At this stage, Chameleon does not support native mobile applications.

πŸ’‘ You can leverage our OneSignal and Zapier integrations to sync Chameleon data and trigger messages and push notifications on mobile devices.

Single-page apps (SPAs) and front-end frameworks

Chameleon supports SPAs and all common front-end frameworks (e.g. React, Angular, Ember, Vue, etc.) out of the box and does not require any special engineering work. Simply implement our JavaScript code snippet or integrate it via Twilio Segment.

Chameleon requires an initial page load to identify users and then polls regularly to check whether an Experience should show based on changing criteria (page URL or user activity).

There is no separate implementation work required for single-page applications, and you can benefit from the full Chameleon functionality.

Multiple products and environments

You can use Chameleon with different products or on different Environments (with different domains). To do so, simply install Chameleon using your same unique code snippet across all these products and environments. When you build an Experience, you can choose one or multiple Enviroments to display it on.

β„Ή For billing, we will use the total uniquely identified users across all domains to calculate your total MTU count.

Dynamic URLs and multiple subdomains

Chameleon supports dynamic URLs and multiple subdomains (e.g. for your different customers) for your application.

You can use wildcard or regex matching to configure any Step to a specific URL. You can also substitute any part of the URL with the specific user data, by using variables. This is akin to using merge tags to replace a part of a string with the specific content for that user.

You can use a similar approach to handle personalized subdomains. If you change your subdomains by customer name, then we encourage you to send this part of the URL as a company attribute.


Chameleon allows you to build Experiences across any IFrames you might have in your application.

To guarantee ideal performance, please ensure that the Chameleon code snippet is implemented separately within each IFrame component. Having IFrames load content from the same subdomain as the top-level page makes the process more simple and seamless. Also, ensure that the IFrame element does not use the sandbox attribute

Other supported features

Anonymous users

Chameleon partially supports anonymous (unidentified) users, but does not yet support aliasing.

To show Experiences to users who are not logged in to your product - and therefore not identified - you need to identify this user by using any UID; although, this UID does not need to correlate with any actual IDs from your database.

β„Ή We do anticipate supporting automatic identification and aliasing of anonymous users soon, but drop us an email if this is important to you! βœ‰οΈ

Strict security standards

Chameleon takes security very seriously and we seek to continually improve our systems with the most cutting-edge techniques to guard against any attacks or unauthorized access.

We're SOC II compliant since 2022 and continue to invest in security measures that enhance your efforts with Chameleon. Learn more about our most recent security updates and future plans:

We use best-in-class cloud services (such as AWS, Heroku, Compose) and serve over HTTPS using 256 bit SSL encryption. We're also SOC II compliant since 2022

Chameleon does not collect any personally identifiable data by default. We store any data you send to us (including from events that you define within Chameleon) but we’re not currently HIPAA certified.

If your application contains a Content Security Policy (CSP) to limit which third-party code may be executed on the pages of your application, then you must add our domains to your allowed list to enable Chameleon to function correctly.

Multilingual support (Localization)

Chameleon supports multiple languages in two different ways:

  1. By duplicating Experiences and targeting them based on language.

  2. Using liquid logic to pipe in variable content for each user and displaying that in the same Experience.

Where can Experiences be shown?

Chameleon supports all modern browsers, including Google Chrome, Mozilla Firefox, Apple Safari, and Microsoft Edge, for showing users product Experiences. You will access the Builder via a Chrome Extension in Google Chrome in order to build your Experiences. Our compatibility target is > Chrome 64 releases in 2018.

We have stopped actively supporting Internet Explorer in light of its discontinued support from Microsoft. Experiences can continue to be shown on IE but we do not guarantee full functionality.

If you have users using any version of Internet Explorer, you can select to not show them Experiences, by using our audience targeting/ segmentation functionality.

If you think Chameleon is not rendering correctly on any specific browser, please send us a screenshot so we can take a deeper look into the underlying issue.

Did this answer your question?