---
title: "Get attribution metrics"
method: GET
path: "/v1/accounts/{accountId}/conversion-destinations/{destinationId}/metrics"
tags: ["Conversions"]
---

# Get attribution metrics

`GET /v1/accounts/{accountId}/conversion-destinations/{destinationId}/metrics`

LinkedIn-only today. Returns conversion-attribution metrics
(`externalWebsiteConversions`, `externalWebsitePostClickConversions`,
`externalWebsitePostViewConversions`, `conversionValueInLocalCurrency`,
`qualifiedLeads`, `costInLocalCurrency`) bucketed by date.

Date-range constraints (passed through from LinkedIn):
- `granularity=DAILY` is retained for ~6 months only
- `granularity=ALL` with a range > 6 months auto-rounds to month boundaries
- `granularity=MONTHLY`/`YEARLY` retains 24 months

Throttle: LinkedIn caps adAnalytics at 45M metric values per 5-minute
window across the calling token. Single-rule queries are well within
that limit; surfaces as 429 if hit.

## Path parameters

- `accountId` string, required
- `destinationId` string, required

## Query parameters

- `adAccountId` string, required
- `startDate` string, required
- `endDate` string
- `granularity` 'ALL' | 'DAILY' | 'MONTHLY' | 'YEARLY'

## Response `200`

Metrics rows

- object
  - `platform` 'linkedinads'
  - `granularity` 'ALL' | 'DAILY' | 'MONTHLY' | 'YEARLY'
  - `rows` object[]
    - `start` string — YYYY-MM-DD
    - `end` string — YYYY-MM-DD (inclusive)
    - `metrics` object

## Other responses

- `400` — Validation error or invalid date range.
- `401` — Unauthorized
- `403` — Ads add-on or LinkedIn reconnect required.
- `404` — The account or requested resource was not found or is not accessible. An account ID may have been disconnected and removed. Read GET /v1/accounts for current account IDs.
- `405` — Platform does not support metrics readback.
- `409` — The account exists but is inactive or needs reconnection. Reconnect it, then read GET /v1/accounts for its current account ID before retrying. Code: ads_connection_required.
- `429` — LinkedIn analytics rate limit hit.

## Changes

- **2026-09-16** `3e6ddf2a99ea` — 2 info
  - added the optional property `details/budgetScope` to the response with the `404` status
  - added the optional property `details/budgetScope` to the response with the `409` status
- **2026-09-15** `0dba7d004d75` — 4 info
  - added the optional property `details/quotaExhausted` to the response with the `404` status
  - added the optional property `details/quotaExhausted` to the response with the `409` status
  - added the optional property `details/quotaScope` to the response with the `404` status
  - added the optional property `details/quotaScope` to the response with the `409` status
- **2026-09-10** `e70ed06e7150` — 2 info
  - added the media type `application/json` for the response with the status `404`
  - added the non-success response with the status `409`

[Change history](https://skmtc.dev/zernio/apis/zernio-api/changes/v1/accounts/:accountId/conversion-destinations/:destinationId/metrics/get.md)

---

[API](https://skmtc.dev/zernio/apis/zernio-api.md) · [All operations](https://skmtc.dev/zernio/apis/zernio-api/llms.txt) · [OpenAPI document](https://skmtc.dev/zernio/apis/zernio-api/revisions/fdaf9a9fb1a7?raw)
