Zum Hauptinhalt springen

Attribution Statuses

Every click on a referral link (and every promo code use) creates an attribution event — a record of "this visitor may convert for this partner". The Attribution Log shows each event's status and a full explanation of why it ended up that way. This page is the glossary for those statuses.

Status glossary

StatusWhat it means
PendingThe visitor clicked (or used a code) but has not converted yet. The event stays pending until the programme's attribution window runs out
ConvertedThe visitor made a purchase within the attribution window. A commission was created for the partner
ExpiredThe attribution window passed without a conversion. No commission will ever be created from this event
DuplicateThe event was set aside — superseded by a newer referral for the same visitor, or flagged by fraud detection (see below)

Converted, expired, and duplicate are final — an event never leaves them. Renewal payments from a subscription attach additional conversions to the same converted event without changing its status.

How an event moves between statuses

  • Pending → Converted — a conversion (Stripe webhook or Conversion API call) arrives and is attributed to this event within the programme's attribution window (1–365 days, set in Programme Settings).
  • Pending → Expired — the attribution window elapses with no conversion. Expiry is normal background housekeeping, not an error.
  • Pending → Duplicate — the event is superseded or flagged; the reasons are below.

Why an event becomes Duplicate

The log's detail panel shows the specific reason for every duplicate:

  • Superseded by a newer referral — the same visitor was re-attributed before converting. The most common case: the visitor arrived through partner A's link, then used partner B's promo code at checkout. The code wins (it is the more recent, more explicit touch), the click-based event is marked duplicate, and the detail panel of the winning event shows both sides — which partner won and which was overridden, with timestamps.
  • Self-referral detected — fraud detection matched the customer's identity to the partner's own; the event is set aside and no commission is created.

One related case never touches attribution statuses: a conversion arriving with an external_transaction_id that was already processed is rejected as a duplicate conversion at the conversion level. The attribution event keeps its status; the rejection is still recorded in the log with its own explanation.

Fraud flags in the log

Events touched by fraud detection carry a distinct indicator in the log, and the detail panel spells out the rule that fired (self-referral, duplicate conversion) together with the action taken. Partners see only a simplified note ("This conversion was flagged for review") — the technical detail stays merchant-side.

When something looks wrong

If a conversion you expected is missing, or an event expired when you expected a conversion, work through Troubleshooting — it covers the snippet, click IDs, and the Conversion API end to end.