Your finance team sends you a spreadsheet at month-end with a simple question: why did we pay affiliates €847,000 when the gaming platform shows €722,000 in attributed revenue?
You don’t have a good answer.
Your affiliate tracking system says one thing. Your iGaming platform says another thing. Your payment processor has a third number. Your CRM has player counts that don’t match any of them. And your BI dashboard? That’s pulling from all four sources and producing a number that satisfies nobody.
This isn’t a rounding error. This is a systematic reconciliation failure that’s costing you real money—either in overpaid commissions, underpaid affiliates who leave your program, or compliance risk when your numbers don’t match during an audit.

We’ve worked with casino operators where the delta between affiliate tracking and platform revenue exceeded 18% month-over-month. Not because of fraud. Not because of a technical failure. Because five different systems were measuring the same events with different rules, different timestamps, and different currency conversions, nobody built a reconciliation framework that could align them.
The Multi-System Reality of Casino Affiliate Tracking
Here’s what actually happens when a player clicks an affiliate link and plays at your casino:
A click event gets logged in your affiliate tracking system with timestamp, affiliate ID, source parameters, and a unique click identifier.
Registration happens on your iGaming platform. Player creates account. Platform assigns player ID, stores registration timestamp (possibly in a different timezone), and may or may not immediately communicate this back to your affiliate system.
KYC verification occurs in your compliance system. Could be instant. Could take 48 hours. Player status changes from “pending” to “verified” but this status change might not trigger an update to your affiliate tracker.
First deposit processes through your payment service provider. PSP records the transaction in their timezone, their currency (before conversion), and with their transaction ID. Your platform receives a webhook, creates an internal deposit record, credits the player’s account, applies any bonuses, and (hopefully) fires a postback to your affiliate system.
Wagering activity generates gaming logs in your platform. Every bet, every win, every loss gets recorded. Your platform calculates Net Gaming Revenue (NGR) by subtracting wins from wagers and deducting bonus costs. But which bonus costs? The welcome bonus the affiliate’s player used? Or all bonuses including retention bonuses you gave them three months later?
Revenue attribution is where it all falls apart.
Your affiliate system needs to know: which affiliate gets credit, how much revenue did this player generate, what commission do we owe?
Your platform knows: this player wagered X, won Y, generated Z in NGR.
Your PSP knows: this player deposited A, withdrew B.
Your CRM knows: this player is tagged with affiliate ID C but also came through a retargeting campaign last week.
None of these systems agree on the numbers. They weren’t designed to.
Event Mapping: Where Attribution Breaks Down
The fundamental problem is event definition mismatch.
When does a “conversion” happen in your affiliate system? At registration? At first deposit? At first qualified wager? Different operators define this differently, and even within one operator, the definition might vary by affiliate tier or traffic source.
Your top affiliate sends traffic on January 15th. Player registers same day. That’s a conversion in your affiliate tracker—timestamp 2026-01-15 23:47:33 UTC.
But the player doesn’t deposit until January 17th after KYC approval. Your iGaming platform records the “first deposit” event at 2026-01-17 14:22:11 CET (which is 13:22:11 UTC, but your platform stored it in local time).
Your affiliate dashboard shows a January 15th conversion. Your platform revenue reports show a January 17th first-time depositor. Your finance team is trying to reconcile these for monthly reporting and the dates don’t match.
Multiply this by 50,000 players per month.
Now add timezone drift. Your affiliate system runs in UTC. Your platform runs in Malta time (CET). Your PSP runs in UK time (GMT, or BST during summer). Your BI pulls data from all three and displays it in your local timezone.
A deposit that happened at 23:45 Malta time on January 31st becomes February 1st in UTC. Your January affiliate report includes this deposit. Your platform’s January revenue report doesn’t. You’re off by one day, and across thousands of transactions, this creates significant deltas.
Currency Conversion: The Silent Revenue Killer
Your casino accepts EUR, USD, GBP, CAD, and a dozen other currencies. Your affiliates get paid in EUR. Your PSP settles some currencies at different rates than your platform’s internal conversion.
Player deposits $100 USD on January 10th. Your PSP converts this to EUR at the current rate: €92.15. Your platform records €92.15 in the player’s account.
But your affiliate system calculates commission based on revenue, and it pulls revenue data from your platform API on January 31st when you run monthly reports. Your platform stores revenue in the currency the player used (USD), then converts to EUR for reporting. But it uses January 31st exchange rates: now $100 = €94.30.
Your affiliate report shows €94.30 in attributed deposits. Your PSP settlement shows €92.15 actually received. Delta: €2.15 per transaction. Across 10,000 USD deposits per month: €21,500 discrepancy.
Which number is correct? Both. They’re measuring different things at different times.
Some operators solve this by fixing exchange rates monthly. On January 1st, you lock in rates for the entire month. Every transaction uses those rates regardless of actual conversion. This creates consistency between systems but introduces basis risk—if rates move significantly, you’re either over-paying or under-paying based on reality.
Others use transaction-time rates but then face the reconciliation nightmare of matching transactions across systems with different conversion timestamps.
There’s no perfect solution. Only trade-offs.
Deduplication Rules: When Multiple Systems See the Same Player
Your affiliate system uses browser cookies and click IDs to track players. Your platform uses email addresses and player IDs. Your CRM uses device fingerprinting and account credentials.
Player clicks Affiliate A’s link on mobile. Cookie gets set. Player browses, leaves without registering.
Three days later, player clicks Affiliate B’s link on desktop. New cookie. Player registers. Affiliate B gets credited with the registration in your tracking system.
But the player used the same email address they had entered in a “notify me” form from Affiliate A’s initial visit. Your CRM flags this as Affiliate A’s lead. Your platform sees one player ID, one registration, doesn’t know about the cookie conflict.
Who gets the commission?
Your deduplication rules determine this. First-touch attribution gives it to Affiliate A. Last-touch gives it to Affiliate B. Linear splits it between them. Time-decay weights it toward the most recent touch.
But here’s the problem: your affiliate system might use last-touch while your BI system uses first-touch for internal reporting. You’re measuring the same player registrations with different attribution models.
Your affiliate dashboard shows Affiliate B drove 1,000 registrations this month. Your BI dashboard attributes 1,000 registrations to various sources using first-touch, and only 600 of those go to Affiliate B.
Same data. Different rules. Irreconcilable numbers.
Revenue Definition Chaos: Net vs Gross vs NGR vs GGR
Let’s talk about what “revenue” actually means because every system defines it differently.
Gross Gaming Revenue (GGR): Total wagers minus total wins. This is what most gaming platforms calculate. Player bets €1,000, wins €700, GGR = €300.
Net Gaming Revenue (NGR): GGR minus bonuses and other costs. That same €300 GGR becomes €180 NGR after deducting the €120 welcome bonus you gave the player.
Net Revenue (to operator): NGR minus payment processing fees, chargebacks, taxes, game provider fees. That €180 NGR becomes €95 after all deductions.
Which number do you pay affiliate commissions on?
Most affiliate agreements specify “Net Gaming Revenue” but don’t clearly define whether that’s before or after payment fees, whether it includes or excludes bonus costs, and which bonuses count (only acquisition bonuses? or retention bonuses too?).
Your affiliate system might be calculating commission on GGR because that’s what your platform API returns by default. Your finance team is calculating payouts based on fully-loaded net revenue after all costs. The delta is massive.
I’ve seen operators where affiliate commission was calculated on €2.4M in monthly “revenue” while the actual net revenue to the operator after all costs was €1.7M. They were paying 30% commission on phantom revenue that didn’t exist after real costs.
The fix isn’t technical. It’s definitional. You need agreement across teams on which revenue figure is the source of truth for affiliate payouts, then ensure all systems calculate and report that exact figure consistently.
Chargeback Handling: The Reconciliation Nightmare
Player deposits €500 via credit card. Plays, loses €300, withdraws €200. Your affiliate gets credited with €300 NGR. Commission paid.
Sixty days later, the player disputes the original €500 deposit with their bank. Chargeback approved. You lose €500.
Does your affiliate system automatically deduct €300 from that affiliate’s revenue? Does it claw back the commission you already paid?
Most affiliate platforms don’t have native chargeback handling. You need to manually create a negative revenue adjustment, associate it with the correct player and affiliate, and ensure it appears in the next payout cycle.
But your PSP records chargebacks in their system with their transaction IDs. Your platform records them with player IDs. Your affiliate system needs affiliate IDs and click IDs. Linking these three identifiers across systems to create the correct adjustment is manual, error-prone, and often incomplete.
Operators typically handle chargebacks in one of three ways:
Ignore them for affiliate purposes. Treat chargebacks as operator risk, don’t adjust affiliate revenue. Simple but expensive.
Deduct from future revenue. When a chargeback occurs, create a negative revenue entry that offsets future commissions. Works if the affiliate continues sending traffic. Fails if they don’t—you’re stuck with the loss.
Immediate clawback. Subtract chargebacks from the current month’s payout. Requires tracking chargeback-to-affiliate mapping in real-time. Complex but accurate.
Each approach creates different reconciliation requirements and different month-end numbers.
Bonus Cost Allocation: Who Pays for Player Incentives?
You offer a 100% deposit match up to €200. Player deposits €200, gets €200 bonus, has €400 to play with. They wager €400, win €100, cash out €100.
What’s the NGR for affiliate commission purposes?
Scenario A: Wagers (€400) – Wins (€100) – Bonus Cost (€200) = €100 NGR
Scenario B: Only count non-bonus funds. Wagers (€200) – Wins (€50) = €150 NGR
Scenario C: Count all wagering but exclude bonus cost. Wagers (€400) – Wins (€100) = €300 GGR, no bonus deduction
Your affiliate agreement probably specifies one of these, but does your platform calculate it that way? Does your affiliate system apply the same logic?
We, the team behind Scaleo, have analyzed hundreds of casino affiliate programs and found that bonus cost allocation is the single most common source of reconciliation discrepancies. The platform calculates one way, the affiliate system calculates another, and nobody notices until month-end when the numbers are 12% apart.

