# Feature Experimentation & Rollout

Feature Experimentation & Rollout (FE\&R) is AB Tasty's server-side experimentation solution for managing feature deployments using feature **flags** and **context keys**. It enables secure, controlled backend experimentation with seamless server-side implementation.

### Features

* **A/B experiments**: Segment your audience to test multiple feature variations simultaneously.
* **Feature Flags**: Toggle new features on or off without code deployment for rapid iteration and agile development.
* **Custom Targeting**: Target specific user segments by location, device, behavior, or custom criteria.
* **Real-Time Analytics**: Access real-time data and insights for each feature variation.
* **Gradual Rollouts**: Deploy features to limited audience first to ensure stability before wider release.

### **Server-Side vs Client-Side experiments**

Server-side and client-side experiments differ in implementation and use cases:

#### **Server-Side experiments**:

* **Execution**: experiments are run on the server before content reaches the user's device.
* **Use Cases**: Backend logic, database interactions, or ensuring consistency across devices and sessions.
* **Advantages**: Greater control, secure handling of sensitive data, minimal client-side performance impact.
* **Implementation in AB Tasty**: Integrates with your backend systems through APIs and feature flags for precise experimentation and real-time updates.

#### **Client-Side experiments**:

* **Execution**: Runs in the user's browser or app after receiving content from the server.
* **Use Cases**: UI/UX changes, front-end design adjustments, or experiments without sensitive data requirements.
* **Advantages**: No backend changes required, quick setup, immediate visual feedback.
* **Implementation in AB Tasty**: Use the web editor for browser-based changes and JavaScript for advanced testing and targeting.

AB Tasty supports both server-side and client-side experimentation with integrated tools for management, tracking, and analysis.

### **Flags and Context keys**

Feature Experimentation and Rollout (FE\&R) allows you to manage feature deployments using flags and context keys. This approach helps control access to features and perform targeted testing.

#### **Feature Flags**

Feature flags toggle feature availability without code deployment. With flags, you can:

* Gradually release features to specific user segments.
* A/B test different feature versions across user groups.
* Disable features immediately if issues arise.

#### **Context Keys**

Context keys define conditions for feature access based on user attributes or behavior. Use context keys to:

* Personalize contents based on user preferences or location.
* Target rollouts using specific parameters like device type or user history.

### **Installing FE\&R SDK**

To use FE\&R, you need to install the [FE\&R SDK](https://docs.developers.flagship.io/docs/getting-started-with-flagship)

### Tutorials

<table data-view="cards"><thead><tr><th></th><th data-type="content-ref"></th><th data-hidden data-card-cover data-type="image">Cover image</th></tr></thead><tbody><tr><td></td><td><a href="/pages/sRzuScn4n9ysXNudl0my">/pages/sRzuScn4n9ysXNudl0my</a></td><td><a href="/files/9SasflBf7p5RE3NsaFS0">/files/9SasflBf7p5RE3NsaFS0</a></td></tr><tr><td></td><td><a href="/pages/sNjM914Du9ZT8xaVsKRG">/pages/sNjM914Du9ZT8xaVsKRG</a></td><td><a href="/files/VK91JJWLO2vgWsujCbwA">/files/VK91JJWLO2vgWsujCbwA</a></td></tr><tr><td></td><td><a href="/pages/CyijPYNOcRLbSGwl1mfs">/pages/CyijPYNOcRLbSGwl1mfs</a></td><td><a href="/files/9SasflBf7p5RE3NsaFS0">/files/9SasflBf7p5RE3NsaFS0</a></td></tr><tr><td></td><td><a href="/pages/bGS0i3CETmYGgRe7ZwCe">/pages/bGS0i3CETmYGgRe7ZwCe</a></td><td><a href="/files/9SasflBf7p5RE3NsaFS0">/files/9SasflBf7p5RE3NsaFS0</a></td></tr><tr><td></td><td><a href="/pages/bgJ3Z0m7PLOophCkeAmp">/pages/bgJ3Z0m7PLOophCkeAmp</a></td><td><a href="/files/9SasflBf7p5RE3NsaFS0">/files/9SasflBf7p5RE3NsaFS0</a></td></tr></tbody></table>

### How-to guides

<table data-view="cards"><thead><tr><th></th><th data-type="content-ref"></th><th data-hidden data-card-cover data-type="image"></th></tr></thead><tbody><tr><td></td><td><a href="/pages/hOPV2CACLVrUfuMA2bXJ">/pages/hOPV2CACLVrUfuMA2bXJ</a></td><td><a href="/files/Wxv2BK2dFpsJLRDZgomk">/files/Wxv2BK2dFpsJLRDZgomk</a></td></tr><tr><td></td><td><a href="/pages/ceTun7BZQRiHJZPjNAAw">/pages/ceTun7BZQRiHJZPjNAAw</a></td><td><a href="/files/Wxv2BK2dFpsJLRDZgomk">/files/Wxv2BK2dFpsJLRDZgomk</a></td></tr><tr><td></td><td><a href="/pages/3XUjcF2RdErq2TrDeLdD">/pages/3XUjcF2RdErq2TrDeLdD</a></td><td><a href="/files/Wxv2BK2dFpsJLRDZgomk">/files/Wxv2BK2dFpsJLRDZgomk</a></td></tr><tr><td></td><td><a href="/pages/nLZt4wdODmclQqfxwHug">/pages/nLZt4wdODmclQqfxwHug</a></td><td><a href="/files/Wxv2BK2dFpsJLRDZgomk">/files/Wxv2BK2dFpsJLRDZgomk</a></td></tr><tr><td></td><td><a href="/pages/rNzIgqYF3j6UEUan2yHd">/pages/rNzIgqYF3j6UEUan2yHd</a></td><td><a href="/files/Wxv2BK2dFpsJLRDZgomk">/files/Wxv2BK2dFpsJLRDZgomk</a></td></tr></tbody></table>

### Glossary

<table data-view="cards"><thead><tr><th></th><th data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td>Glossary</td><td><a href="/pages/DJTtbjBsKcO4gmtd2e9u">/pages/DJTtbjBsKcO4gmtd2e9u</a></td><td><a href="/files/hy3q05rwicSSGhWvpbAQ">/files/hy3q05rwicSSGhWvpbAQ</a></td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.abtasty.com/feature-experimentation-and-rollout.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
