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

# Events & Attribution

> Look up individual clicks, conversions, and full transaction attribution chains.

Click, conversion, and transaction records are served through the generic entity tools — [`get_entity`](generic#get_entity) for a single record by ID, [`list_entities`](generic#list_entities) for filtered listings. This page documents their filters and response shapes, and how to choose between them and the reporting tools.

## Choosing the right tool

| You need                                                                   | Use                                                                          |
| -------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| One click or conversion by ID                                              | `get_entity(type="click", id=…)` / `get_entity(type="conversion", id=…)`     |
| The full story of one transaction — click, conversions, pixel fires, holds | `get_entity(type="transaction", id=…)`                                       |
| Raw click/conversion records over a time window                            | [`search_activity`](reporting#search_activity) — purpose-built stream search |
| Filtered, cursor-paginated event listings                                  | [`list_entities`](generic#list_entities) with the filters below              |
| Aggregated stats (totals, trends, breakdowns)                              | [`run_performance_report`](reporting#run_performance_report)                 |

Clicks and transactions are identified by the **32-character transaction ID**; conversions by the **conversion ID**.

<Note>
  In event responses, fields that are empty, zero, or false are omitted — any given record may carry only a subset of the keys listed below (e.g. `campaign_id`, `error_message`, `coupon_code`, `is_view_through`, and `is_test_mode` appear only when set).
</Note>

## Click

```text theme={null}
get_entity(type="click", id="<32-char transaction ID>")
```

Use this as the first step when a partner reports a missing click, a tracking failure, or an attribution dispute.

**Response fields:** `transaction_id`, `timestamp`, `offer_id`, `offer_name`, `affiliate_id`, `affiliate_name`, `advertiser_id`, `advertiser_name`, `campaign_id`, `error_code`, `error_message`, `is_unique`, `is_view_through`, `is_test_mode`, `payout`, `revenue`, `currency`, `country`, `region`, `city`, `browser`, `platform`, `device_type`, `os_version`, `user_ip`, `sub1`–`sub10`, `source_id`, `referer`, `coupon_code`, `has_conversion`, `previous_transaction_id`.

### Listing clicks

`list_entities(type="click", filters=…)` accepts:

| Filter           | Type   | Description                                                                         |
| ---------------- | ------ | ----------------------------------------------------------------------------------- |
| `from`           | string | Start of the search range (e.g. `2024-01-01`) — **required for listing**            |
| `to`             | string | End of the search range — **required for listing**, maximum **14-day** range        |
| `transaction_id` | string | The unique transaction ID                                                           |
| `offer_id`       | number | Filter by offer ID                                                                  |
| `affiliate_id`   | number | Filter by affiliate ID                                                              |
| `advertiser_id`  | number | Filter by advertiser ID                                                             |
| `error_code`     | number | Filter by click error code (use the `click_error_code` entity type for definitions) |
| `country`        | string | Filter by country code                                                              |
| `source_id`      | string | Filter by traffic source ID                                                         |
| `sub1`–`sub10`   | string | Filter by sub parameter value                                                       |

## Conversion

```text theme={null}
get_entity(type="conversion", id="<conversion ID>")
```

Use this to verify attribution and payout accuracy for a single conversion.

**Response fields:** `conversion_id`, `transaction_id`, `timestamp`, `click_timestamp`, `status`, `error_code`, `error_message`, `offer_id`, `offer_name`, `affiliate_id`, `affiliate_name`, `advertiser_id`, `advertiser_name`, `campaign_id`, `payout`, `revenue`, `sale_amount`, `payout_type`, `revenue_type`, `currency`, `event_id`, `event_name`, `order_id`, `coupon_code`, `is_scrub`, `is_view_through`, `country`, `region`, `city`, `platform`, `device_type`, `browser`, `os_version`, `sub1`–`sub10`, `adv1`–`adv10`, `source_id`, `referer`.

### Listing conversions

`list_entities(type="conversion", filters=…)` accepts:

| Filter          | Type   | Description                                                              |
| --------------- | ------ | ------------------------------------------------------------------------ |
| `from`          | string | Start of the search range (e.g. `2024-01-01`) — **required for listing** |
| `to`            | string | End of the search range — **required for listing**                       |
| `conversion_id` | string | The unique conversion ID                                                 |
| `status`        | string | `approved`, `pending`, `rejected`, or `invalid`                          |
| `offer_id`      | number | Filter by offer ID                                                       |
| `affiliate_id`  | number | Filter by affiliate ID                                                   |
| `advertiser_id` | number | Filter by advertiser ID                                                  |
| `country`       | string | Filter by country code                                                   |
| `source_id`     | string | Filter by traffic source ID                                              |
| `sub1`–`sub10`  | string | Filter by sub parameter value                                            |
| `adv1`–`adv10`  | string | Filter by advertiser parameter value                                     |

## Transaction

```text theme={null}
get_entity(type="transaction", id="<32-char transaction ID>")
```

Returns the full attribution chain for a transaction in one call — use it for end-to-end attribution debugging. Transactions are fetched by ID only; there are no listing filters.

| Field                 | Description                                                                                                                                                                                      |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `transaction_id`      | The transaction ID                                                                                                                                                                               |
| `click`               | The click object (same fields as `type="click"`)                                                                                                                                                 |
| `conversions`         | Array of conversion objects (same fields as `type="conversion"`, each with an added `attribution_method`)                                                                                        |
| `pixels`              | Affiliate pixel-fire logs: `network_pixel_id`, `pixel_type`, `pixel_level`, `pixel_status`, `delivery_method`, `is_success`, `conversion_id`, `transaction_id`, `timestamp`, `debug_information` |
| `on_hold_conversions` | Held/pending conversions: `on_hold_conversion_id`, `status`, `holding_period_end`, `timestamp`, `payout`, `revenue`, `sale_amount`, `notes`, `conversion_id`                                     |

Each collection is capped (10 items) to stay within the context window. For each, the response includes `<name>_total`, `<name>_returned`, and `<name>_truncated` so you can tell when there's more than what's shown.

<Note>
  The former `get_click` and `get_conversion` tools remain callable for backward compatibility but are deprecated and no longer listed — see [Deprecated tools](../tools#deprecated-tools).
</Note>
