---
title: "Test an advanced condition"
slug: "test-an-advanced-condition"
abstract: "Explains how to test an advanced condition that uses a header or parameter in the experiment or experience request."
---
# Test an advanced condition

Sitecore CDP enables you to [test a condition](https://doc.sitecore.com/cdp/en/users/sitecore-cdp/developer-center/conditions/test-a-condition.html "Test a condition") by running it against a selected guest. This topic describes how to test an advanced condition.

When you test a condition, Sitecore CDP tests the JavaScript on the server side. This ensures that the JavaScript is validated within the context it will be executed in.

> [!note]
> Team members with a *User*, *Developer*, or *Admin* role in Sitecore Cloud Portal can test an advanced condition.

To test an advanced condition:

1. Open the condition and click **Test**.

    ![Testing a condition](https://doc.sitecore.com/api/markdown-image/cdp/en/users/sitecore-cdp/images/pers_testcond.png)

2. In the **Test Condition** dialog, you must test the condition against a guest. You can test against the default guest's attributes, or click in the search box and choose **Recent** to select from a list of recently active guests or **Bookmarks** to select from a list of bookmarked guests. The system selects a guest who was recently active. To select a specific guest, enter their unique identifier into the search box. You can search for a guest using, for example, an email address, other unique identifier, or browser ID.

    > [!note]
    > If there is a guest whose data you often use when configuring or testing code, just click the **star** icon to bookmark the guest so you no longer have to search for them.

3. Click the **Experience request** option to include headers and parameters in the test. To do this, call the `request` context in the JavaScript code editor:

    ```csharp
    (function () {
            return { request: request };
    })();
    ```

4. To add a header to the experience request, From the **Test Scenario** option, click **Add Header**.
5. You can include objects as keys using this format: `objects.keys`. For example, `User_Agent` is the key and `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36 Edg/112.0.1722.58` is the value as shown here:

    ![pers_header.png](https://doc.sitecore.com/api/markdown-image/cdp/en/users/sitecore-cdp/images/pers_header.png)

6. Click **Test**. The parameters and values you added to the test scenario are included in the response.
7. To add a parameter to the request, you must include the full path to the parameter in the JavaScript code editor, as shown here:

    ```csharp
    (function () {
            return { request: request.params.utm.campaign === "summer_sale"};
    })();
    ```

8. From the **Test Scenario** option, click **Add Parameters**.
9. You can include objects as keys using this format: `objects.keys`. For example, `utm_campaign` is the key and `summer_sale` is the value as shown here:

    ![Add parameters to test conditions](https://doc.sitecore.com/api/markdown-image/cdp/en/users/sitecore-cdp/images/pers_addparam.png)

10. Click **Test**. The parameters and values you added to the test scenario are included in the response, as shown here:

    ![Parameters in the test response](https://doc.sitecore.com/api/markdown-image/cdp/en/users/sitecore-cdp/images/pers_paramresponse.png)