Compounding this: retention bonuses. A player comes through Affiliate A in January. You give them a welcome bonus. They play, generate revenue, Affiliate A gets commission. In March, you run a reload bonus promotion to retain players. The same player uses a €50 reload bonus.
Do you deduct that €50 bonus cost from Affiliate A’s March revenue? The affiliate didn’t drive the reload—you gave it to retain a churning player. But it reduces the player’s NGR.
Some operators deduct all bonus costs from affiliate revenue regardless of source. Others only deduct acquisition bonuses directly tied to the affiliate’s traffic. Others use a hybrid model where acquisition bonuses are fully deducted but retention bonuses are only partially allocated.
There’s no industry standard. Only what you define in your agreements and configure in your systems.
Payout Holds and Pending Revenue: Timing Mismatches
Most casino affiliate programs hold payouts for 30-60 days to account for potential chargebacks, fraud, or player refunds. But your platform reports revenue in real-time.
Your gaming platform shows €500,000 NGR for January. But your affiliate payouts for January won’t process until March 1st, and even then, you’re paying for revenue with a 60-day lookback period.
In March, you’re paying for:
- January revenue (confirmed clean after 60-day hold)
- Minus any January chargebacks discovered in February
- Minus any January fraud flagged during review
- Plus any December revenue that was initially held pending but later approved
Your finance team is reconciling January platform revenue (€500K) against March affiliate payouts (€427K for January traffic, but the number includes adjustments from December and excludes pending holds).
The numbers can’t match because they’re measuring different time periods with different recognition rules.
You need a separate reconciliation framework that accounts for:
- Accrued revenue: What the platform earned
- Recognized revenue: What you’re paying commission on after holds
- Adjustments: Chargebacks, fraud, refunds discovered post-period
- Timing gaps: The lag between platform revenue date and payout date
The Audit Trail Problem: Proving the Numbers
Your biggest affiliate questions why their February payout is €8,000 less than they calculated. They want an explanation.
You need to show:
- Exactly which players were attributed to them
- What each player wagered, won, and generated in NGR
- Which bonuses were applied and how they affected NGR
- Any chargebacks or adjustments that reduced revenue
- The commission calculation at each tier
- Currency conversions if applicable
This requires joining data across your affiliate system, gaming platform, payment processor, and possibly CRM. Most operators don’t have this in a queryable format.
Your affiliate system shows high-level numbers: 847 registrations, €124,000 NGR, €31,000 commission.
Your platform has player-level detail but doesn’t store affiliate attribution long-term.
Your PSP has transaction detail but doesn’t know about affiliate IDs.
To answer the affiliate’s question, you need someone to manually pull reports from three systems, export to Excel, VLOOKUP the data together, and hope the player IDs match across systems.
This takes hours. For one affiliate inquiry.
Multiply by 200 active affiliates per month asking questions, and you have a full-time reconciliation team doing nothing but manual data joins.
Building a Reconciliation Framework That Actually Works
Here’s what a proper casino affiliate reconciliation system needs:
Unified event logging. Every significant player action—click, registration, deposit, wager, withdrawal, chargeback—gets logged to a central data warehouse with consistent identifiers (player ID, affiliate ID, click ID, transaction ID) and consistent timestamps (store everything in UTC, convert for display only).
Revenue calculation engine. One system calculates NGR using agreed-upon rules. Not your platform’s default calculation. Not your affiliate system’s estimate. A dedicated calculation engine that applies your specific bonus allocation rules, currency conversion rules, and cost deduction rules. This becomes the source of truth.
Automated matching. Build ETL processes that pull data from platform, PSP, and affiliate system daily, match transactions using multiple identifiers (player ID + timestamp + amount), flag mismatches for review, and auto-reconcile matches.
Adjustment workflow. When chargebacks, refunds, or fraud occurs, create a standardized adjustment record that flows through all systems. Don’t manually update three databases. Create the adjustment once, let it propagate.
Reporting layer. Build dashboards that show the same numbers regardless of which team is looking. Finance sees the same affiliate revenue numbers that the affiliate manager sees that the affiliates themselves see. One source of truth, multiple views.
Is this complex? Yes.
Is it necessary at scale? Absolutely.
Operators processing €10M+ in monthly affiliate-attributed revenue cannot function on manual reconciliation. The error rate is too high, the time cost is too expensive, and the compliance risk is too significant.
How Modern Affiliate Platforms Solve Multi-System Reconciliation
The reconciliation problem exists because legacy affiliate systems were built as standalone tracking platforms, not as integrated components of a multi-system casino tech stack.
Modern casino affiliate management requires a platform that acts as the reconciliation layer between your gaming platform, PSP, CRM, and BI systems.

