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

# Conversion Report

> Get conversion-level performance data.

<Warning>Maximum date range 365 days</Warning>

<Note>
  This endpoint is protected and requires an agency API key for access.
</Note>

<RequestExample>
  ```bash Request theme={null}
    curl --request GET \
      --url 'https://api.growthchannel.io/conversion/?date_from=2026-04-08&date_to=2026-04-14&advertiser_id=123456' \
      --header 'X-Api-Key: your_api_key'
  ```

  ```bash Request with optional filters theme={null}
    curl --request GET \
      --url 'https://api.growthchannel.io/conversion/?date_from=2026-04-08&date_to=2026-04-14&advertiser_id=123456&page=0&sort_column=date&sort_order=DESC&with_deduplication=true&with_dsp=false&campaign_id=10001&search=spring' \
      --header 'X-Api-Key: your_api_key'
  ```
</RequestExample>

<CardGroup>
  <Card title="Method" icon="puzzle-piece">
    `GET`
  </Card>

  <Card title="Endpoint" icon="link">
    `/conversion/`
  </Card>
</CardGroup>

## Headers

<ParamField header="X-Api-Key" type="string" required>
  The agency API key used for authorization.
</ParamField>

## Parameters

<Note>
  Only `date_from`, `date_to`, and `advertiser_id` are required. If you do not need an optional parameter, omit it entirely instead of sending an empty value (for example, avoid `page=`).
</Note>

<ParamField path="date_from" type="string" example="2026-04-08" required>
  Start date in `YYYY-MM-DD` format.
</ParamField>

<ParamField path="date_to" type="string" example="2026-04-14" required>
  End date in `YYYY-MM-DD` format.
</ParamField>

<ParamField path="advertiser_id" type="integer" example="123456" required>
  Unique identifier of the advertiser.
</ParamField>

<ParamField query="search" type="string" example="spring sale">
  Optional free-text search filter.
</ParamField>

<ParamField query="sort_column" type="string" default="date">
  Optional sort column (for example: `date`, `campaign_name`, `conversions`).
</ParamField>

<ParamField query="sort_order" type="string" default="DESC">
  Optional sort direction (`ASC` or `DESC`).
</ParamField>

<ParamField query="page" type="integer" default="0">
  Optional page number for pagination (0-based).
</ParamField>

<ParamField query="with_deduplication" type="boolean" default="true">
  Optional flag to enable conversion deduplication.
</ParamField>

<ParamField query="with_dsp" type="boolean" default="false">
  Optional flag to include DSP-specific fields when available.
</ParamField>

<ParamField query="campaign_id" type="integer" example="10001">
  Optional campaign ID filter.
</ParamField>

## Responses

<Tabs>
  <Tab title="200 OK">
    ```json theme={null}
    {
      "status": "success",
      "part_error": {},
      "data": {
        "data": [
          {
            "date": "2026-04-14",
            "our_advertiser_id": 123456,
            "our_campaign_id": 10001,
            "campaign_name": "Sample Q2 Brand Awareness - EN",
            "impressions": 12540,
            "clicks": 212,
            "total_spend": 184.37,
            "transaction_id": "TXN-EXAMPLE-0001",
            "domain": "example-news.com",
            "conversion_tracker": "offsite_conversion.example_purchase",
            "device": "WEB",
            "conversion_time": "2026-04-14 09:24:10",
            "last_click_time": "2026-04-14 09:21:02",
            "last_impression_time": "2026-04-14 09:20:44",
            "conversions": 3
          },
          {
            "date": "2026-04-08",
            "our_advertiser_id": 123456,
            "our_campaign_id": 10002,
            "campaign_name": "Sample Retargeting - Mobile App",
            "impressions": 41697,
            "clicks": 468,
            "total_spend": 320.11,
            "transaction_id": "TXN-EXAMPLE-0002",
            "domain": "social-app",
            "conversion_tracker": "offsite_conversion.example_signup",
            "device": "APP",
            "conversion_time": "2026-04-08 00:00:00",
            "last_click_time": null,
            "last_impression_time": null,
            "conversions": 6145
          }
        ],
        "pagination": {
          "current_page": 0,
          "total_pages": 5,
          "total_count": 89
        }
      }
    }
    ```

    <ResponseField name="status" type="string">
      Request status value.
    </ResponseField>

    <ResponseField name="part_error" type="object">
      Partial error container; empty when no partial issues occur.
    </ResponseField>

    <ResponseField name="data" type="object">
      Response payload object.

      <Expandable title="object">
        <ResponseField name="data" type="array">
          List of conversion-level records.
        </ResponseField>

        <ResponseField name="pagination" type="object">
          Pagination metadata.

          <Expandable title="object">
            <ResponseField name="current_page" type="integer">
              Current page number (0-based).
            </ResponseField>

            <ResponseField name="total_pages" type="integer">
              Total number of pages.
            </ResponseField>

            <ResponseField name="total_count" type="integer">
              Total number of records.
            </ResponseField>
          </Expandable>
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Tab>

  <Tab title="400 Bad Request">
    Returned if required query parameters like `date_from`, `date_to`, or `advertiser_id` are missing.

    ```json theme={null}
    {
      "error": {
        "code": "VALIDATION_ERROR",
        "message": "Missing required parameters",
        "details": {
          "missing_fields": ["date_from", "date_to", "advertiser_id"]
        },
        "request_id": "..."
      }
    }
    ```
  </Tab>

  <Tab title="401 Unauthorized">
    Returned if the `X-Api-Key` header is missing or invalid.
  </Tab>

  <Tab title="500 Internal Server Error">
    Returned if there is an unexpected error on the server while fetching data.
  </Tab>
</Tabs>
