How I Increased My Popup Campaign ROI by Routing Traffic by Country
I was running popup campaigns on PropellerAds and losing money. Turns out, 65% of my traffic was going to waste. Here's exactly what I changed.
The Campaign That Was "Losing Money"
About a year ago, I was running a sweepstakes campaign on PropellerAds. Popup traffic, targeting Tier 1 GEOs — or so I thought. The offer was a US-only iPhone giveaway, paying $2.40 per lead. Solid payout, decent landing page, nothing weird about the setup.
I set my PropellerAds campaign to target the US and launched. After spending about $150 over three days, my numbers looked like this:
Negative ROI. Not massively negative, but enough that continuing didn't make sense at those numbers. The CPM was reasonable, the offer was converting — just not enough to cover the spend. I almost killed the campaign.
Then I looked at my traffic sources more carefully.
The Problem I Didn't See
Even though I set my PropellerAds targeting to the US, I was still getting a significant amount of international traffic. This is normal with popup campaigns — the targeting isn't surgical. VPNs, shared IPs, broad inventory pools — there are plenty of reasons you end up with clicks from outside your target GEO.
When I dug into the click data, here's what the actual traffic breakdown looked like:
🇺🇸 US — ~35% of traffic (~14,700 clicks)
🇬🇧 UK — ~12% (~5,040 clicks)
🇩🇪 Germany — ~8% (~3,360 clicks)
🇫🇷 France — ~6% (~2,520 clicks)
🇮🇳 India — ~11% (~4,620 clicks)
🇧🇷 Brazil — ~7% (~2,940 clicks)
🌍 Other (20+ countries) — ~21% (~8,820 clicks)
Only 35% of my traffic was actually from the US. The other 65% was clicking my link and landing on a US-only sweepstakes page that they couldn't convert on. Those ~27,300 clicks were completely wasted — I paid for them and got nothing in return.
That's not a campaign problem. That's a routing problem.
What I Changed
Instead of killing the campaign, I set up geo-routing. One link that sends each visitor to a different offer based on their country. I found equivalent sweepstakes offers for my top GEOs and set a global fallback for everything else.
Here's the routing I configured:
🇺🇸 US → iPhone sweepstakes ($2.40/lead)
🇬🇧 UK → UK prize draw ($1.80/lead)
🇩🇪 DE → German sweepstakes ($1.60/lead)
🇫🇷 FR → French sweepstakes ($1.50/lead)
🇮🇳 IN → India mobile offer ($0.35/lead)
🇧🇷 BR → Brazil sweepstakes ($0.40/lead)
🌍 Everyone else → Global SOI offer ($0.15/lead)
The setup took about 15 minutes. I swapped the old direct offer URL in my PropellerAds campaign with the new geo-routed link and let it run for another three days at the same budget.
The Results
Same traffic source. Same ad spend. Same three-day window. The only thing that changed was the link — instead of sending everyone to the US offer, each visitor got routed to an offer that matched their country.
From -$45 to +$218 on the same spend. The campaign didn't change. The traffic didn't change. I just stopped wasting 65% of it.
Breaking Down the Numbers
Here's where the extra revenue came from. The US traffic performed about the same as before — maybe slightly better because the traffic mix shifted a bit between the two runs. But the real impact was the international traffic that previously converted at zero.
🇺🇸 US — 131 conversions × $2.40 = $314.40
🇬🇧 UK — 62 conversions × $1.80 = $111.60
🇩🇪 DE — 38 conversions × $1.60 = $60.80
🇫🇷 FR — 29 conversions × $1.50 = $43.50
🇮🇳 IN — 74 conversions × $0.35 = $25.90
🇧🇷 BR — 31 conversions × $0.40 = $12.40
🌍 Other — 24 conversions × $0.15 = $3.60
Total revenue: $572.20 — Total spend: $150 — Profit: $218.46 (after network fees)
The US was still the biggest revenue driver, which makes sense given the higher payout. But the UK and Germany alone added $172 that was previously $0. Even India at $0.35 per lead generated almost $26 — that's traffic I was completely ignoring before.
What I Learned
The "unprofitable" campaign was actually profitable
I was one click away from killing a campaign that had a positive ROI hiding inside it. The campaign wasn't unprofitable — my routing was. Once every click had a path to conversion, the math worked.
Low-payout GEOs add up fast
I almost didn't bother setting up India and Brazil because the payouts were so low ($0.35 and $0.40). But those GEOs were sending me a lot of volume. 74 Indian conversions at $0.35 each is only $25.90, but that's $25.90 I wasn't getting before. Across all the "small" GEOs, the incremental revenue covered almost half my ad spend by itself.
The fallback matters
The global fallback offer only paid $0.15/lead, and it only generated $3.60 over three days. Not exciting. But it's better than $0, and those are clicks from countries I'd never bother finding specific offers for. The fallback is a safety net — it makes sure no click is completely wasted.
Setup time is nothing compared to the impact
Finding the offers for each GEO took maybe 30 minutes across two CPA networks. Setting up the geo-routing link took another 15 minutes. Under an hour of work turned a -$45 campaign into a +$218 campaign. That's probably the best hourly ROI on my time I've ever had in affiliate marketing.
Would This Work for Every Campaign?
Not every campaign has this much international traffic leakage. If you're running tightly targeted Facebook ads in a single country, you probably won't see a dramatic shift. But if you're running any of these:
- Popup campaigns on PropellerAds, Adsterra, or similar
- Push notification campaigns with global inventory
- Native ads on networks with broad GEO targeting
- Any campaign where you know you're getting international clicks
... then there's a good chance you have the same problem I had. You're paying for traffic that has nowhere to convert. Geo-routing fixes that.
The tool I used for this was Level2Links. I set up the routing, swapped the link, and that was it. The free tier would have been enough for this campaign (1 campaign, up to 3 GEOs). For the full breakdown with all 6 GEOs plus fallback, the $18/month plan covered it. Either way — a lot cheaper than the $199/month I was previously paying for Voluum to do the same thing.
Try It Yourself
If you want to test this with your own campaigns, start small. Pick one campaign that's either losing money or barely breaking even, check your traffic logs for international clicks, and set up geo-routing with offers for your top 3-5 GEOs. Run it for a few days at the same budget and compare.
If you're not sure where to start, our beginner's guide to geo-targeting walks through the concept, and the video walkthroughs show you how to set everything up step by step.
You can also check out our comparison of geo-routing tools if you want to see how different options stack up on price and features.
Same traffic. Same spend. Better results.
Try L2L FreeFree account. No credit card.
← Back to all posts