Skip to content
Browse documentation

Conversions management and CSV import

Review, approve and reject conversions in bulk, add them manually, adjust amounts, and create or update conversions from a CSV file.

Last updated 5 min read

On this page

Reporting → Conversions (/app/reports/conversions) lists every conversion of the workspace and is where you review them. Analysts can view; changing statuses, adding, adjusting and importing needs a manager role or higher.

Find conversions#

The page uses the date range in the top bar (conversion time). KPI cards show Approved, Pending review, Rejected and Approved revenue for the filtered set.

FilterValues
StatusApproved, Pending, Rejected
Offer, Affiliate, EventAny
Methods2s, pixel, js, manual, api, import
DuplicatesHide duplicates, Only duplicates

The search box ("Conversion, click or transaction ID…") matches a conversion ID, click ID, the advertiser's transaction ID or a gclid exactly. A full conversion or click ID is found whatever the date range.

Columns: Time, Status (with the reason), Offer, Affiliate, Event (with a Duplicate badge), Payout, Revenue, Method, Country, and hidden Sale, Click ID, Txn ID, Sub 1, GCLID. Click a row for the full conversion with its click, status buttons and a link to the transaction journey.

Approve, reject or set pending#

  1. Select conversions (or open one).
  2. Choose Approve, Mark pending or Reject.
  3. Enter a Reason — optional for approve/pending, e.g. "validated by advertiser"; for rejections e.g. "fraud, invalid lead, chargeback". It is stored as the status reason and in the audit log (max 120 characters). Without a reason the status reason becomes manual.

What happens:

  • Up to 5,000 conversions per action. Unchanged ones are skipped; duplicates can only be rejected.
  • Partner postbacks configured for the new status are queued (for example an approval fires the partner's postback).
  • Cap counters follow: rejecting frees a conversion-cap slot and its payout, approving takes one.
  • Structural reasons duplicate and multiple are kept.
  • A conversion already billed on a payout statement or invoice can still change status; the money difference is billed on the next statement as a clawback. See Clawbacks.
  • The change is audited as conversion.status.

Conversions held by an offer's hold period are pending with reason hold until the hold expires and the worker approves them; you can decide them earlier yourself.

Add a conversion manually#

Click Add conversion and fill in:

FieldNotes
Click IDOptional. 32 hex characters; offer and affiliate are taken from the click.
OfferRequired without a click ID.
EventEvent of the offer.
AffiliateOptional without a click ID ("No affiliate").
StatusApproved — fires postbacks, Pending review, Rejected.
Transaction / order IDOptional, unique per offer.
Payout, RevenueOptional; empty = calculated from the offer ("From offer").
Sale amountUsed for percentage (CPS/RPS) payouts.
Conversion timeIn your time zone; defaults to now.
NotesE.g. why it was added.

The method is manual. Errors: "A conversion with this transaction ID already exists for the offer." and "This click already has a conversion for that event." Conversions can also be created with POST /api/v1/conversions (method api) — see API overview.

Adjust amounts#

Row menu → Adjust amounts… changes Payout, Revenue and/or Sale amount (in the conversion's currency) and adds a Note ("Why the amounts changed").

  • The change is audited as conversion.adjust with old and new values, payout cap counters move by the difference and reports follow within seconds.
  • No postback is re-fired.
  • Money of a conversion that is already on a payout statement or an invoice cannot be changed here — only its note.

Row menu → Change history shows every recorded change ("No recorded changes: the conversion is as tracking created it." otherwise).

Import conversions from CSV#

Use Import CSV to approve or reject in bulk from an advertiser's file, fix amounts, or create conversions for known click IDs.

  1. Click Import CSV.
  2. Choose a .csv file or paste the rows (max 5,000 rows, 2 MB). Separators , ; or tab are detected from the header; quoted values are supported.
  3. Click Preview. Nothing is changed yet. Each line shows Line, Match, Action and Details.
  4. Click Apply N changes.

Columns#

At least click_id or txid is required. Header names are case-insensitive; spaces and dashes count as _.

ColumnAccepted header namesNotes
Click IDclick_id, clickid, transaction_id, tid32 hex characters
Transaction IDtxid, adv_txid, order_idThe advertiser's order ID
Eventevent, event_code, goalDefault default
Statusstatusapproved, pending or rejected
Revenuerevenue
Payoutpayout
Sale amountsale_amount, amount

Empty cells keep the current value.

CSV
click_id,txid,event,status,revenue,payout,sale_amount
0199c2f0a1b2c3d4e5f60718293a4b5c,,default,approved,,,
,ORDER-1001,sale,rejected,,,

How rows are matched#

Row hasMatched toIf no match
click_id (+ event)The non-duplicate conversion of that click and eventA new conversion is created for the click (status default approved; missing amounts from the offer).
txid onlyThe non-duplicate conversion with that transaction ID (and event, when given)Error "No conversion with this transaction ID (add a click_id to create one)."

Actions: create, update (lists the changes, e.g. "status pending → approved"), unchanged ("Already up to date.") and error (e.g. "click_id must be 32 hexadecimal characters.", "Matches more than one conversion — add the event or a click_id.", "Click not found in this workspace."). Created conversions have method import; status changes queue postbacks like manual changes.

Export#

The table's CSV export downloads up to 100,000 filtered conversions and is audited as conversions.export. Partners and advertisers get the same export of their own rows with their restricted columns.

Something unclear or missing in this article?Tell us