Affiliate integrity checks
How Benson spots coupon extensions taking credit your affiliate partners earned: what each check reads, its limits, and using the evidence.
Jump to a section
Every affiliate manager asks the same thing each month: did the partner who sent this shopper get paid for the order? Benson answers it from inside your store. It watches the affiliate click a shopper arrives with, every later change to that click, and what was on the page when it changed. When something takes credit a partner earned, Benson opens a case.
You'll find it in your dashboard under Affiliates → Integrity. The checks and their counts are free on every plan. Seeing each case, its evidence and the printable evidence pack needs Stop or above.
How the checks run#
- Every hour, Benson runs each check over the last 30 days of your store's sessions and orders. You can also press Scan now, at most once every five minutes.
- One case per thing found. One extension moving clicks from one network to another is one case. New sessions and orders join the open case, so the case grows instead of the list.
- Severity follows the size. Each check counts sessions, or orders when every hit is an order (the late-click check). Fewer than three opens no case. Three or four is low, five or more is medium, and 25, or 100 or more in commission at stake (in your store's currency), is high.
- Closing a case (resolved or dismissed) keeps it for your records. If the same thing happens again a week or more after you closed it, Benson opens a new case.
Before you start#
Turn on attribution tracking under Affiliates → Attribution and set each network's commission rate. The checks read the clicks that attribution tracking records, and the rates price the commission at stake. Order data makes the figures exact: it's automatic on Shopify and comes from the plugin on WooCommerce. Without orders, Benson still counts sessions, and the money shows as "Not priced".
The checks running today#
Extension took the click
Did a coupon extension take the credit from the partner who sent the shopper?
| What Benson reads | The affiliate click a shopper arrived with, every later change to it, and the extensions detected at that moment, joined to the order. Benson looks back 30 days, every hour. |
|---|---|
| Money figure | Commission at your network rates |
| Needs | attribution tracking on |
| Limits | Benson records what changed and what was on the page when it changed. That's a match, not proof of who caused it. Benson sees storefront pages, not inside Shopify checkout, and only sessions it may track under the store's consent settings. Commission at stake uses the rates you set for each network. |
Click arrived after checkout started (beta)
Are you paying commission on orders that were already at checkout?
| What Benson reads | Sessions that reached the basket or checkout before any affiliate click, then picked one up and ordered. Benson looks back 30 days, every hour. |
|---|---|
| Money figure | Commission at your network rates |
| Needs | attribution tracking on, order data |
| Limits | Benson sees storefront pages, not inside Shopify checkout, and only sessions it may track under the store's consent settings. A shopper who leaves to look for a code and comes back through a partner is real behaviour; whether to pay for it is your programme's rule. |
Coming next#
These checks are being built and switch on in your dashboard as they ship. A check that needs something from you, like your partner codes, says so on its card.
| Check | The question it answers | Area |
|---|---|---|
| Extension didn't stand down | When a partner sends a shopper, do coupon and cashback extensions stay out of the way, as network rules require? | Extensions |
| Tracking set without a visit | Is anyone setting affiliate tracking on shoppers who never visited them? | Tracking |
| Partner code used by others | Are a partner's codes being used by shoppers that partner didn't send? | Codes |
| Code listed by extensions | Which of your codes are listed by coupon extensions and voucher sites? | Codes |
| Affiliate click from a search ad | Is an affiliate buying search ads on your brand and sending the clicks through their link? | Search |
| Paid twice for one order | Are you paying for an ad click and then an affiliate commission on the same order? | Search |
| Traffic from a look-alike domain | Are shoppers reaching you through domains that imitate yours? | Search |
Working a case#
Each case page shows what happened (the path from the partner's click to the order), the figures, every evidence row, and what you can do next.
| Status | What it means |
|---|---|
| Open | New. Benson found it and nobody has looked yet. |
| Reviewing | Someone on your team is looking at it. |
| Disputed | You've raised it with the network or the partner. |
| Resolved | Closed: the network corrected it, or you acted on it. |
| Dismissed | Closed: you've decided it isn't a problem. |
Owners and admins change a case's status and keep a note for the team (who you contacted, what the network said). Members can read every case. Dismissing a case asks for a reason:
- This is allowed in our programme
- Already handled
- This looks wrong
The evidence pack and CSV#
The evidence pack is a printable page made to send to a network or a partner manager. It carries your store, the period, the case in plain words, the figures, the question the check answers and how Benson worked it out, the commission rate it used, every evidence row and the limits below. Print it or save it as a PDF from your browser.
The CSV has the same rows for your own records or the network's systems: time (UTC), the visit (an order number or a session), where the shopper arrived from, the click that followed (what it changed to, or which network a late click came from), where in the funnel it happened, the extension detected, the code used, the order revenue and the amount at stake. Late-click rows add how long the shopper was away before the click and the site they came back from. Its first lines repeat the case, method, rate and limits.
Neither carries a session or visitor id. Order numbers are your store's own, so a network can match them to its transaction reports.
What Benson can't see#
- A match, not proof. Benson records what changed and what was on the page when it changed. That an extension was present when a click moved is strong evidence, but it doesn't prove who caused the change.
- Storefront pages only. Benson runs on your store's pages, not inside Shopify checkout, and only for sessions it may track under your consent settings.
- Detected extensions only. An extension that leaves no trace on the page can't be named. The case still records that the click changed.
- Your rates, not the network's. Commission at stake uses the rates you set for each network when the scan ran. Your network's own figure can differ.
Ask an AI assistant#
With the Benson MCP server connected, an assistant can list your integrity cases with list_integrity_cases and read one with its evidence through get_integrity_case. Both are read-only: changing a case's status stays in the dashboard.
Stuck? Email [email protected].

