#LinkCodeDOCS
Docs/Affiliate overview

Private partner programs

Controlled rollout

Attribute partners. Settle externally.

Attach a private affiliate program to a LinkCode, issue unique partner links, report conversions, calculate immutable commissions and record settlements completed outside LinkCode.

01

What LinkCode does — and does not do

LinkCode provides attribution, commission calculation, reporting and an external settlement register. It never holds, sends or transfers funds.

  • One private program attaches to an existing LinkCode.
  • Affiliates are partner identities, never workspace members.
  • Every partner receives a non-sequential via token.
  • Commission snapshots never change when a future rule changes.
  • Ledger entries are append-only; reversals create a new entry.
02

Click attribution

The resolver validates the program, affiliate and link. Eligible human clicks receive a UUID click_id. LinkCode appends only lc_click_id to the selected destination and preserves existing query parameters.

  • Bots and previews stay visible in analytics but are ineligible for commission.
  • No private profile data is added to the destination URL.
  • Codes without an affiliate program keep their current resolution behavior.
  • click_id is explicit financial attribution; visitor hashes are analytics signals only.
https://app.linkcode.co/c/SUMMER25?via=PARTNER_TOKEN
03

Install the browser pixel

GET/pixel/v1.jsControlled rollout

The dependency-free script reads lc_click_id, stores it first-party for the attribution window, can clean the visible URL and exposes window.LinkCode.track and window.LinkCode.conversion.

<script async
  src="https://app.linkcode.co/pixel/v1.js"
  data-program-key="lc_pub_xxxxx"
  data-consent="required"></script>
04

Report a browser conversion

PropertyTypeDescription
eventstringrequired

Configured rewarded event, such as purchase.

orderIdstringrequired

Durable merchant-side ID used for deduplication.

amountMinorintegerrequired

Financial amount in currency minor units. Never a floating-point value.

currencyISO 4217required

Three-letter uppercase currency.

testboolean

Test events never generate real statistics or commission.

window.LinkCode?.conversion({
  event: "purchase",
  orderId: "ORDER-123",
  amountMinor: 14900,
  currency: "CAD",
  test: false
});
06

Conversion source and trust levels

Trust describes how the event arrived. Financial status separately describes whether commission is payable, included in a settlement or marked settled externally.

PropertyTypeDescription
browser_reportedunverified

Client-side signal. Pending by default and never payment proof.

server_reportedmerchant_asserted

Authenticated merchant server assertion.

provider_verifiedprovider_verified

Verified payment-provider integration event.

manually_importedmanual

Owner-imported record with an audit trail.

07

Attribution and anti-fraud

Explicit click_id takes priority by default, with promotion code as fallback. Attribution must be inside the program window and tied to an active human-eligible click.

  • No probabilistic or fingerprint-based financial attribution.
  • Flags include duplicate order, bot click, missing/expired attribution, unusual amount, rapid repeat, suspected self-referral, country mismatch, refund rate, invalid signature, timestamp replay and test event.
  • A probabilistic signal creates review context; it never proves fraud on its own.
  • First-click and last-click policies are program-level and auditable.
08

External settlement lifecycle

Owners select available ledger entries for one program, affiliate and currency. LinkCode locks them into a draft, records each transition and exports an auditable CSV; it does not execute the payment.

  • draft → ready → marked paid requires an external method and reference.
  • draft, ready or disputed records can be voided; their ledger entries become available again without deleting history.
  • Marked-paid settlements are terminal. A later correction uses an explicit adjustment, never a rewritten ledger row.
  • CSV exports use integer minor units and neutralize spreadsheet-formula prefixes.