All articles
Attribution

How to reconcile affiliate commissions at month-end

Use immutable click-time partner and program context, current commercial review fields, and retained exports to reconcile affiliate commissions.

How to reconcile affiliate commissions at month-end

It is the last business day of the month. An affiliate emails to say they drove 50 sales and expects to be paid for all 50. Your dashboard shows 30. Now you have three bad options: pay for 50 and quietly eat the gap, pay for 30 and start a fight with a partner who sends you real revenue, or block out an afternoon to rebuild the month from raw logs and hope the number you land on is defensible. Most teams pick the afternoon. Then they do it again the next month.

The frustrating part is that nobody is usually lying. The two sides are counting different things, measured at different moments, with no shared record of what was true when each sale actually happened. Fix that and the argument disappears. This is a playbook for setting up partner tracking so month-end reconciliation is reading a record, not negotiating one.

Stop arguing about totals, start trusting the moment of the click

The reason affiliate numbers drift is timing. A partner counts every sale they think they influenced, across whatever attribution window feels fair to them. Your store counts orders. Somewhere in the middle, refunds happen, links get reused, and a campaign that ran in April gets re-tagged in May.

The fix is to capture attribution at the instant it occurs and freeze it. In Nimriz Partners, every click on a partner-assigned branded short link records which partner, program, and assignment were attached at that moment. That click-time attribution record is immutable. Renaming a partner or reassigning a link later does not move an earlier click to a different partner or program.

Commercial review is a separate layer. Reward terms and partner relationship status are read from the current program and partner records when you generate a report or export. Those fields help reviewers decide what is eligible now, but they do not rewrite the click-time assignment. Keeping attribution facts separate from current commercial policy makes both parts explicit.

The play: one motion per program, one partner per link

The setup that reconciles cleanly comes down to three habits.

Give each partner motion its own program. A program groups partners under a single motion: your affiliate program, an agency program, a creator campaign, a Q4 referral push. Keep each one narrow. A catch-all "general partners" bucket blends unrelated deals into one undifferentiated stream and produces an export finance cannot slice.

Assign exactly one partner to each branded link. A link carries at most one active partner assignment at a time. That single constraint is what keeps a click from being claimed by two people. If a click can only belong to one partner, the report stops being a negotiation.

Track conversions, not just clicks. Clicks tell you a partner sent traffic. Reconciliation needs outcomes: leads, sales, and the refunds that follow. Conversions flow in through the Nimriz Conversion API as signed server-side events, so the outcome is tied back to the partner who earned the click.

A month in the life of one partner

Walk it through with a single creator partner, Verde, in a DTC affiliate program.

At the start of the month you create a program, "Creator Affiliates," and set its default destination and UTM defaults. You add Verde as a partner, create the branded link links.yourbrand.com/verde, and choose to apply the current program defaults to that link. Applying the defaults copies those values onto the saved link; later program edits do not rewrite it. From that moment on, every click on that link is stamped with Verde and the Creator Affiliates program.

Verde drops the link in a video description. Traffic arrives, and the Traffic view groups it under Verde without you touching anything. For sales attribution, you enable conversion tracking, capture the Nimriz click token at the destination, and send signed server-side sale events inside the attribution window. Those events can then be attributed back to Verde with order IDs and amounts attached.

On the last day of the month you open Verde's conversion report and request a commission-ready CSV. The file lists each attributed conversion with its touch and conversion timestamps, the order ID, the amount, and the click-time partner and program context. It also includes the current reward-term and relationship-status context used for that export review. Finance reviews the file, applies its payout rules, and retains the reviewed export alongside the resulting approval or adjustment. When Verde asks why the number is what it is, you can use the retained row and the finance decision made from it.

Watch-outs that keep the export honest

A few things to get right before you trust the file.

Assign the partner before you send traffic. Attribution is forward-looking. Clicks that happened before a link was assigned to a partner are not backfilled into that partner's report. Set up the link, confirm the assignment, then hand it over. If you reassign a link mid-campaign, future clicks go to the new partner and past clicks stay with the previous one.

Record refunds and clawbacks through the same pipe. Refunds, cancellations, and reversals are first-class outcomes. Send them through the Conversion API tied to the original sale rather than hand-editing a positive conversion later. They remain separate rows with clawback context, so the export preserves the original positive event and the negative follow-on outcome instead of silently shrinking a number.

Treat the export as finance's input, not a payout. Nimriz attributes and reconciles. It does not approve commissions, calculate final payable balances, or move money. Any estimated reward column is exactly that, an estimate to help the person doing the review. The CSV is the clean input to whatever process you already run, and it never contains raw IP addresses or full User-Agent strings.

Retain the reviewed export. A later export can show different reward-term or relationship-status context if an operator updates the current partner or program record. Keep the exact CSV that finance reviewed with the corresponding approval, adjustment, and payment record. That preserved file shows which commercial context informed the decision without changing the immutable click-time attribution.

What you get back

The payoff is a cleaner month-end review. When a partner disputes a number, the retained export separates the immutable click-time partner and program assignment from the current commercial context used during review. You can point to the attributed event, the export that finance reviewed, and the approval or adjustment made outside Nimriz without claiming that current reward terms were frozen when the click or sale happened.

Set up your first program and pull a commission-ready export with the Nimriz Partners overview and the commission-ready exports guide. To wire up the outcomes that make the export worth reading, see conversion tracking. For how partner touchpoints sit alongside your other channels, see multi-channel attribution.

Product updates

Get more practical link tips

Related next steps

Ready to put this into practice?

Set up branded short links, QR codes, and privacy-aware analytics from a free account.