Skip to main content
Click, conversion, transaction, and order records are served through the generic entity tools — get_entity for a single record by ID, 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

Clicks and transactions are identified by the 32-character transaction ID; conversions by the conversion ID.
In event responses, most empty, zero, or false fields 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). A few string fields (e.g. browser, os_version, referer, coupon_code) may instead come back as an empty string "" rather than being dropped — treat “key absent” and “empty string” the same way.

Click

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, sub1sub10, source_id, referer, coupon_code, has_conversion, previous_transaction_id.

Listing clicks

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

Conversion

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, sub1sub10, adv1adv10, source_id, referer.

Listing conversions

list_entities(type="conversion", filters=…) accepts:
Conversions for a transaction: list_entities(type="conversion", filters={"transaction_id":"<32-char id>"}) is the flat alternative to get_entity(type="transaction"). It returns the same conversions, but cursor-paginated instead of capped at 10 and without the click / pixel / on-hold wrapper. Because it’s an indexed lookup, no from/to window is required.

Transaction

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. Each collection is capped (10 items) to stay within the context window. For each, the response includes <name>_total and <name>_returned; a <name>_truncated: true flag is added only when the collection exceeded the cap (it is omitted otherwise). Compare <name>_total with <name>_returned to detect when there’s more than what’s shown. When conversions are truncated, conversions_note gives the exact list_entities(type="conversion", filters={"transaction_id":…}) call to page through all of them.

Order

An e-commerce order ingested from a store integration. Use this to map a store order id back to the store it came from — for Shopify, the .myshopify.com URL — and to the transaction it generated. The id is the store’s order id (the long Shopify order id, not the 32-char transaction ID). Response fields: order_id, order_number, transaction_id, source, integration_id, shopify_store_url, offer_id, affiliate_id, customer_email, total, timestamp, items (each: product_id, sku, name, quantity, price). shopify_store_url is populated for Shopify orders only; integration_id is the store’s integration ID on the network.

Listing orders

list_entities(type="order", filters=…) accepts:
The by-integration listing is backed by the order line-item table, not the order store, so it returns a lighter record (no total, customer_email, offer/affiliate ids, or line items — fetch a single order by id for those) and excludes orders that have no line items. It’s scanned newest-first in bounded chunks; a has_more: true with a note means more orders match or the scan budget was reached — narrow the window to see the rest.
The former get_click and get_conversion tools remain callable for backward compatibility but are deprecated and no longer listed — see Deprecated tools.