CDPGuidesSupport

Attribution (Beta)

Query multi-touch Conversion Attribution and Audience Performance conversion reports via the REST API. These endpoints are in beta.

BetaThis is in beta. The basics are stable, and more capabilities are on the way.

Query multi-touch Conversion Attribution and Audience Performance conversion reports for a conversion event over a date window. These endpoints are in beta — the response shape may change before GA.

GET/rest/v1/attribution/conversion

GET
/rest/v1/attribution/conversion
AuthorizationBearer <token>

Ours Privacy API key

In: header

Query Parameters

from*string

Inclusive lower bound of the analytics window, as a UTC calendar day in YYYY-MM-DD format. The window between from and to must be 31 days or fewer.

Match^\d{4}-\d{2}-\d{2}$
to*string

Inclusive upper bound of the analytics window, as a UTC calendar day in YYYY-MM-DD format. The window between from and to must be 31 days or fewer.

Match^\d{4}-\d{2}-\d{2}$
eventName*string

Conversion event to attribute. Must be a selectable conversion event.

Length1 <= length <= 512
attributionModel*string

Attribution model to apply to multi-touch conversion paths.

Value in

  • "FIRST_TOUCH"
  • "LAST_TOUCH"
  • "LINEAR"
  • "POSITION_BASED"
lookbackWindow?string

How far back before each conversion to consider touchpoints. Capped at 60 days for this report. Defaults to THIRTY_DAYS.

Value in

  • "SEVEN_DAYS"
  • "FOURTEEN_DAYS"
  • "THIRTY_DAYS"
  • "SIXTY_DAYS"
  • "NINETY_DAYS"
  • "ONE_HUNDRED_EIGHTY_DAYS"
  • "UNLIMITED"
limit?integer

Maximum number of leaf-level attribution rows to return. Defaults to 1000.

Range1 <= value <= 5000
webSourceId?string

Scope to a single web source by id, or omit for all sources (account-wide).

Length1 <= length

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/rest/v1/attribution/conversion?from=2026-06-01&to=2026-06-30&eventName=purchase&attributionModel=FIRST_TOUCH"
{  "summary": {    "totalEventConverters": 0,    "scopeConverters": 0,    "attributedConverters": 0,    "totalSessions": 0  },  "nodes": [    {      "level": "SOURCE",      "source": "string",      "medium": "string",      "campaign": "string",      "attributedConverterCredit": 0,      "converters": 0,      "sessions": 0    }  ],  "isTruncated": true,  "totalLeafRows": 0,  "maxLeafRows": 0}
{  "error": "string",  "details": "string"}
{  "error": "string",  "details": "string"}
{  "error": "string",  "details": "string"}
{  "error": "string",  "details": "string"}
{  "error": "string",  "details": "string"}

GET/rest/v1/attribution/audience-conversion

GET
/rest/v1/attribution/audience-conversion
AuthorizationBearer <token>

Ours Privacy API key

In: header

Query Parameters

from*string

Inclusive lower bound of the analytics window, as a UTC calendar day in YYYY-MM-DD format. The window between from and to must be 60 days or fewer.

Match^\d{4}-\d{2}-\d{2}$
to*string

Inclusive upper bound of the analytics window, as a UTC calendar day in YYYY-MM-DD format. The window between from and to must be 60 days or fewer.

Match^\d{4}-\d{2}-\d{2}$
eventName*string

Conversion event to analyze.

Length1 <= length <= 512
valueProperty?string

Event property to sum as conversion value.

Length1 <= length <= 512
attributionWindow?string

Attribution window: IN_RANGE or a number of lookback days (e.g. 7, 30). Defaults to IN_RANGE.

webSourceId?string

Filter results to a specific web source by its UUID.

Formatuuid
excludeBots?string

Exclude bot sessions. Defaults to true.

Value in

  • "true"
  • "false"

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/rest/v1/attribution/audience-conversion?from=2026-05-01&to=2026-06-30&eventName=purchase"
{  "summary": {    "audienceSize": 0,    "conversions": 0,    "totalValue": 0,    "converters": 0,    "conversionRate": 0,    "avgValuePerConversion": 0,    "avgValuePerConvertingVisitor": 0  },  "previousSummary": {    "audienceSize": 0,    "conversions": 0,    "totalValue": 0,    "converters": 0,    "conversionRate": 0,    "avgValuePerConversion": 0,    "avgValuePerConvertingVisitor": 0  },  "timeseries": [    {      "date": "string",      "conversions": 0,      "totalValue": 0    }  ],  "breakdown": [    {      "source": "string",      "medium": "string",      "campaign": "string",      "conversions": 0,      "converters": 0,      "totalValue": 0    }  ]}
{  "error": "string",  "details": "string"}
{  "error": "string",  "details": "string"}
{  "error": "string",  "details": "string"}
{  "error": "string",  "details": "string"}
{  "error": "string",  "details": "string"}

How is this guide?