---
isPrivate: true
title: Goal-Based Testing
description: >-
  Verify that users can complete a goal in your application with prompted,
  non-deterministic, agentic Synthetic tests.
breadcrumbs: Docs > Synthetic Testing and Monitoring > Goal-Based Testing
---

> For the complete documentation index, see [llms.txt](https://docs.datadoghq.com/llms.txt).

# Goal-Based Testing

{% callout %}
##### Join the Preview!

Goal-Based Testing is in Preview. Request access to join the waiting list.

[Request Access](https://www.datadoghq.com/product-preview/bits-testing/)
{% /callout %}

## Overview{% #overview %}

Goal-Based Testing is a Synthetic test type that uses prompted, non-deterministic, agentic testing to check that a user can reach a specific goal in your application. It's well suited to testing AI features and to validating critical user journeys that shouldn't require ongoing test maintenance.

Unlike a browser test, a Goal-Based test doesn't follow a fixed, recorded set of steps. Instead, an agent explores your application, trying multiple paths toward the goal you describe.

## Create a Goal-Based test{% #create-a-goal-based-test %}

You can create a Goal-Based test in two ways:

- Let [Bits Testing](https://docs.datadoghq.com/synthetics/bits_testing.md) generate one automatically as part of a journey's test suite.
- Create one manually by clicking New Test and selecting Goal-Based test.

{% image
   source="https://docs.dd-static.net/images/synthetics/goal_based_testing/goal_based_test_type_selection.2b5fb0e8f551adbbf755f9d2ee7e4a3d.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/synthetics/goal_based_testing/goal_based_test_type_selection.2b5fb0e8f551adbbf755f9d2ee7e4a3d.png?auto=format&fit=max&w=850&dpr=2 2x"
   alt="The New Synthetics Test dialog with Goal-Based Test selected" /%}

When creating a Goal-Based test manually, provide:

- A **starting URL** for the application under test.
- A **goal**, written as a prompt in plain language (for example, "Ask the support chatbot for a product recommendation").
- A **location** to run the test from. See supported locations.
- Optionally, an [Agent Profile](https://docs.datadoghq.com/synthetics/bits_testing.md#agent-profiles) to reuse variables such as login credentials.

{% image
   source="https://docs.dd-static.net/images/synthetics/goal_based_testing/goal_based_test_creation.afa9ee230d5a000f1f3a96d43b50f0b4.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/synthetics/goal_based_testing/goal_based_test_creation.afa9ee230d5a000f1f3a96d43b50f0b4.png?auto=format&fit=max&w=850&dpr=2 2x"
   alt="The New Goal-Based Test panel with starting URL and goal fields" /%}

### Supported locations{% #supported-locations %}

Goal-Based tests run only from the Datadog managed locations listed in [Run Bits Testing](https://docs.datadoghq.com/synthetics/bits_testing.md#run-bits-testing).

For pricing, see [Bits Testing billing](https://docs.datadoghq.com/synthetics/bits_testing.md#billing).

## How Goal-Based Testing evaluates a run{% #how-goal-based-testing-evaluates-a-run %}

After you start a Goal-Based test, the agent explores your application from the starting URL, branching across the different paths a user might take toward the goal.

When the run finishes, the test reports a **Pass** result if one of the explored branches reached the goal. It reports a **Fail** result if no branch reached the goal or the agent ran into an error. Alongside the result, Goal-Based Testing shows:

- A summary explaining the rationale behind the Pass or Fail result.
- Step-by-step navigation through the actions the agent took, so you can review exactly what it tried.

{% image
   source="https://docs.dd-static.net/images/synthetics/goal_based_testing/goal_based_test_run_result.3f7af9030543f2999ed7e67c1beee570.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/synthetics/goal_based_testing/goal_based_test_run_result.3f7af9030543f2999ed7e67c1beee570.png?auto=format&fit=max&w=850&dpr=2 2x"
   alt="A failed Goal-Based test run showing the explored paths, a rationale for the failure, and the final screenshot" /%}

## Schedule and edit a test{% #schedule-and-edit-a-test %}

After the first run completes, click the Edit test icon to:

- Schedule the test to run on a recurring basis.
- Edit the test name.
- Add tags.
- Change the selected Agent Profile.

{% image
   source="https://docs.dd-static.net/images/synthetics/goal_based_testing/goal_based_test_schedule.b566b47c90a260ead73f94c1f5dc062e.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/synthetics/goal_based_testing/goal_based_test_schedule.b566b47c90a260ead73f94c1f5dc062e.png?auto=format&fit=max&w=850&dpr=2 2x"
   alt="The Scheduling step of the Goal-Based test creation wizard, with recurrence interval options" /%}

## Further reading{% #further-reading %}

Additional helpful documentation, links, and articles:

- [Bits Testing](https://docs.datadoghq.com/synthetics/bits_testing.md)
- [Browser Testing](https://docs.datadoghq.com/synthetics/browser_tests.md)
- [Test Suites](https://docs.datadoghq.com/synthetics/test_suites.md)
- [Synthetic Monitoring pricing](https://www.datadoghq.com/pricing/?product=synthetic-monitoring#products)
