Free Online Tools

Rev-Share vs CPA Calculator: Which iGaming Deal Pays More?

Direct answer: CPA usually pays better when you need predictable cash flow, have uncertain player quality, or buy traffic with fixed media costs. Rev-share usually pays better when you send loyal, high-value players and can trust the operator’s reporting, retention, and adjustment rules.

For iGaming affiliates and operators, the smart decision is not “CPA vs rev-share” in the abstract. It is whether the expected player value, first-time depositor rate, NGR, chargebacks, negative carryover, and reporting quality make one payout model meaningfully safer than the other. Use the calculator below to model the deal before you sign it.

// Utilities const clamp = (v,min,max)=>Math.max(min,Math.min(max,v)); const num = (el,def=0)=>{ const v = parseFloat(el.value.replace(/,/g,'')); return isNaN(v) ? def : v; }; const pct = (el,def=0)=>clamp((num(el,def))/100,0,1); const fmtMoney = (n, curr='EUR') => new Intl.NumberFormat(undefined,{style:'currency',currency:curr,maximumFractionDigits:0}).format(n); const fmtPct = (n)=> (n*100).toFixed(1)+'%';

// Shell const wrap = document.createElement('div'); wrap.className = 'revcalc'; wrap.innerHTML = `

Rev-Share vs CPA Profit Calculator BETA

Estimate which payout model yields higher net profit for your traffic. Uses expected FTD rate, CPA, Rev-Share%, and player value (NGR).
Player Value Input
Tip: NGR should be net of bonuses and taxes. Decay models retention; 1.00 = flat, 0.90 = each month earns 90% of the prior.
Commission Structures
Estimated FTDs
Immediacy
CPA pays on qualification; Rev-Share accrues over time.
Revenue comparison
CPA: —
Rev-Share: —
Model Revenue Traffic Cost Net Profit Revenue / Click ROI
CPA Winner
Rev-Share Winner
Break-even CPA (vs your Rev-Share)
Break-even Rev-Share % (vs your CPA)
Disclaimer: directional estimates for planning only; actuals vary by program rules (NCO, minimums, clawbacks, sub-aff splits, etc.).

