> 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/feature-integrations/digital-services-act.md).

# Digital Services Act

Epsilon Retail Media supports the European Union (EU) [Digital Services Act](https://commission.europa.eu/strategy-and-policy/priorities-2019-2024/europe-fit-digital-age/digital-services-act_en) (DSA) to enhance online transparency and safety. The DSA establishes a unified set of rules across the EU, targeting the regulation of online content, transparent advertising, and disinformation. This document outlines how Epsilon Retail Media assists retailers in meeting their DSA obligations.

The Epsilon Onsite Retail Media platform provides DSA information for all supported ad types, including product ads, banner, and banner X.

## Transparency requirements

To assist retailers comply with the DSA we can provide:

* **Advertiser identity**: The legal entity name of the advertiser.
* **Ad financer identity**: The legal entity name of the party who paid for the ad, if different from the advertiser.

## Ad serving changes

Retailers need to ensure the following:

1. Ensure both the\*\* Company name\*\* and **Ad financer** fields are correctly filled out for all your teams to comply with the DSA. You can specify these details when creating a team using the Epsilon Retail Media UI.
   * The **Company name** field is the legal entity name of the advertiser.
   * The **Ad financer** field is the legal entity name of the party who paid for the ad.

<figure><img src="/files/iMn6i5GsBYNmwvWiQOXZ" alt="" width="350"><figcaption></figcaption></figure>

2. Retailers who need the DSA information must send an additional attribute to retrieve the DSA information in the ad response. The new ad request attribute is sent within the `options` object:

   ```
   "options": {
      			"includeAdvertiserInfo": true
        },
   ```

   The ad response object includes the DSA information:

   ```
   "metadata": {
           "advertiserInfo": {
             "advertiser": "Test limited",
             "onBehalfOf": "Example Inc",
           }
   ```

| Field name       | Description                                                                                                                |
| ---------------- | -------------------------------------------------------------------------------------------------------------------------- |
| `metadata`       | Contains the `advertiserInfo` nested object.                                                                               |
| `advertiserInfo` | Information needed by a retailer to comply with the DSA in Europe.                                                         |
| `advertiser`     | Name of the company creating the advertisement for example the agency. This maps to the team's **Company name** in the UI. |
| `onBehalfOf`     | Name of the company paying for the ad. This maps to the Team’s **Ad financer** in the UI.                                  |

## DSA example ad

Here is an example displaying DSA information.

### Request

```
-- Request sample with DSA request:
{
    "placement": "search-only",
    "catalogId": "zesty-fruits-catalog",
    "searchTerm": "lime",
    "maxNumberOfAds": 5,
    "options": {
   			    "filterMode": "AndOr",
    			"includeAdvertiserInfo": true,
     },
}
```

### Response

```
-- Response sample with DSA info:
{
  "ads": [
    {
      "id": "display_QqHaKRrKlFm1Wxr9c_DXJN4HSE3NzMzNjM2",
      "gtin": "7733636",
      "discount": {
        "amount": 0,
        "minPrice": 0,
        "maxPerCustomer": 0
      },
      "expiry": "2021-05-12T04:17:50.400902957Z",
      "position": 1,
      "metadata": {
        "advertiserInfo": {
          "advertiser": "Test limited",
          "onBehalfOf": "Example Inc",
        }
      }
    },
    ....
  ],
  "banners": [],
  "products": [],
  "memoryToken": "85ykKVv-………"
}
```

## Frequently asked questions

Here are some of the frequently asked questions related to the DSA regulations in Europe:

### What if a supplier or retailer changes the `Company name` or `Ad financer` name during a live campaign?

If the `Company name` or `Ad financer` name is changed during a live campaign, all unserved ads and future ad responses will be updated with the new details. It is important to consider the impact on your reporting setup, as the modification might affect the data. Evaluate whether it's worth changing the name or if creating a new team is a better option.

### What if an ad request includes `"includeAdvertiserInfo" = true` but lacks `Ad financer` values?

If an ad request has `"includeAdvertiserInfo" = true` but the `Ad financer` field is missing values, Epsilon Retail Media will still send the ad with an empty string in the Ad financer property. You (the retailer) can then decide whether to display the information or not display it.

### What happens if `"includeAdvertiserInfo" = true` is not included in the ad request?

If `"includeAdvertiserInfo" = true` is not included in the ad request, we do not send the `advertiserInfo` (DSA) information in the ad response.

### What if there's an error retrieving the DSA information for the `metadata.advertiserInfo` object?

If there's an error retrieving the DSA information for the `metadata.advertiserInfo` object, we will still serve the ad but without the `metadata.advertiserInfo` object.


---

# 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://help.citrusad.com/retail-media-interface/integration/feature-integrations/digital-services-act.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
