# MarketingAdsList

> Page through ads synced from ad platforms with filter, sort and tracking state. Read access, marketing toolset, MCP tool list_marketing_ads.

**Access:** [Read](https://developer.missin.co.uk/get-started/authentication.md#access-levels)

## Variables

| Variable | Type | Required | Accepts | Description |
|---|---|---|---|---|
| `after` | `Cursor` | no | Opaque cursor from `pageInfo.endCursor` |  |
| `condition` | `MarketingAdCondition` | no | Input object, below |  |
| `filter` | `MarketingAdFilter` | no | Input object, below |  |
| `first` | `Int!` | yes | 32-bit integer. MCP tools send `50` when it is left out |  |
| `orderBy` | `[MarketingAdOrderBy!]` | no | One of 39 values, see [MarketingAdOrderBy](https://developer.missin.co.uk/reference/input-types.md#marketingadorderby) | The method to use when ordering `MarketingAd`. |

## Input types

A filter lists its fields by the type they take, and none of them is required.

### MarketingAdCondition

A condition to be used against `MarketingAd` object types. All fields are tested
for equality and combined with a logical ‘and.’

| Field | Type | Required | Accepts | Description |
|---|---|---|---|---|
| `adNetworkChannel` | `String` | no |  | Checks for equality with the object’s `adNetworkChannel` field. |
| `campaignId` | `UUID` | no |  | Checks for equality with the object’s `campaignId` field. |
| `campaignSignalId` | `UUID` | no |  | Checks for equality with the object’s `campaignSignalId` field. |
| `channelId` | `UUID` | no |  | Checks for equality with the object’s `channelId` field. |
| `connectionId` | `UUID` | no |  | Checks for equality with the object’s `connectionId` field. |
| `level` | `String` | no |  | Checks for equality with the object’s `level` field. |
| `name` | `String` | no |  | Checks for equality with the object’s `name` field. |
| `originId` | `String` | no |  | Checks for equality with the object’s `originId` field. |
| `parentOriginId` | `String` | no |  | Checks for equality with the object’s `parentOriginId` field. |
| `programOriginId` | `String` | no |  | Checks for equality with the object’s `programOriginId` field. |
| `rowId` | `UUID` | no |  | Checks for equality with the object’s `rowId` field. |
| `startedAt` | `Datetime` | no | ISO 8601 with a zone, e.g. `2026-01-01T00:00:00Z` | Checks for equality with the object’s `startedAt` field. |
| `status` | `String` | no |  | Checks for equality with the object’s `status` field. |
| `trackingEnabled` | `Boolean` | no |  | Checks for equality with the object’s `trackingEnabled` field. |
| `utmCampaign` | `String` | no |  | Checks for equality with the object’s `utmCampaign` field. |
| `utmMedium` | `String` | no |  | Checks for equality with the object’s `utmMedium` field. |
| `utmSource` | `String` | no |  | Checks for equality with the object’s `utmSource` field. |
| `workspaceId` | `UUID` | no |  | Checks for equality with the object’s `workspaceId` field. |

### MarketingAdFilter

- [StringFilter](https://developer.missin.co.uk/reference/input-types.md#stringfilter): `adNetworkChannel`, `level`, `name`, `originId`, `parentOriginId`, `programOriginId`, `status`, `utmCampaign`, `utmMedium`, `utmSource`
- `[MarketingAdFilter!]`: `and`, `or`
- `Boolean`: `campaignByCampaignIdExists`, `campaignSignalByCampaignSignalIdExists`, `channelByChannelIdExists`, `marketingAdCustomByMarketingAdIdExists`, `marketingAdGoogleByMarketingAdIdExists`, `marketingAdMetaByMarketingAdIdExists`
- [UUIDFilter](https://developer.missin.co.uk/reference/input-types.md#uuidfilter): `campaignId`, `campaignSignalId`, `channelId`, `connectionId`, `rowId`, `workspaceId`
- `MarketingAdFilter`: `not`
- [DatetimeFilter](https://developer.missin.co.uk/reference/input-types.md#datetimefilter): `startedAt`
- [BooleanFilter](https://developer.missin.co.uk/reference/input-types.md#booleanfilter): `trackingEnabled`

## Call it

```bash curl
curl https://api.missin.co.uk/graphql/v1 \
  -H "Authorization: Bearer $MISSIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"operationName":"MarketingAdsList","variables":{"first":50},"extensions":{"persistedQuery":{"version":1,"sha256Hash":"e79f7047563e25ff0277cab8b17fbbe1e797ca7028f8f1ca08643aded4f20f37"}}}'
```

## Document

```graphql
query MarketingAdsList($after: Cursor, $condition: MarketingAdCondition, $filter: MarketingAdFilter, $first: Int!, $orderBy: [MarketingAdOrderBy!]) { __typename allMarketingAds( first: $first after: $after condition: $condition filter: $filter orderBy: $orderBy ) { __typename nodes { __typename adNetworkChannel campaignByCampaignId { __typename icon iconColor id name rowId } campaignId claimedConversions claimedRevenue claimedWindow clicksAll connectionByConnectionId { __typename displayName id integrationByIntegrationId { __typename displayName id logoBg logoUrl slug } rowId } connectionId creativeThumbnailUrl currencyCode destinationUrl endedAt id impressions integrationSlug lastSyncedAt level linkClicks marketingAdDiscountsByMarketingAdId { __typename nodes { __typename discountCodeByDiscountCodeId { __typename code id rowId } id rowId source } } metricsUpdatedAt name programName programOriginId reach rowId spend startedAt status trackingEnabled utmCampaign utmManaged utmMedium utmSource } pageInfo { __typename endCursor hasNextPage } totalCount } }
```

Source: https://developer.missin.co.uk/reference/marketing/marketing-ads-list
