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

# query_attribution_models

> Run the same metrics query across multiple attribution models in one call.

A wrapper around `query_ad_metrics` that fans out across multiple `attribution_model` values and returns one result set per model. Answers "how does my CPA / ROAS look across attribution models?" without N round-trips.

## When to use

* "What's my CPA across attribution models?"
* "Does last\_touch agree with linear\_paid on the top campaigns?"
* Any question reasoning about attribution methodology.

For comparing **periods** (not models), use [`query_ad_metrics_compare`](/mcp/tools/query-ad-metrics-compare).

## Parameters

Accepts every parameter `query_ad_metrics` does, except `attribution_model` is replaced by:

| Parameter            | Type      | Required | Description                      |
| -------------------- | --------- | -------- | -------------------------------- |
| `attribution_models` | string\[] | Yes      | 1–8 attribution models to query. |

## Output

```json theme={null}
{
  "by_attribution_model": {
    "first_touch":           [{ "source": "facebook_ads", "purchase": 412, "roas": 3.82 }],
    "last_touch":            [{ "source": "facebook_ads", "purchase": 487, "roas": 4.51 }],
    "linear":                [{ "source": "facebook_ads", "purchase": 449, "roas": 4.16 }],
    "u_shaped":              [{ "source": "facebook_ads", "purchase": 458, "roas": 4.24 }]
  }
}
```

## Tip

For brand vs prospecting analysis, contrasting `first_touch` and `last_touch` usually shows the largest spread. `linear` and `u_shaped` sit between the two extremes and are good "balanced" reference points for discussion.
