Arb Files
21 subscribers
2 photos
1 link
Real traffic-arbitrage case studies with actual spend, revenue and ROI — the campaigns that printed, the ones that flopped, and exactly why.
Download Telegram
Channel photo updated
"What ROI counts as good?"

Wrong question. A 200% ROI campaign you can't scale past $40/day is worth less than a 25% ROI campaign eating $2k/day.

The setup — two live campaigns last quarter, same vertical.
The move — Campaign A: nutra, 180% ROI, but it died every time I pushed past $60/day. Campaign B: a mainstream lead-gen offer, thin 22% ROI, but it absorbed budget like a sponge.
The numbers — A: $1,800 spend, $5,040 revenue, $3,240 profit over the whole run before it choked. B: $14,000 spend, $17,080 revenue, $3,080 profit in three weeks and still climbing.
The lesson — ROI is a ceiling indicator, not a profit number. High ROI on a tiny ceiling is a hobby. The pros chase profit per day at scale, not the prettiest percentage.

What I'd do differently: I'd have killed my obsession with A sooner. I spent two weeks trying to "fix" its scaling wall when B was sitting there quietly outearning it. Good ROI is whatever survives the budget increase you actually need.
The campaign that died on day 9, not day 1

Everyone fears the cold start. The real killer is the slow bleed.

The setup
— Push traffic to a nutra offer, $42 payout, $1,800/day spend at peak.
— First 8 days: ROI sat around 35-40%. Clean, boring, profitable.

The move
We got lazy. Three creatives carried the whole thing and we kept feeding budget without rotating. No new angles in the pipeline.

The numbers (illustrative)
— Day 9 CTR fell from 1.9% to 1.1%.
— CPC climbed 60% as the algorithm hunted for fresh eyeballs.
— ROI flipped negative by day 11. We torched roughly $900 before pausing.

The lesson
Creative fatigue isn't a cliff, it's a tax that compounds. By the time the ROI line crosses zero, the audience saw your best ad a week ago. You're already late.

What I'd do differently
Build a 3-creative buffer before launch, not after the numbers wobble. Treat frequency cap as a leading indicator, not a setting. When frequency on a segment passes ~4, assume the next dollar is worth half the first.


Если backlink audits — твоя тема, посмотри @ProfileAutopsy
Why I now wait 17 days before judging a subscription offer

A campaign looked dead. I almost killed it. The rebills saved it.

The setup
— Trial-to-subscription offer, $3.50 upfront, real money in the 2nd and 3rd rebill.
— Day-1 spend $600, day-1 revenue $310. On paper: a loser.

The move
Instead of pausing, I mapped the payout schedule against the network's confirmed rebill curve and held budget flat for the full billing cycle.

The numbers (illustrative)
— First 5 days: cumulative ROI sat at -38%.
— Rebill 1 (day 7) pulled it to -9%.
— Rebill 2 (day 14): +22%. By day 17 the cohort cleared +41%.

The lesson
On rebill offers, day-1 ROI is a lie. You're buying a cash-flow gap, not a loss. The question isn't "am I profitable today," it's "can I float the trough?"

What I'd do differently
Decide my break-even window before spending a dollar, write it down, and refuse to look at daily ROI until that date. Emotional pausing on day 3 has cost me more winners than any bad creative ever did.
A 1.4-second page load ate 30% of my margin

Same offer, same traffic, same creatives. The only variable was the landing page. The gap was brutal.

The setup
— Sweepstakes offer on mobile pop, $4.20 payout, ~$1,200/day.
— My lander: a heavy hero image, a font CDN, and one tracking pixel too many. Load time 3.6s on 4G.

The move
I cloned the lander, inlined critical CSS, dropped the web font, compressed images to WebP, and cut load to 1.4s. Split 50/50.

The numbers (illustrative)
— Heavy lander: conversion rate 2.1%, ROI 14%.
— Fast lander: conversion rate 3.0%, ROI 44%.
— Roughly 30% of clicks on the slow page bounced before the form even rendered.

The lesson
On pop and push, you pay for the click whether the page loads or not. Every second of load is a slice of paid traffic you set on fire before it can convert.

