---
title: meta_list_pixel_events
description: List the events that a Meta Pixel received in the last 7 days.
---

Ask whether an event fires before an ad set optimizes for it. An ad set that optimizes for an event that never fires gets no delivery.

> Does the Northwind Web Pixel send StartTrial?

The agent calls `meta_list_pixel_events` with the id of the Pixel. You see each event name with its count over the last 7 days, and the hour of its last event. The counts are the ones that Meta reports for the Pixel. Meta keeps 7 days of events, so a smaller window is possible and a larger one is not. [Change what runs on Meta](/mcp/tools/change-what-runs-on-meta) shows where this step comes in the job.

## Reference

**Available on:** [![Meta](/providers/meta.svg)](https://docs.adcrunch.dev/connect/providers)

List the events that one Meta Pixel received in the last `days` days (1 to 7, default 7): one row per event name, with its `count` and `lastSeenAt`. Call this before you create an ad set that optimizes for an event. Confirm that the event fires. An ad set that optimizes for an event that never fires gets no delivery. The counts are the ones that Meta reports for the Pixel. Meta keeps 7 days of events, and the top 100 event names of each hour. The Pixel must be a Pixel of the advertiser: find its id with `meta_list_pixels`. The answer has no page.

### Input

| Argument | Type | Required | Description |
| --- | --- | --- | --- |
| `advertiserId` | string | yes | Advertiser account ID (`acc_<id>`). Must belong to the active organization — find one with `list_advertisers`. |
| `days` | integer, 1 to 7 | no | The days to read, back from now: 1 to 7. The default is 7, all the days that Meta keeps. Default: `7`. |
| `pixelId` | string | yes | The Meta id of the Pixel, digits only. Find it with `meta_list_pixels`. |

### Output

A successful call returns this object in `structuredContent`.

| Field | Type | Always present | Description |
| --- | --- | --- | --- |
| `events` | array of object | yes | One row for each event name that the Pixel received in the window, the greatest `count` first. An empty list means that the Pixel received no event in the window. |
| `events[].count` | integer | yes | The number of events of this name in the window. |
| `events[].event` | string | yes | The event name, as the Pixel sends it: `PageView`, `StartTrial`. The standard event `StartTrial` is the `customEventType` `START_TRIAL` of `meta_create_adset`. |
| `events[].lastSeenAt` | string | yes | The start of the last hour with an event of this name, as Meta writes it (ISO 8601). |

### Failure codes

A failed call has `isError` set, and `structuredContent.error` holds one of these codes. [Errors](/mcp/errors) describes the shape of a failed call.

- `not_found`
- `provider_not_connected`
- `provider_error`
- `organization_unentitled`
- `forbidden`
- `invalid_request`
- `internal_error`

### Scope

The token must hold `observe:read`. [Auth & scopes](/mcp/auth) lists each scope.

### Annotations

A client reads these hints. A hint that the tool does not declare has the default value of the MCP specification.

- **Read-only.** The tool changes nothing.
- **Open world.** The tool reaches a system outside AdCrunch, such as an ad platform.

### Example

The arguments:

```json
{
  "advertiserId": "acc_1485443900032333",
  "pixelId": "812345678901234"
}
```

The result, in `structuredContent`:

```json
{
  "events": [
    {
      "count": 4210,
      "event": "PageView",
      "lastSeenAt": "2026-09-24T08:00:00+0000"
    },
    {
      "count": 37,
      "event": "StartTrial",
      "lastSeenAt": "2026-09-24T07:00:00+0000"
    },
    {
      "count": 5,
      "event": "Purchase",
      "lastSeenAt": "2026-09-23T16:00:00+0000"
    }
  ]
}
```
