### 💡 Prerequisite Knowledge
We recommend that you review the following guide:
[Real-time Segments feature page](🔗): This article introduces you to the Real-time Segments feature.
[Segmentation Setup](🔗): This guide illustrates how you can expose segmentations to Discovery and set a state for the segmentations. You'll be testing the same segmentations.
## External Test Requirements
You may have use cases where you’d like to test the performance of any segmentation for a subset of site viewers in an External AB Testing tool. This section lists all the prerequisites for testing a segmentation in an external test.
#### 1. The segmentation you wish to test against should be in the [Available](🔗) or [Live](🔗) state. <br>
#### 2. You’ll need to add the following parameters to the Frontend API calls:
<table>
<thead>
<tr> <th width="5%"> <strong>Parameter</strong> </th> <th width="10%"><strong>Description</strong> </th> <th width="85%"><strong>Where to find the value in the dashboard</strong> </th> </tr>
</thead>
<tbody> <tr> <td><strong>cdp_segments</strong> </td> <td>A colon-separated string representing the combination of segmentation_id and segment_id.
It specifies the segmentation_id and segment_id to personalize the ranking on. This can be passed as:
**`&cdp_segments=segmentation_id:segment_id
`**
</td> <td>Follow the steps below to get the Segmentation and Segment IDs: <ol>
<li>Navigate to<strong> Algorithm Customizations > Real-time segments.</strong>
<li>Locate the desired segmentation and click the “Configure” button.
<img src="https://files.readme.io/3f57c4c-Screenshot_2023-03-03_at_10.22.32.png" alt="1346" title="Screenshot 2023-02-14 at 3.44.49 PM.png" class="border" align="" caption="" height="auto" width="700" loading="lazy">
<li>The Segmentation ID and Segment ID values are indicated in the visual below. Pass the same in API calls.
<img src="https://files.readme.io/4ed037e-Screenshot_2023-03-28_at_16.28.27.png" alt="1346" title="Screenshot 2023-02-14 at 3.44.49 PM.png" class="border" align="" caption="" height="auto" width="700" loading="lazy">
</li>
</li>
</li> </ol> </td> </tr>
<tr> <td><strong>personalization. segmentation</strong> </td> <td>A string representing the segmentation_id. This parameter is specific to the Real-Time Segments algorithm. <br> This can be passed in the API call as:
**`&personalization.segmentation=
segmentation_id
` **
</td> <td>Use the Segmentation ID as depicted in the visual above. This must be the same segmentation_id value as used for the <strong>cdp_segments</strong> parameter. </td> </tr>
</tbody> </table>
To summarize, a segmentation you wish to test must meet the following conditions:
The segmentation must be in the “_Available_” or “_Live_” state.
The Segmentation ID should be passed in the **cdp_segments **parameter.
In case an “_Available_” segmentation needs to be applied, the “_Available_” Segmentation ID should be passed in the **personalization.segmentation **parameter.
In case this parameter is not provided, then the “_Live_” segmentation will be applied. Therefore the segmentation_id of the “Live_” segmentation should be used in the **cdp_segments **parameter.
On satisfying the above conditions, the Segmentation ID will be applied to display segmented results.<br>