Siren

Investigating a Collaborator Dispute

What to do when a collaborator says they sent a customer who didn't get attributed. A workflow for tracing opportunities, engagements, and conversions back through the pipeline.

Last updated: April 10, 2026

Once in a while, a collaborator will tell you they sent a customer who didn’t get attributed. Sometimes they’re right and something broke. Sometimes they’re not and the customer never actually clicked the link. Either way, you need a way to figure out what happened. This page walks through how to investigate.

The basic shape of an investigation

Siren’s attribution pipeline has three stages, and a dispute almost always comes down to one of them failing. You need to answer three questions in order:

  1. Did the visit ever reach Siren? Look for an opportunity.
  2. If it did, was it tied to the collaborator? Look for an engagement.
  3. If it was, why didn’t it produce a conversion? Look at conversion creation, engagement expiration, program configuration, and self-referral filtering.

Answering these in order tells you whether the problem is tracking, attribution, or program rules. It also tells you whether the collaborator’s claim holds up.

Step 1: check for an opportunity

Open the Opportunities screen in the Siren admin. Search for the visitor by user ID if they were logged in, by email if you have it, or by approximate timestamp if those don’t match. You’re looking for any opportunity that corresponds to this visitor’s session around the time they claim to have clicked the link.

If there’s no opportunity at all, the visit never reached Siren. The tracking script didn’t fire, or it did fire but the visitor’s browser blocked the cookie before anything got recorded. Common causes:

  • The collaborator’s link wasn’t using a tracking ID parameter, so Siren had nothing to record.
  • The visitor blocked cookies or used a privacy-focused browser that dropped the pageview before Siren could store it.
  • The visit landed on a domain that doesn’t have the Siren tracking script loaded (for example, a checkout subdomain that wasn’t configured).

In most of these cases, the collaborator’s claim is essentially unverifiable. You can take their word for it or not, but Siren can’t confirm or deny.

Step 2: check for an engagement

If an opportunity exists, check whether it has any engagements attached. The opportunity represents “Siren saw this visit,” and the engagement represents “Siren tied this visit to a specific collaborator.” An opportunity without engagements means Siren saw the visit but couldn’t figure out who to credit.

Common causes:

  • The tracking ID in the URL didn’t match any collaborator’s alias. A typo in the link, or a link built before the collaborator was assigned an alias.
  • The coupon code at checkout wasn’t assigned to a collaborator. See Coupon Code Tracking for how assignments work.
  • The visit happened before the collaborator was added to the program, so the engagement trigger had nothing to match against.
  • The engagement trigger the visit should have fired isn’t enabled on the program at all.

This stage is where most legitimate disputes land. The visit reached Siren, but a configuration problem prevented it from being credited.

Step 3: check for a conversion

If engagements exist but no conversion fired, you’re looking at a program-level issue. The engagement was created, but something prevented it from turning into a commission. Things to check:

  • Did the engagement expire before the customer purchased? Engagements have a cookie window, and a purchase after that window won’t produce a conversion.
  • Is the engagement type enabled in the program the conversion would have fired in? A program that only tracks coupon codes won’t turn a site-visit engagement into a conversion.
  • Was the buyer logged in as a collaborator? See Self-Referral Prevention. If they were, the opportunity was invalidated and no conversion could fire.
  • Is the program in a program group with a sorter that gave the credit to a different engagement? The dispute might be that the right engagement lost the sort.

If you find an issue in any of these areas, you’ve diagnosed the problem and can decide how to resolve it.

Resolving the dispute

Once you know what happened, the resolution depends on which bucket you’re in.

If the system worked correctly and the collaborator has no claim, explain what you found. Siren’s data is auditable, and walking the collaborator through the opportunity screen (or screenshotting it for them) is usually enough to close the conversation. A dispute that ends with “here’s what we can see on our side” is a lot easier than a dispute that ends with “we’ll take your word for it.”

If the system worked but missed something legitimate (the customer ordered by phone after clicking the link, or the cookie expired a day before checkout), use manual attribution to credit the collaborator after the fact. This runs the transaction through the normal pipeline, so the conversion and obligation get created cleanly.

If the system was misconfigured (the engagement type wasn’t enabled in the right program, the coupon wasn’t assigned correctly, the alias was missing), fix the configuration first. Then decide whether to manually attribute the disputed transaction as a one-off. Usually you should, because the collaborator’s claim is valid and the only reason it didn’t get credited is that you didn’t have Siren set up right.

Preventing future disputes

A few operational habits reduce the number of disputes you have to investigate in the first place.

Hold conversions in pending status during the early days of a program. This gives you a chance to catch configuration problems before they turn into payout complaints. The same habit is the single biggest fraud protection you have, and how to spot and prevent affiliate fraud walks through the patterns worth watching for during that review.

Watch for collaborators with high click counts and zero conversions. That pattern usually means the clicks are reaching Siren but something’s breaking between engagement and conversion, which is exactly the kind of gap that generates disputes once collaborators notice their dashboard is empty.

Regularly audit your most-active collaborators to confirm their alias entries are valid and their coupon codes are still assigned to them. A collaborator whose alias disappeared (because of an import, a manual edit, or a code reassignment) will stop earning commissions silently, and you’d rather catch that before they write you an angry email.