`; root.appendChild(wrap);

// Grab inputs const q = (sel)=> wrap.querySelector(sel); const currencyEl = q('#rc-currency'); const clicksEl = q('#rc-clicks'); const ftdRateEl = q('#rc-ftd-rate'); const cpcEl = q('#rc-cpc');

const ltvModeEl = q('#rc-ltv-mode'); const lifetimeWrap = q('#rc-lifetime-wrap'); const monthlyWrap = q('#rc-monthly-wrap'); const ltvEl = q('#rc-ltv'); const mngrEl = q('#rc-mngr'); const monthsEl = q('#rc-months'); const decayEl = q('#rc-decay');

const cpaEl = q('#rc-cpa'); const cpaVoidEl = q('#rc-cpa-void'); const rsEl = q('#rc-rs'); const rsVoidEl = q('#rc-rs-void');

// Outputs const ftdsOut = q('#rc-ftds'); const cpaRevOut = q('#rc-cpa-rev'); const cpaCostOut = q('#rc-cpa-cost'); const cpaProfitOut = q('#rc-cpa-profit'); const cpaRpcOut = q('#rc-cpa-rpc'); const cpaRoiOut = q('#rc-cpa-roi');

const rsRevOut = q('#rc-rs-rev'); const rsCostOut = q('#rc-rs-cost'); const rsProfitOut = q('#rc-rs-profit'); const rsRpcOut = q('#rc-rs-rpc'); const rsRoiOut = q('#rc-rs-roi');

const beCPAOut = q('#rc-be-cpa'); const beRSOut = q('#rc-be-rs');

const barCPA = q('#rc-bar-cpa'); const barRS = q('#rc-bar-rs'); const barCPALabel = q('#rc-bar-cpa-label'); const barRSLabel = q('#rc-bar-rs-label');

const winCPA = q('#rc-winner-cpa'); const winRS = q('#rc-winner-rs');

const copyBtn = q('#rc-copy'); const resetBtn = q('#rc-reset');

function effectiveLTV(){ if(ltvModeEl.value === 'lifetime'){ return Math.max(0, num(ltvEl, 0)); } else { const monthly = Math.max(0, num(mngrEl, 0)); const months = Math.max(1, Math.round(num(monthsEl, 1))); const d = clamp(num(decayEl, 1), 0.5, 1); const sumFactor = (d === 1) ? months : (1 - Math.pow(d, months)) / (1 - d); return monthly * sumFactor; } }

function recalc(){ const curr = currencyEl.value; const clicks = Math.max(0, Math.round(num(clicksEl, 0))); const ftdRate = pct(ftdRateEl, 0); // clicks -> FTD const ftds = clicks * ftdRate;

const cpc = Math.max(0, num(cpcEl, 0)); const trafficCost = clicks * cpc;

// Commission params const cpa = Math.max(0, num(cpaEl, 0)); const cpaVoid = pct(cpaVoidEl, 0); const rsPct = pct(rsEl, 0); const rsVoid = pct(rsVoidEl, 0);

// Player value const ltv = effectiveLTV();

// Per-FTD earnings const cpaPerFTD = cpa * (1 - cpaVoid); const rsPerFTD = ltv * rsPct * (1 - rsVoid);

// Totals const revCPA = ftds * cpaPerFTD; const revRS = ftds * rsPerFTD;

// Costs (same traffic cost for both) const costCPA = trafficCost; const costRS = trafficCost;

const profitCPA = revCPA - costCPA; const profitRS = revRS - costRS;

const rpcCPA = clicks > 0 ? (revCPA / clicks) : 0; const rpcRS = clicks > 0 ? (revRS / clicks) : 0;

const roiCPA = costCPA > 0 ? (profitCPA / costCPA) : null; const roiRS = costRS > 0 ? (profitRS / costRS) : null;

// Break-even thresholds const beCPA = rsPerFTD; // CPA per FTD that equals your rev-share value per FTD const beRS = ltv > 0 ? (cpaPerFTD / ltv) : 0; // rev-share % (as decimal) to match your CPA

// Bars const maxRev = Math.max(revCPA, revRS, 1); const wCPA = (revCPA / maxRev) * 100; const wRS = (revRS / maxRev) * 100;

// Winner tag winCPA.style.display = revCPA >= revRS ? 'inline-block' : 'none'; winRS.style.display = revRS > revCPA ? 'inline-block' : 'none';

// Write outputs ftdsOut.textContent = Math.round(ftds).toLocaleString();

cpaRevOut.textContent = fmtMoney(revCPA, curr); cpaCostOut.textContent = fmtMoney(costCPA, curr); cpaProfitOut.textContent = fmtMoney(profitCPA, curr); cpaRpcOut.textContent = fmtMoney(rpcCPA, curr); cpaRoiOut.textContent = (roiCPA === null) ? '—' : (roiCPA*100).toFixed(0)+'%';

rsRevOut.textContent = fmtMoney(revRS, curr); rsCostOut.textContent = fmtMoney(costRS, curr); rsProfitOut.textContent = fmtMoney(profitRS, curr); rsRpcOut.textContent = fmtMoney(rpcRS, curr); rsRoiOut.textContent = (roiRS === null) ? '—' : (roiRS*100).toFixed(0)+'%';

beCPAOut.textContent = fmtMoney(beCPA, curr) + ' per FTD'; beRSOut.textContent = (beRS*100).toFixed(1) + '%';

barCPA.style.width = wCPA.toFixed(1)+'%'; barRS.style.width = wRS.toFixed(1)+'%'; barCPALabel.textContent = 'CPA: ' + fmtMoney(revCPA, curr); barRSLabel.textContent = 'Rev-Share: ' + fmtMoney(revRS, curr); }

// Toggle player value mode UI function toggleMode(){ const mode = ltvModeEl.value; lifetimeWrap.style.display = (mode === 'lifetime') ? '' : 'none'; monthlyWrap.style.display = (mode === 'monthly') ? '' : 'none'; recalc(); }

// Events wrap.addEventListener('input', (e)=>{ if(e.target === ltvModeEl) toggleMode(); else recalc(); }); wrap.addEventListener('change', (e)=>{ if(e.target === ltvModeEl) toggleMode(); else recalc(); });

copyBtn.addEventListener('click', ()=>{ const curr = currencyEl.value; const summary = ` Rev-Share vs CPA — Summary Currency: ${curr} Clicks: ${Math.round(num(clicksEl))} FTD rate: ${ftdRateEl.value}% CPC: ${num(cpcEl).toFixed(2)}

Player value mode: ${ltvModeEl.value} Lifetime NGR: ${ltvModeEl.value==='lifetime' ? num(ltvEl) : '-'} Monthly NGR: ${ltvModeEl.value==='monthly' ? num(mngrEl) : '-'} Months: ${ltvModeEl.value==='monthly' ? Math.round(num(monthsEl)) : '-'} Decay: ${ltvModeEl.value==='monthly' ? num(decayEl) : '-'}

CPA: ${num(cpaEl)} CPA void %: ${num(cpaVoidEl)}% Rev-Share %: ${num(rsEl)}% Rev-Share void %: ${num(rsVoidEl)}%