What I'd do differently
Measure mobile load on a throttled connection, not my office wifi. The lander felt instant to me and cost me a third of my profit on real users.
If you're into what we post, @CreativeRadar is the natural next follow — they work the Ad creatives / spy tools beat hard. A curated radar of winning ad creatives, fresh angles and the best spy-tool finds —…
The smartlink beat my hand-picked offer. I was annoyed for a week.

I spent days researching the "perfect" offer match. A dumb rotator out-earned it.

The setup
— Mainstream pop traffic, mixed GEOs, ~$800/day.
— Arm A: my carefully chosen single offer (a VPN install, $2.10 payout).
— Arm B: the network's smartlink, auto-optimizing across 40+ offers.

The move
Ran both on identical traffic splits for 6 days, same budget, same caps.

The numbers (illustrative)
— My offer: ROI 19%, steady but flat across GEOs.
— Smartlink: ROI 41%, because it matched each GEO and device to whatever paid best that hour.

The lesson
When your traffic is messy and multi-GEO, a smartlink's real-time matching beats human guesswork. I was matching one offer to an average user who doesn't exist. The rotator matched the actual user in front of it.

What I'd do differently
Use smartlinks to discover which offers and GEOs my traffic actually loves, then break the winners out into direct campaigns. The smartlink isn't the endgame, it's the cheapest market research you'll ever buy.
5x the budget, 0.6x the ROI: the scaling trap nobody warns you about

The winning campaign was begging to be scaled. So I scaled it. So I broke it.

The setup
— Push campaign, $30 payout finance offer, $400/day at 62% ROI for two weeks.
— Plan: take it to $2,000/day and print.

The move
I 5x'd the daily budget in a single edit on a Tuesday morning. Reset the learning, naturally.

The numbers (illustrative)
— ROI collapsed from 62% to 11% within 48 hours.
— The platform widened targeting to spend the budget, dragging in junk placements.
— I burned ~$1,400 of the increase before pulling back to $600/day.

The lesson
Scaling isn't a volume knob, it's a re-launch. A 5x budget jump tells the algorithm to find 5x the people, and the next 5x are always worse than your first cohort. Profit per user falls as volume rises. Always.

What I'd do differently
Scale 20-30% every 2-3 days, or scale horizontally by duplicating into new audiences instead of inflating one ad set. Slow scaling feels like leaving money on the table. Fast scaling is leaving money on the table, plus a fee.
My tracker and the network disagreed by 22%. Both were right.

I thought I had a fraud problem. I had an attribution-window problem.

The setup
— CPI app-install offer, $1.40 payout, ~$1,000/day.
— My tracker reported 740 conversions. The network paid for 578.

The move
Before screaming "shaving," I lined up the timestamps and compared attribution windows.

The numbers (illustrative)
— My tracker used a 30-day click window. The network: 7-day click, 1-day view.
— The 162-conversion gap was almost entirely installs that fired on days 8-21.
— Real shaving, after the math: maybe 3%, within noise.

The lesson
Most "the network is stealing from me" cases are window mismatches, not theft. If you optimize toward your tracker's number while getting paid on theirs, you'll scale campaigns that look profitable and aren't.

What I'd do differently
Align my tracker's attribution window to the advertiser's terms on day one, and reconcile against payable conversions weekly, not gut feel. The number you optimize toward has to be the number you get paid on, or you're flying blind in a fog of your own making.
I built a whitelist on 200 conversions and it lied to me

Whitelisting felt like the smart, disciplined move. It was just survivorship bias with a spreadsheet.

The setup
— Pop traffic, e-commerce CPL, $5.50 payout, source had ~9,000 publisher zones.
— After ~200 conversions I cut to the top 40 zones and went whitelist-only.

The move
Concentrated full budget into the "proven winners" to stop wasting spend on the long tail.

The numbers (illustrative)
— Week 1 on whitelist: ROI 38%, looked validated.
— Week 3: ROI -12%. Those 40 zones were small, fatigued fast, and several were lucky noise to begin with.

The lesson
200 conversions across thousands of zones means most "winners" have 2-4 conversions each, statistically indistinguishable from random. I locked in noise and starved myself of the next winners hiding in the tail.

