> For the complete documentation index, see [llms.txt](https://help.citrusad.com/retail-media-interface/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.citrusad.com/retail-media-interface/integration/generating-ads/uat-tests-1.md).

# UAT tests

To ensure your integration is complete and functioning properly, you should undertake User Acceptance Testing (UAT) prior to launching to the production environment. This process ensures a smooth transition to launching and is a vital first step to your retail media success.

It is best to provide your Technical Account Manager access to your staging/UAT environment for Epsilon Retail Media to verify the integration is complete for you.

{% hint style="warning" %}
Test cases must be performed **per ad type**(product ad, banner, etc), **per placement**(search, category, home, other) **per platform** (web, mobile, app).

Order reporting tests are only required for banner ads if you are intending on utilising sales metrics on banner ads.
{% endhint %}

| #  | Test case                                                                                                      | Expected outcome                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | Actual outcome | Pass/fail | Notes |
| -- | -------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- | --------- | ----- |
| 1  | Impression is fired successfully on page load                                                                  | 1. The Epsilon Retail Media sponsored product is visible on the page 2. The Epsilon Retail Media impression endpoint (`first-i`) is called in the browser, and returns a 200 response                                                                                                                                                                                                                                                                                                                                   |                |           |       |
| 2  | Click is reported successfully upon product tile click                                                         | 1. The Epsilon Retail Media sponsored product is visible on the page 2. The Epsilon Retail Media impression endpoint (`first-i`) is called in the browser, and returns a 200 response 3. When the product is clicked, the Epsilon Retail Media click endpoint (`second-c`) is called in the browser, and returns a 200 response                                                                                                                                                                                         |                |           |       |
| 3  | Click is reported successfully upon product image click                                                        | 1. The Epsilon Retail Media sponsored product is visible on the page 2. The Epsilon Retail Media impression endpoint (`first-i`) is called in the browser, and returns a 200 response 3. When the product image is clicked, the Epsilon Retail Media click endpoint (`second-c`) is called in the browser, and returns a 200 response                                                                                                                                                                                   |                |           |       |
| 4  | Click is reported successfully upon product “Add to cart” button is clicked (if applicable)                    | 1. The Epsilon Retail Media sponsored product is visible on the page 2. The Epsilon Retail Media impression endpoint (`first-i`) is called in the browser, and returns a 200 response 3. When “Add to cart” is clicked, the Epsilon Retail Media click endpoint (`second-c`) is called in the browser, and returns a 200 response                                                                                                                                                                                       |                |           |       |
| 5  | Click is reported successfully upon right clicking the product tile                                            | 1. The Epsilon Retail Media sponsored product is visible on the page 2. The Epsilon Retail Media impression endpoint (`first-i`) is called in the browser, and returns a 200 response 3. When the product is right clicked, the Epsilon Retail Media click endpoint (`second-c`) is called in the browser, and returns a 200 response                                                                                                                                                                                   |                |           |       |
| 6  | Click is reported successfully upon right clicking the product image                                           | 1. The Epsilon Retail Media sponsored product is visible on the page 2. The Epsilon Retail Media impression endpoint (`first-i`) is called in the browser, and returns a 200 response 3. When the product image is right clicked, the Epsilon Retail Media click endpoint (`second-c`) is called in the browser, and returns a 200 response                                                                                                                                                                             |                |           |       |
| 7  | Order is reported successfully for a single quantity order from the “Add to cart” button (Cnvs = 1, Sales = 1) | 1. The Epsilon Retail Media sponsored product is visible on the page 2. The Epsilon Retail Media impression endpoint (`first-i`) is called in the browser, and returns a 200 response 3. When the “Add to cart” button is clicked, the Epsilon Retail Media click endpoint (`second-c`) is called in the browser, and returns a 200 response 4. Purchase a single unit of the sponsored SKU 5. Verify in the Epsilon Retail Media UI that the exact SKU was purchased and a single conversion and one sale are recorded |                |           |       |
| 8  | Order is reported successfully for a multi quantity order from the “Add to cart” button (Cnvs = 1, Sales = 4)  | 1. The Epsilon Retail Media sponsored product is visible on the page 2. The Epsilon Retail Media impression endpoint (`first-i`) is called in the browser, and returns a 200 response 3. When the “Add to cart” button is clicked, the Epsilon Retail Media click endpoint (`second-c`) is called in the browser, and returns a 200 response 4. Purchase four units of the sponsored SKU 5. Verify in the Epsilon Retail Media UI that the exact SKU was purchased and a single conversion and four sales are recorded  |                |           |       |
| 9  | Order is reported successfully for a single quantity order from the product detail page (Cnvs = 1, Sales = 1)  | 1. The Epsilon Retail Media sponsored product is visible on the page 2. The Epsilon Retail Media impression endpoint (`first-i`) is called in the browser, and returns a 200 response 3. When the product is clicked, the Epsilon Retail Media click endpoint (`second-c`) is called in the browser, and returns a 200 response 4. Purchase a single unit of the sponsored SKU 5. Verify in the Epsilon Retail Media UI that the exact SKU was purchased and a single conversion and one sale are recorded              |                |           |       |
| 10 | Order is reported successfully for a multi quantity order from the product detail page (Cnvs = 1, Sales = 4)   | 1. The Epsilon Retail Media sponsored product is visible on the page 2. The Epsilon Retail Media impression endpoint (`first-i`) is called in the browser, and returns a 200 response 3. When the product is clicked, the Epsilon Retail Media click endpoint (`second-c`) is called in the browser, and returns a 200 response 4. Purchase four units of the sponsored SKU 5. Verify in the Epsilon Retail Media UI that the exact SKU was purchased and a single conversion and four sales are recorded               |                |           |       |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://help.citrusad.com/retail-media-interface/integration/generating-ads/uat-tests-1.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