${q('#rc-bar-cpa-label').textContent} ${q('#rc-bar-rs-label').textContent} CPA Net Profit: ${q('#rc-cpa-profit').textContent} Rev-Share Net Profit: ${q('#rc-rs-profit').textContent} Break-even CPA: ${q('#rc-be-cpa').textContent} Break-even Rev-Share: ${q('#rc-be-rs').textContent} (Estimates only; actuals depend on program rules.) `.trim(); navigator.clipboard.writeText(summary).then(()=>{ copyBtn.textContent = 'Copied ✔'; setTimeout(()=>copyBtn.textContent='Copy summary',1200); }); });

resetBtn.addEventListener('click', ()=>{ currencyEl.value='EUR'; clicksEl.value='10000'; ftdRateEl.value='1.5'; cpcEl.value='0'; ltvModeEl.value='lifetime'; ltvEl.value='800'; mngrEl.value='150'; monthsEl.value='8'; decayEl.value='0.90'; cpaEl.value='200'; cpaVoidEl.value='5'; rsEl.value='30'; rsVoidEl.value='8'; toggleMode(); });

// Init toggleMode(); })();

Rev%E2%80%91Share vs CPA Profit Free Online Calculator last updated on June 9, 2026

Rev-Share vs CPA: The Practical Difference

CPA, or cost per acquisition, pays the affiliate a fixed amount when a player completes the qualifying action, usually a first-time deposit. Rev-share pays the affiliate a percentage of the player’s net gaming revenue over time.

The tradeoff is simple: CPA gives certainty earlier, while rev-share gives upside later. CPA protects the affiliate from weak retention and poor operator economics. Rev-share rewards the affiliate when players stay active, deposit again, and generate clean NGR after bonuses, taxes, payment fees, fraud, and chargebacks.

Model Best when Main risk What to check
CPA You need predictable cash flow or buy paid traffic You cap upside if players become high-value Qualification rules, voids, minimum deposits, payment timing
Rev-share You send loyal players with strong lifetime value You wait longer and depend on transparent reporting NGR definition, negative carryover, deductions, retention
Hybrid You want upfront cash plus long-term upside Lower CPA and lower rev-share can hide weak economics Break-even point, clawbacks, reporting, payment terms

How To Use The Calculator

Start with realistic assumptions, not best-case numbers. Enter your expected clicks, first-time depositor rate, media cost, CPA payout, rev-share percentage, void rate, and player value. Then compare the net result after costs and adjustments.

The calculator is most useful when you run several scenarios:

  • Conservative: low FTD rate, lower player value, normal voids.
  • Expected: your current average traffic quality and operator performance.
  • Upside: better player retention and higher NGR.
  • Stress test: higher media costs, lower conversion, or stricter qualification rules.

If CPA wins only in the conservative case, rev-share may be attractive for strong organic or email traffic. If CPA wins even in the expected case, the fixed payout may be safer. If rev-share wins only under heroic assumptions, the deal probably needs renegotiation.

When CPA Is The Better Deal

CPA is often the better model when the affiliate has real acquisition costs and cannot wait months for player value to mature. Paid search, paid social, influencer traffic, and media-buying campaigns often need faster payback.

CPA also makes sense when:

  • The operator is new and retention data is limited.
  • The affiliate does not fully trust NGR reporting.
  • Negative carryover rules are unclear or unfavorable.
  • The audience is broad and player quality is unpredictable.
  • The affiliate needs cash flow to keep buying traffic.

The danger is that CPA can underpay affiliates who consistently deliver profitable players. If your traffic produces loyal depositors, a flat CPA may leave a lot of value with the operator.

When Rev-Share Is The Better Deal

Rev-share is usually better when traffic quality is high and player value compounds over time. Organic comparison pages, email lists, trusted communities, and niche iGaming audiences can perform well under rev-share because players may keep depositing long after the first conversion.

Rev-share becomes more attractive when:

  • The operator has strong retention.
  • NGR reporting is transparent.
  • Negative carryover is absent or limited.
  • The affiliate can wait for delayed earnings.
  • The audience has strong product-market fit with the casino or sportsbook.

The danger is opacity. If the affiliate cannot see reliable player, NGR, bonus, void, and adjustment data, rev-share becomes hard to audit.

Where Affiliate Software Fits

For operators managing CPA, rev-share, and hybrid deals, affiliate software is not just a reporting convenience. It is the system that keeps payout logic, partner performance, postbacks, campaign data, and adjustments visible enough for both sides to trust the deal.

Scaleo is the first platform to evaluate when an iGaming operator needs affiliate tracking, partner management, reporting, fraud controls, and room to scale beyond spreadsheets. It fits this topic because CPA and rev-share decisions depend on clean tracking, transparent partner dashboards, and reliable reporting. Alternatives may still fit smaller programs or different workflows, but the selection should start with the tracking and payout complexity of the program.

Before choosing a platform, check whether it can support:

  • CPA, rev-share, and hybrid commission rules.
  • Postback or server-side conversion tracking.
  • Partner-level reporting for FTDs, NGR, and adjustments.
  • Fraud review and traffic-quality controls.
  • Clear payout exports or payout workflows.
  • Migration from older affiliate systems.

Negotiation Checklist Before You Sign

Do not negotiate only the headline CPA amount or rev-share percentage. The hidden rules often matter more than the visible rate.

Question Why it matters
What counts as a qualified FTD? Minimum deposit, geography, payment method, and fraud rules can change payout volume.
How is NGR calculated? Bonus costs, taxes, payment fees, refunds, and chargebacks can reduce rev-share.
Is there negative carryover? One bad month can reduce future earnings if negative balances carry forward.
When are commissions approved and paid? Payment delay affects cash flow and paid traffic planning.
Can the affiliate audit reporting? Transparent dashboards reduce disputes and make optimization possible.
What happens to hybrid deals after the first payment? Some hybrids look attractive upfront but reduce long-term upside.

Worked Example

Imagine an affiliate sends 10,000 clicks. If 1.5% become first-time depositors, that is 150 FTDs. A $200 CPA would produce $30,000 before voids and traffic costs. A 30% rev-share deal needs enough player NGR to beat that fixed payout.

If the average player produces $800 in lifetime NGR, 150 FTDs generate $120,000 in NGR. A 30% rev-share would be $36,000 before adjustments. In that case, rev-share may win. But if actual lifetime NGR is only $450, the same 30% rev-share produces $20,250, and CPA is probably safer.

That is why the calculator matters. Small changes in FTD rate, NGR, voids, or media cost can flip the answer.

Final Take

Choose CPA when certainty, payback speed, and cash flow matter most. Choose rev-share when you have strong player quality, reporting transparency, and patience. Choose hybrid only when the math still works after reducing both the upfront payment and long-term share.

For operators, the bigger lesson is that payout models are only as good as the tracking behind them. Clean postbacks, transparent reporting, fair adjustments, and partner-level analytics are what turn CPA and rev-share from arguments into measurable business decisions.

FAQ

Is CPA or rev-share better for casino affiliates?

CPA is usually better when player value is uncertain or the affiliate needs predictable cash flow. Rev-share is usually better when the affiliate sends loyal, high-value players and the operator has transparent reporting.

What numbers should I check before choosing CPA or rev-share?

Check FTD rate, player lifetime NGR, CPA amount, rev-share percentage, voids, chargebacks, negative carryover, media cost, and reporting reliability.

Can affiliate software help compare rev-share and CPA deals?

Yes. Affiliate software can help operators and affiliates compare payout models by tracking clicks, FTDs, NGR, adjustments, partner performance, and commission rules in one place.

When does a hybrid CPA plus rev-share deal make sense?

A hybrid deal can make sense when the affiliate wants upfront cash flow and long-term upside. It only works when the CPA amount, rev-share percentage, qualification rules, and reporting definitions are clear.

Caesar Fikson

I am an iGaming Data Analyst specializing in examining and interpreting data related to online gaming platforms and gambling activities as well as market trends. I analyze player behavior, game performance, and revenue trends to optimize gaming experiences and business strategies.

Share
Published by
Caesar Fikson

Recent Posts

Online Casino Platform Provider: How to Compare Without a Demo Trap

Every online casino platform provider demo looks excellent. Here is how operators cut through the…

11 hours ago

AI in iGaming: ChatGPT Use Cases for Casinos

AI in iGaming is no longer a vague “future technology” topic. It is already useful…

1 day ago

Building a Webhook Delivery System That Measures Its Own Latency (With Code)

I needed to build a system that fires outbound HTTP callbacks (webhooks/postbacks) to hundreds of…

3 days ago

Best iGaming Affiliate Tracking Software in 2026

The best iGaming affiliate tracking software in 2026 is not the platform with the prettiest…

4 days ago

Free Casino Scripts and Open-Source Game Engines: What’s Worth Deploying

The honest guide to free casino scripts and open-source casino game engines in 2026 —…

5 days ago

Best iGaming Affiliate Software: 2026 Vendor Comparison With Real Criteria

The 2026 iGaming affiliate software comparison operators actually need — evaluated on postback reliability, NGR…

1 week ago