> For the complete documentation index, see [llms.txt](https://developers.citrusad.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.citrusad.com/integration/reference/product-ad-reference-1.md).

# Product ad reference

{% hint style="info" %}
Epsilon Retail Media's documentation is now centralized with our knowledgebase!

For up to date guides, please view [this page](https://help.citrusad.com/retail-media-interface/integration/references/product-ad-reference-1) in the new Integration APIs space of our documentation.
{% endhint %}

The below outlines the properties possible in a standard request, and the response if you receive an ad.

## Requested items

| String           | Description                                                                                                                                                                                                                                                                                                                                         | Required/optional                 |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------- |
| `catalogId`      | Your product catalog identifier for your website.                                                                                                                                                                                                                                                                                                   | Required                          |
| `customerId`     | The unique identifier for the customer being served ads.                                                                                                                                                                                                                                                                                            | Optional                          |
| `filterMode`     | Optional way of defining the structure of your request. See Ad generation filtering for more information.                                                                                                                                                                                                                                           | Optional, preferred               |
| `maxNumberOfAds` | The maximum number of ads you would like returned up to 10.                                                                                                                                                                                                                                                                                         | Required                          |
| `options`        | <p>Optional way of defining the structure of your request. See Ad generation filtering for more information.<br><br>This is also the object where you can request advertiser information in order to comply with local advertising legislation like Europe’s <a href="/integration/reference/digital-services-act.md">Digital Services Act</a>.</p> | Optional, preferred               |
| `placement`      | The unique placement you are requesting ads for.                                                                                                                                                                                                                                                                                                    | Required                          |
| `productFilters` | Any product filters relevant to your request. Such as a category, location, or size.                                                                                                                                                                                                                                                                | Required                          |
| `sessionId`      | The unique identifier of the customer's session. Used for attribution in standard integrations. Review Integration workflow options for more information.                                                                                                                                                                                           | Required in standard integrations |
| `memoryToken`    | <p>Used for pagination. Use a token provided in a previous ad request to ensure Epsilon Retail Media only serves new ads to your customers.<br><br>If provided, Epsilon Retail Media will exclude previously served ads in the ad response. Review <a href="/integration/reference/pagination.md">Pagination</a> to learn more.</p>                 | Optional                          |
| `dtmCookieId`    | Cookies created and stored by the website, used for tracking user behavior on the same domain.                                                                                                                                                                                                                                                      | Optional                          |
| `audience`       | Specifies specific audience segments that the shopper belongs to. Only relevant is using [Audience Targeting Option 3](/integration/reference/integration-option-3-sync-audiences-only.md)                                                                                                                                                          | Optional                          |

## Returned items

| String              | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | Example value                                                                                                                                  |
| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| `ads.customPayload` | <p>This custom payload that should be threaded from the catalog file to ad generation.<br><br>The field should contain a valid JSON object serialised into a byte array and Base64 encoded. The JSON object should adhere to a schema.</p>                                                                                                                                                                                                                                   | Custom per integration                                                                                                                         |
| `ads.sellerId`      | The unique Id of the seller. Will only populate if a sellerId is set on a team. sellerIds are typically used when onboarding marketplace sellers.                                                                                                                                                                                                                                                                                                                            | `73nns-32sxr-32ss` Custom per integration                                                                                                      |
| `ads.id`            | <p>The unique id of the ad.<br>This is unique to each request made to Epsilon Retail Media and cannot be cached.</p>                                                                                                                                                                                                                                                                                                                                                         | `display_yCaCIy_kKaJnRnzrenBkVSytwr8yNTgxMzM4`                                                                                                 |
| `ads.gtin`          | The product code of the ad. This will be the product code synchronised in your product catalog.                                                                                                                                                                                                                                                                                                                                                                              | `25813383`                                                                                                                                     |
| `ads.discount`      | Legacy, can be ignored.                                                                                                                                                                                                                                                                                                                                                                                                                                                      | `{<br> "amount": 0,<br> "minPrice": 0,<br> "maxPerCustomer": 0<br> }`                                                                          |
| `ads.position`      | The ad's position in the Epsilon Retail Media response. You should honour this position in the event fixed tenancy campaigns are utilised.                                                                                                                                                                                                                                                                                                                                   | 1                                                                                                                                              |
| `ads.memoryToken`   | <p>Used for pagination and chaining ad requests.<br><br>If provided in your next ad request for the same context, Epsilon Retail Media will exclude previously served ads in the ad response. Review <a href="/integration/reference/pagination.md">Pagination</a> to learn more.</p>                                                                                                                                                                                        |                                                                                                                                                |
| `ads.metadata`      | <p>Object containing the advertiser info required to help advertisers comply with local advertising legislation such as the <a href="https://commission.europa.eu/strategy-and-policy/priorities-2019-2024/europe-fit-digital-age/digital-services-act_en">Digital Services Act</a>in Europe.<br><br><code>advertiser</code> is carried from the Company name in the supplier team.<br><br><code>onBehalfOf</code> is carried from the Ad financer in the supplier team.</p> | `"metadata": { <br> "advertiserInfo": { <br> "advertiser": "Bob's advertising agency", <br> "onBehalfOf": "Brand company inc" <br> } <br> ...` |
| `banners`           | Comprises of banner objects. View the [Banner ad (static) reference](/integration/reference/banner-ad-static-reference.md) to learn more.                                                                                                                                                                                                                                                                                                                                    | `"banners": [],`                                                                                                                               |
| `metadata.warnings` | Object containing warning information about the ad request. Currently only warns if the maximum number of segments is exceeded.                                                                                                                                                                                                                                                                                                                                              | `"metadata": { <br> "warnings": [ <br> "Audience Segment IDs exceeded the limit of 100 and were truncated" <br> ]`                             |
