Troubleshoot
This topic gives troubleshooting steps for Optimizely Feature Experimentation.
Optimizely app failing to load
If parts of the Optimizely app fail to load, you may need to ask your IT department to change firewall settings.
Tools to help you troubleshoot
The following sections are some tools you can use to help you identify issues if results are not showing as you expect:
Logger
The logger logs information about your experiments to help you with debugging.
You can customize the log level to the kind of information you want to track and specify where log information is sent. See the following SDK documentation for implementing the logger:
- Customize the Android SDK logger
- Customize the C# SDK error handler
- Customize the Go SDK logger
- Customize the Java SDK logger
- Customize the JavaScript SDK v6+ logger
- Customize the JavaScript (Browser) SDK prior to v6 logger
- Customize the JavaScript (Node) error handler prior to v6
- Customize the PHP SDK error handler
- Customize the PHP SDK error handler
- Customize the React SDK logger
- Customize the React Native error handler
- Customize the Ruby SDK logger
- Customize the Swift SDK logger
Error handler
The error handler is called when unknown flag rule keys or event keys are referenced. You can provide your own custom error handler logic to standardize across your production environment. See the following SDK documentation for implementing the error handler:
- Customize the Android SDK logger
- Customize the C# SDK error handler
- Customize the Java SDK error handler
- Customize error handler for the JavaScript SDK v6+
- Customize error handler for the JavaScript (Browser) SDK prior to v6
- Customize the JavaScript (Node) error handler prior to v6
- Customize the PHP SDK error handler
- Customize the PHP SDK error handler
- Customize the React SDK error handler
- Customize the React Native error handler
- Customize the Ruby SDK error handler
- Customize the Swift SDK error handler
Notification listeners
Use notification listeners to trigger callbacks when certain actions are triggered in the SDK. See the following SDK documentation for configuring a notification listener:
- Set up a notification listener using the Android SDK
- Set up a notification listener using the C# SDK
- Set up a notification listener using the Flutter SDK
- Set up a notification listener using the Go SDK
- Set up a notification listener using the Java SDK
- Configure a notification listener using the JavaScript SDK v6+
- Configure a notification listener using the JavaScript (Browser) SDK prior to v6
- Set up a notification listener using the JavaScript (Node) SDK prior to v6
- Set up a notification listener using the PHP SDK
- Set up a notification listener using the Python SDK
- Set up a notification listener using the React SDK
- Set up a notification listener using the React Native SDK
- Set up a notification listener using the Ruby SDK
- Set up a notification listener using the Swift SDK
Reasons in flag decisions
You can access log and error messages in the decision object returned by the Decide call. See the OptimizelyDecision topic in the SDK reference guides for your language for details:
- OptimizelyDecision for the Android SDK
- OptimizelyDecision for the C# SDK
- OptimizelyDecision for the Flutter SDK
- OptimizelyDecision for the Go SDK
- OptimizelyDecision for the Java SDK
- OptimizelyDecision for the JavaScript SDK v6+
- OptimizelyDecision for the JavaScript (Browser) SDK prior to v6
- OptimizelyDecision for the JavaScript (Node) SDK prior to v6
- OptimizelyDecision for the PHP SDK
- OptimizelyDecision for the Python SDK
- OptimizelyDecision for the React SDK
- OptimizelyDecision for the React Native SDK
- OptimizelyDecision for the Ruby SDK
- OptimizelyDecision for the Swift SDK
Updated 5 days ago
If you are still having issues, please reach out to Optimizely support.