What I'd do differently
Blacklist losers aggressively, whitelist slowly. Cut zones with spend = 3x payout and zero conversions, but keep exploring the tail until winners have enough volume (~10+ conversions) to actually trust. A whitelist is a tomb, build it last.
I blamed the offer for 3 weeks. It was the angle the whole time.

Same offer, same GEO, same source. I swapped one variable and ROI tripled. I'd been testing the wrong thing.

The setup
— Weight-loss nutra, $38 payout, native traffic, ~$900/day.
— I cycled through 4 different offers from 2 networks chasing a better payout. All bled.

The move
Out of stubbornness I kept the worst-paying offer and rewrote the angle: from "miracle product" to "why doctors near you stopped prescribing X."

The numbers (illustrative)
— Old angle, best offer: ROI -16% averaged across all four.
— New angle, worst offer: ROI +47% in four days.

The lesson
The offer is rarely the lever. The angle, the pre-sell story that makes a stranger want this thing, is 80% of the result. I wasted three weeks A/B testing payouts when the bottleneck was the first sentence of my advertorial.

What I'd do differently
Fix the angle on one offer before ever offer-hopping. New offers reset everything and teach you nothing. A new angle on a known offer is a clean experiment.
A cloaker typo cost me a $4,300 ad account and a week of revenue

Not a moralizing post. A receipts post about an unforced error.

The setup
— Aggressive whitehat-adjacent gray offer, ~$1,500/day profit, running clean for 11 days.
— Cloaker serving a safe page to the review bot, money page to real users.

The move
I updated the money page and, in a hurry, mistyped the GEO filter. The moderator's IP range slipped through and saw the real page.

The numbers (illustrative)
— Account banned within 6 hours, ~$4,300 of seasoned spend history gone.
— 4 days rebuilding trust on a fresh account at half the daily cap.
— Lost revenue across the gap: roughly $5,000.

The lesson
The risky part of these setups is rarely the offer. It's the operational fragility, one config field standing between profit and a dead account. The more your edge depends on a tool working perfectly, the more a one-character mistake costs.

What I'd do differently
Never edit a live cloaker config without a test pass from a clean IP first. And keep two aged accounts warm at all times, because the question is never if one dies, only when.
40% of my spend ran between 1am and 6am and converted at half the rate

The daily ROI looked fine. The hourly breakdown was hiding a leak.

The setup
— Lead-gen offer, $9 payout, search-feed traffic, ~$1,100/day, ROI 24%.
— I'd never once looked at the hour-of-day report.

The move
Pulled 30 days of data, bucketed conversions by hour. The overnight window was a graveyard.

The numbers (illustrative)
— 1am-6am: ~40% of spend, conversion rate 1.0%, ROI -20%.
— 9am-9pm: conversion rate 2.3%, ROI +51%.
— The good daytime hours were quietly subsidizing a money-losing night shift.

The lesson
A blended ROI number can hide two completely different campaigns inside one. Averages comfort you while a segment bleeds. The leak was invisible at the daily level and obvious at the hourly one.

What I'd do differently
Add dayparting from launch on any offer where intent is time-sensitive (loans, calls, B2B). I cut the overnight window and the same campaign jumped from 24% to 44% ROI without a single new creative. Pure waste removal.
My most profitable campaign started as a $2,100 loss I refused to delete

The loser funded the winner. The trick was treating dead spend as paid data, not a write-off.

The setup
— Broad push test across 6 GEOs, 5 angles, mobile + desktop, one big ugly campaign.
— Two weeks, $2,100 spent, $0 profit. A clean failure.

The move
Instead of deleting it, I treated the corpse as a dataset. Sliced every dimension, looking for the one cell that was secretly positive.

The numbers (illustrative)
— 1 of 60 segments (Germany + angle 3 + Android) ran at +70% ROI, drowned out by the rest.
— Rebuilt a tight campaign around just that cell: scaled to ~$700/day at 55% ROI.

The lesson
A failed broad test isn't a loss, it's a map. The $2,100 bought me coordinates I could never have guessed. People who win at scale aren't luckier, they're better at mining their own failures.

What I'd do differently
Budget the exploration phase as a line item, not an accident. "I will spend $2k to find one winning segment" is a strategy. "I lost $2k" is the same money with worse morale.