> 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/data-api/api-overview/reporting-impressions-clicks.md).

# Reporting Impressions and Clicks

To effectively report impressions and clicks, use `/resource/` endpoint. Impressions should be directed to the `first-i` resource, while clicks should be reported to the `second-c` resource.

## Prerequisite

Obtain your Base URL from your Technical Account Manager before reporting impressions and clicks.

## Integrating Endpoint Calls

Endpoint calls must be executed within your app or website. In Epsilon Retail Media, the integration process is similar for both mobile apps and websites due to its 'backend to backend' integration approach. This approach ensures that ad requests are consistent across both desktop and mobile platforms. However, since mobile apps do not support JS libraries, you must make backend requests to our click and impression endpoints.

## Reporting Impressions

To report an impression, send a GET request in the following format:

```
https://$BASE_URL.citrusad.com/v1/resource/first-i/AD_ID
```

Replace `AD_ID` with the `adId` provided for the ad you are reporting.

For example, the following GET request reports an impression for the `adId`, `display_xw3ybbrymHT_D3VwU3Ic5ThUkbhFNkY4NVNIODU4NEVGRkdT`.

```
https://$BASE_URL.citrusad.com/v1/resource/first-i/display_xw3ybbrymHT_D3VwU3Ic5ThUkbhFNkY4NVNIODU4NEVGRkdT
```

## Reporting Clicks

To report a click, send a GET request in the format below:

```
https://$BASE_URL.citrusad.com/v1/resource/second-c/AD_ID
```

Replace `AD_ID` with the `adId` provided for the ad you are reporting.

For example, the following GET request reports an impression for the `adId`, `display_xw3ybbrymHT_D3VwU3Ic5ThUkbhFNkY4NVNIODU4NEVGRkdT`.

```
https://$BASE_URL.citrusad.com/v1/resource/second-c/display_xw3ybbrymHT_D3VwU3Ic5ThUkbhFNkY4NVNIODU4NEVGRkdT
```

## API Validation for Realized Ad IDs

The API includes validation for ad IDs to ensure accurate data and reduce errors. Requests with improperly encoded or prefixed ad IDs return a 400 error and a detailed error message.

### Key Benefits

* Faster Issue Resolution: Quick feedback helps retailers fix problems faster.
* Better Accuracy: Fewer errors mean more accurate reports and data.

### Example Error Message

"Invalid ad ID. Must be properly encoded and prefixed with 'display\_', 'banner\_', or 'shotgun\_'."


---

# 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/data-api/api-overview/reporting-impressions-clicks.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.
