> ## Documentation Index
> Fetch the complete documentation index at: https://docs.depict.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> A guide to setting up tracking for your Depict API integration

For any Depict product that's integrated, it is important to set up tracking so that our product performs correctly. Visit the "Tracking status" tab on [app.depict.ai](https://app.depict.ai) for live feedback on your tracking events.

This guide will walk you through the steps to set up tracking for your Depict project using DPC (Depict Performance Client).

<Note>
  Is your integration built on the legacy `@depict-ai/react-ui` SDK? That
  package installs and initialises DPC automatically — skip ahead to [Product
  Card Tracking](/api-guide/tracking/product-cards) and follow it for any
  product cards you render yourself. `@depict-ai/js-ui` does not initialise DPC
  for you — if you use it, install and initialise DPC by following this guide.
</Note>

<Info>
  For more detailed information see the [DPC
  Reference](/reference/performance-client/introduction-to-depict-performance-client)
</Info>

## Testing without polluting analytics

There is no sandbox host and no test merchant: `https://api.depict.ai` is the only environment, and tracked test traffic counts toward your production analytics. Do not use a merchant id ending in `demo` as a staging stand-in — those ids are proxied to a legacy backend and do not behave like production v3.

To keep test and load-test traffic out of your analytics:

* Send the header `track: false` on `/v3/search/results` and `/v3/listings/.../products` requests. These endpoints record a search/listing analytics event server-side on every tracked request, so load tests without this header inflate your dashboards.
* Omit `session_id` from serving requests. Requests without a session id are excluded from tracking.
* Requests from load-test tools identifying as `Locust...` and from common crawler user agents are excluded automatically: serving-side tracking is skipped, and `POST /create-events` returns `{"message": "ok"}` without processing the events.

When verifying that events are accepted, use a browser-like `User-Agent` — a crawler-like one makes `/create-events` a no-op that still returns 200. A 200 `{"message": "ok"}` confirms the batch parsed, not that attribution resolved; use the "Tracking status" tab on [app.depict.ai](https://app.depict.ai) to confirm events arrive, and see [result-id lifetime](/api-guide/tracking/ids#result-id-lifetime-and-event-validation) for the rules that make events attributable.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.