Scaleo was architected specifically for this multi-system reality. Instead of trying to be another disconnected tracking system, it functions as the central hub where data from all sources converges, gets normalized, and becomes reconcilable.
The platform ingests events from multiple sources simultaneously:
- Click tracking via client-side and server-side methods (solving the ITP issues from earlier)
- Registration data via API integration with your gaming platform
- Deposit events via webhook from your PSP or platform
- Gaming revenue via scheduled API pulls or real-time postbacks
- Chargebacks and adjustments via PSP webhooks or manual upload
Each event arrives with its native identifiers and timestamp. Scaleo’s matching engine uses probabilistic and deterministic matching to link events across sources:
If a deposit from your PSP shows player_id: 12345, timestamp: 2026-01-15 14:22:11 CET, amount: €200, and your platform’s API shows a deposit for the same player_id at the same timestamp (converted to UTC), the system auto-matches these as the same event.
If timestamps don’t align perfectly—maybe there’s a 3-second delay between PSP webhook and platform recording—the matcher uses fuzzy time windows (±60 seconds) plus amount and player ID to identify matches.
Unmatched events get flagged for review rather than causing silent discrepancies.
Currency normalization happens at ingestion. When your PSP sends a $100 USD deposit, Scaleo applies your configured exchange rate rules—either transaction-time rates pulled from your rate provider, or monthly fixed rates if that’s your reconciliation preference. The normalized EUR amount gets stored alongside the original USD amount, so you can always trace back to source data.
Revenue calculation follows your specific business rules. You configure exactly how NGR should be calculated:
- GGR (wagers minus wins)
- Minus welcome bonuses attributed to affiliate traffic
- Minus or exclude reload bonuses based on your policy
- Minus payment processing fees if your agreement specifies net revenue
- In EUR, using month-start exchange rates for all currencies
The calculation engine applies these rules consistently across all affiliates. No variance. No interpretation. The same €100 deposit generates the same calculated revenue regardless of which affiliate drove it or which reporting interface displays it.
Chargeback handling is automated via webhook integration. Your PSP fires a chargeback event, Scaleo receives it, identifies the original transaction, finds the associated affiliate attribution, creates a negative revenue adjustment, and applies it to the next payout cycle. The adjustment appears in the affiliate’s dashboard with full transparency: “Chargeback for transaction, original deposit €500, revenue impact -€200.“
Bonus cost allocation is configurable at the program level. You define which bonus types get deducted from which affiliate tiers:
| Bonus Type | Affiliate Tier | Allocation Rule |
|---|---|---|
| Welcome Bonus | All Tiers | 100% deducted from NGR |
| Reload Bonus | Premium | 0% deducted (operator cost) |
| Reload Bonus | Standard | 50% deducted (shared cost) |
| Cashback | All Tiers | 100% deducted from NGR |
| Free Spins | All Tiers | Cost deducted at provider rate |
Scaleo applies these rules automatically when calculating monthly revenue. Your finance team isn’t manually adjusting spreadsheets. The platform knows that Affiliate A is Premium tier, so reload bonuses don’t reduce their revenue, while Affiliate B is Standard tier, so reload bonuses reduce their revenue by 50%.
The audit trail is built-in. When an affiliate questions their payout, you click into their account and see:
- Player-level detail: which players were attributed, registration dates, deposit dates
- Revenue breakdown: GGR, bonus deductions, net revenue, by player and by day
- Transaction matching: which platform transactions matched which PSP transactions
- Adjustments: chargebacks, refunds, fraud deductions with source references
- Commission calculation: revenue at each tier, blended rate, final payout
All queryable. All exportable. All timestamped with “calculated at” dates so you can prove what the numbers were at month-end even if later adjustments occurred.
The reconciliation workflow becomes: pull Scaleo’s month-end affiliate revenue report, pull your platform’s NGR report, compare totals. If they match within your acceptable tolerance (usually <2% due to timing differences), you’re done. If they don’t, Scaleo’s discrepancy report shows exactly which players or transactions are causing the delta.
This reduces reconciliation from a multi-day manual process involving three people to a 30-minute review by one person.
Real-World Reconciliation Tolerances
Perfect reconciliation doesn’t exist. Even with the best systems, you’ll have small discrepancies due to timing, rounding, and legitimate system differences.
Industry standard tolerances for casino affiliate reconciliation:
| Metric | Acceptable Variance | Red Flag Threshold |
|---|---|---|
| Total Monthly Revenue | <2% | >5% |
| Registration Count | <1% | >3% |
| First Deposit Count | <3% | >7% |
| Currency Conversion | <0.5% | >2% |
| Individual Transaction | €0.00-€0.50 | >€5.00 |
If your affiliate system shows €1,000,000 in monthly revenue and your platform shows €1,015,000, that’s 1.5% variance—within tolerance. Likely caused by timezone differences, pending transactions, or timing of revenue recognition.
If your affiliate system shows €1,000,000 and your platform shows €1,180,000, that’s 18% variance—major red flag. You have systematic measurement problems: wrong revenue calculation, missing adjustments, attribution errors, or data integration failures.
The goal isn’t zero variance.
The goal is predictable, explainable variance that stays within acceptable bounds and doesn’t grow over time.
The Compliance Dimension: Why Reconciliation Matters for Licensing
Gaming regulators care about affiliate tracking accuracy because it affects:
Tax reporting. You pay gaming taxes on NGR. If your platform and affiliate system disagree on NGR by 15%, which number are you reporting to the tax authority?
Responsible gambling. Regulators want to know player acquisition sources. If your attribution is broken, you can’t accurately report which affiliates are sending problem gamblers.
Anti-money laundering. You need to track full player lifecycle from acquisition source through deposit/withdrawal patterns. Broken attribution means broken AML tracking.
Affiliate compliance. Many jurisdictions require that affiliates be licensed or approved. You need to prove which affiliates drove which revenue. “We think it was Affiliate A but our systems don’t exactly match” doesn’t satisfy regulators.
During a regulatory audit, they will ask for player-level attribution data. They will cross-reference your affiliate reports against your platform revenue reports. If the numbers don’t reconcile, you have explaining to do.
Building the Business Case for Reconciliation Investment
Finance teams understand this in simple terms:
Cost of broken reconciliation:
- 2-3 FTE doing manual reconciliation: €150,000/year
- Overpaid commissions due to calculation errors: ~3% of affiliate spend
- For €5M annual affiliate payout, that’s €150,000 in overpayment
- Lost affiliate relationships from underpayment disputes: unmeasured but real
- Compliance risk: potentially massive
Cost of proper reconciliation infrastructure:
- Modern affiliate platform with multi-system integration: €50,000-€100,000/year
- ETL and data warehouse setup: €30,000-€80,000 one-time
- Ongoing maintenance: 0.5 FTE: €40,000/year
ROI is positive in year one if your affiliate spend exceeds €2M annually.
Below that threshold, you might get away with manual processes and accepted inaccuracy. Above it, you’re bleeding money by not investing in proper infrastructure.
Conclusion: Reconciliation as Competitive Advantage
Casino operators who solve affiliate reconciliation gain several advantages:
They pay affiliates accurately, which builds trust and attracts the best traffic sources. Top affiliates specifically ask about reconciliation capabilities during program evaluation. They’ve been burned by operators with broken tracking.
They make faster decisions. When your numbers are clean, you can analyze affiliate performance daily instead of waiting for month-end reconciliation. You can pause underperforming sources immediately and scale winners aggressively.
They reduce costs. No reconciliation team doing manual data joins. No overpaid commissions. No compliance penalties.
They sleep better during audits. When regulators ask for attribution substantiation, you produce it in hours, not weeks.
The operators still running Excel-based reconciliation in 2026 are fighting with one hand tied behind their back. The data complexity has exceeded what manual processes can handle.
Build the infrastructure. Define the rules. Automate the matching. Accept small variances. Investigate large ones.
Your affiliates, your finance team, and your regulators will thank you.
Ready to eliminate reconciliation headaches from your casino affiliate program? Scaleo’s multi-system integration framework is built specifically for iGaming operators dealing with the complexity of platform-PSP-CRM-affiliate data alignment. Schedule a demo to see how automated event matching and configurable revenue calculation rules can reduce your reconciliation time from days to minutes.
🎯 Unlock the full potential of your gambling business
Get actionable insights into your players’ funnel. In-depth reports let you discover your players’ journeys, from clicking on an affiliate link to registration and deposit.