Skip to main content

Everything you need to learn Optimizely X in one place: See our resource pages for Web Experimentation and Personalization.

Optimizely Knowledge Base

Project Settings: Privacy in Optimizely X

This article is about Optimizely X. If you're using Optimizely Classic, check this article out instead.
relevant products:
  • Optimizely X Web Experimentation
  • Optimizely X Web Personalization
  • Optimizely X Web Recommendations

  • Manage settings in the Privacy tab of your Project Settings
  • Mask descriptive names, disable force parameters and other information for additional privacy
  • Understand tradeoffs between additional privacy versus integrations/compatibility

The Optimizely snippet contains objects that make it easier for users to QA and debug experiments, as well as transmit information to other systems. Some users prefer a higher level of privacy for the functionality and information contained in these objects.

Use the following options in the Privacy tab to adjust your settings for this project:

  • Mask descriptive names

  • Disable the force variation parameter

  • Allow anyone to view draft or paused experiments by appending the query parameter

  • Anonymize IP addresses

  • Filter IP addresses out of results

To find your project's privacy settings, navigate to Settings Privacy.

At Optimizely, we take the security of your data very seriously -- and we know you do too. Here are a suggestions to help you protect your Optimizely account.

Mask descriptive names

To share data with third-party analytics platforms, Optimizely contains some information about experiments, variations, audiences, sections, and segments that needs to be exposed at the client level. While these descriptive names are helpful for debugging and offer significant benefits for some third-party integrations, some customers may want to replace descriptive names with numerical IDs for additional privacy.

Check to enable the Mask descriptive names setting.

Once you mask descriptive names, your third-party services will receive numerical IDs instead of the names. Your new projects will have Mask descriptive names enabled by default, so you won't see variation names pass into your analytics platform. This also means that Optimizely will not be able to pass the descriptive names of individual variations into your analytics platform.

Here's where to find descriptive names and IDs in Optimizely.

If you change data object name settings while an experiment that has a standard or custom third-party integration is running, you'll create two sets of results for that test in your analytics platform. The best time to make the change is when there are no experiments with any sort of integration running.

Disable the force variation parameter

Force variation parameters help you manually force yourself into a specific variation for a specific experiment on any page containing your Optimizely JavaScript file. The parameters allow you to skip all targeting conditions (such as audience targeting) and go straight to a variation or personalized experience. This can be handy for QA and debugging.

For example, let's say you change the text or an image on your homepage. You can simply append a query parameter to quickly view change without worrying about having to meet the targeting conditions. 

The force variation parameter is disabled by default so visitors can't force variations to show, if they're not intended to see them.

  • To use the parameter to QA live, published experiments, uncheck the Disable the force variation parameter setting

  • To use the parameter to QA draft or paused experiments as well as live, published experiments, check Allow anyone to view draft or paused experiments

Return both of these features to the default mode when you've completed QA.

If you check Allow anyone to view draft or paused experiments, anyone can view your draft or paused changes by appending optimizely_token=PUBLIC  (instead of the real token) to the Preview URL. Enable this setting with care and disable it once you've finished QA.

Alternatively, use the Share Link feature to show draft variations and experiences that haven't been published to team members without exposing these variations or experiences as broadly.

Exclude draft and paused experiments

This setting is currently only available in Optimizely Classic. In Optimizely X, draft and paused experiments are excluded by default.

Anonymize IP addresses for this project

In some countries, you may be required to remove the last block of an IP address to protect the identity of your visitors. Optimizely allows you to easily remove the last block of your visitors’ IP address before we store event data.

Read on to see how to this at the project level. If you're an administrator, you can also do this automatically at the account level.

If you enable IP anonymization for this project

  • The last octet of the IP address changes into a 0 (zero) for all tracking calls made to Optimizely

  • The full IP address won't be stored anywhere and cannot be retrieved later

Here's how:

  1. Navigate to Settings > Privacy.

  2. Check Anonymize IP addresses. If you're using both IP Anonymization and IP Filtering, make sure that the regular expression that you use for IP Filtering treats the final octet as 0 (zero).

  3. Click Save.

Filter IP addresses out of results

You can filter individual IPs or IP ranges out of your experiment results. For example, if you want to exclude your company's employees from being counted toward experiment results. See our article on IP Filtering to learn more.

IP Filtering won't prevent certain visitors from seeing the experiment -- it only excludes them from the experiment results. To exclude IP ranges from being included in experiments, see our article on IP Address audience conditions.

  1. Navigate to Settings > Privacy.

  2. Enter a regular expression (1,500 characters maximum) for the IP addresses you'd like to filter from your Results page.


If you use a regular expression to match multiple IPs, your IP Filtering regex should match the full IP address to work properly. Partial matches will not work. If you've turned on IP Anonymization as well, the IP Filtering regex should match the last octet as 0 (zero).