> For the complete documentation index, see [llms.txt](https://docs.duku.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.duku.ai/core-concepts/products-and-targets.md).

# Products & Targets

Understand how products and targets relate.

Products define what you test. Targets define which version you test.

### Products

A **product** is the top-level object for an application or website in Duku. It stores the name, description, and general base URL for that app or site.

Common examples:

* A marketing site
* A web app
* A checkout flow

### Targets

A **target** is a concrete deployment of a product. In most teams, targets map to commits, branches, preview deployments, or production.

Explorations run against the product's base URL. A target inherits that URL - it records which version you tested, not where.

In the app, you manage targets from the target menu in the top-right navbar, next to the active product.

Each target carries:

* **Version:** A commit SHA or build identifier
* **Metadata:** Context like branch name, PR number, and commit message
* **Environment:** For example staging, canary, or production

### Relationship

```
Product: Web App (https://www.example.com)
├── Target: main @ abc123
├── Target: PR #42 @ def456
└── Target: PR #43 @ ghi789
```

CI can override the URL for a single run, which is how per-PR preview deployments are explored.

{% hint style="info" %}
Create one product per application. Use targets for environments and deploy variants.
{% endhint %}

When you use the GitHub Action, Duku creates and updates targets automatically. When you use the API directly, call `upsertSimulationTarget`.
