---
title: "Retrieve engagement"
description: "Preorder button engagement: impressions, add-to-carts, add-to-cart rate, orders and order rate, shop-wide and per variant — the merchant's Products > Engagement view."
url: https://docs.stoqapp.com/v2-reference/preorders-reports/retrieve-engagement/
api: "API v2 reference"
method: GET
path: "/preorders/reports/engagement"
---

# Retrieve engagement

`GET https://app.stoqapp.com/api/v2/external/preorders/reports/engagement`

Preorder button engagement: impressions, add-to-carts, add-to-cart rate, orders and order rate, shop-wide and per variant: the merchant's Products &gt; Engagement view.

**Note:** Rates use unique shoppers; total_* fields count every event. order_rate can exceed 1.0: orders are placed preorder orders, a different denominator than unique add-to-carts. from/to default to the shop's lifetime. variants is paged and sorted by sort_by (default impressions); shopify_variant_ids narrows it. pixel_active is false until the STOQ web pixel is set up ([`POST /account/web_pixel/enable`](https://docs.stoqapp.com/v2-reference/account-web-pixel/enable-web-pixel/)); the dashboard shows a set-up prompt instead of these numbers then. Each variant row's image_url is the variant's stored image, else the product's (null if none is stored).

## Query parameters

- `from` (string)
- `to` (string)
- `shopify_market_id` (string)
- `shopify_variant_ids` (array)
- `sort_by` (string)
- `direction` (string)
- `page` (string)
- `per_page` (string)

Rate limit: this call costs 1 point ([rate limits](https://docs.stoqapp.com/docs/rate-limits/)).

## Examples

### Retrieve engagement

```sh
curl "https://app.stoqapp.com/api/v2/external/preorders/reports/engagement" \
  -H "X-Auth-Token: $STOQ_API_KEY"
```

### Retrieve engagement filtered by shopify_market_id and shopify_variant_ids

```sh
curl "https://app.stoqapp.com/api/v2/external/preorders/reports/engagement?shopify_market_id=gid%3A%2F%2Fshopify%2FMarket%2F12345&shopify_variant_ids=45000000001" \
  -H "X-Auth-Token: $STOQ_API_KEY"
```

## 200

Success: the requested resource.

## 401

Missing or invalid `X-Auth-Token`.

```json
{
  "errors": [
    "Invalid API key"
  ],
  "code": "auth_invalid",
  "details": [
    {
      "code": "auth_invalid",
      "message": "Invalid API key",
      "path": null,
      "value": null,
      "expected": null
    }
  ]
}
```

## 422

The request failed validation.

```json
{
  "errors": [
    "name is required"
  ],
  "code": "validation_failed",
  "details": [
    {
      "code": "validation_failed",
      "message": "name is required",
      "path": null,
      "value": null,
      "expected": null
    }
  ]
}
```

## 429

Rate limited: cost-weighted per token (read 1, write 2; 360 points / 60s). Check `Retry-After`.

```json
{
  "errors": [
    "Rate limit exceeded"
  ],
  "code": "rate_limited",
  "details": [
    {
      "code": "rate_limited",
      "message": "Rate limit exceeded",
      "path": null,
      "value": null,
      "expected": null
    }
  ]
}
```

