Replacing GeoTargetly with ReTarget.gg
How to migrate from GeoTargetly (or similar geo-block tools) to ReTarget.gg: with monetization on the blocked experience.
Most geo-blocking tools stop at redirect: "your country isn't supported: goodbye." ReTarget.gg turns the same decision into revenue: when a user is declined, you show country-appropriate affiliate offers and get paid per click.
If you're coming from GeoTargetly, Geoscreen, GeoIP-Redirect, or a hand-rolled Cloudflare Worker, this recipe maps their concepts to ours and gives you a zero-downtime migration path.
Just want to embed a snippet in GeoTargetly?
If you'd rather keep GeoTargetly for gating and only add ReTarget.gg offers inside its message, skip this page and use the one-snippet integration instead: Integrate ReTarget.gg with GeoTargetly.
Conceptual mapping
| GeoTargetly concept | ReTarget.gg equivalent |
|---|---|
| GeoBlock rule | Geo rule on website → Block |
| Redirect action | Trigger Widget flow (with offers) or Iframe embed |
| Whitelist / Blacklist countries | Allow / Block list on Site details |
| "Custom message" page | Standard decline UI from ReTarget.gg (skinnable) |
| Bypass token | Not needed: ReTarget.gg doesn't require a bypass. Your own team testing from outside a configured country will see offers like any other blocked visitor; use data-dev-country on localhost to simulate locally |
Migration: 3 options
Option A: Keep your existing block, add ReTarget.gg on the "blocked" page
This is the lowest-risk migration. Keep your current GeoTargetly redirect in place, but change the destination to an ReTarget.gg-powered page.
Update GeoTargetly redirect destination
Point the "blocked" redirect at
https://yoursite.com/blocked.Create /blocked page
A standard page on your site that renders the section widget (or iframe embed) with your ReTarget.gg keys.
Roll out gradually
Start with a single country, confirm clicks and revenue flow, then enable for all blocked markets.
No ReTarget.gg geo rules needed in this mode: the widget will show offers to everyone who lands on /blocked regardless of their IP. Your GeoTargetly rule is still the gate.
<!-- /blocked page -->
<h1>This service isn't available in your region</h1>
<p>Here are some alternatives you might enjoy:</p>
<div id="retarget-ads"></div>
<script
src="https://cdn.retarget.gg/widget-section.js"
data-pub="YOUR_PUBLIC_KEY"
data-website="YOUR_WEBSITE_KEY"
async
></script>Option B: Replace GeoTargetly entirely with the geo-block widget
Once you're comfortable, remove GeoTargetly and let ReTarget.gg handle both gating and monetization.
Install the geo-block widget site-wide
Drop
widget.jsin your<head>with your keys.Configure geo rules to match
In the dashboard → Websites → your site → Geo rules, recreate the same allow/block list you had in GeoTargetly.
Shadow-test
For a day or two, keep both running. Compare: does ReTarget.gg block the same visitors GeoTargetly did? Our decision is IP-based, same as theirs, so results should be 99%+ identical.
Disable GeoTargetly
Once shadow-test passes, deactivate the old tool. You're now earning on every blocked click.
See Widget geo-blocking for the full overlay experience.
Option C: Use the Trigger Widget for checkout / KYC declines
If your block isn't a pure geo-block but rather a payment, KYC, or account decline, use the Trigger Widget instead. It is the same idea. A declined user sees offers, triggered by your backend rather than by geo rules alone.
Feature comparison
| GeoTargetly | ReTarget.gg | |
|---|---|---|
| IP-based geo-blocking | ✅ | ✅ |
| Per-country rules | ✅ | ✅ |
| Country-specific redirects | ✅ | ✅ (via Trigger Widget + offers) |
| Monetization on blocked visitors | : | ✅ (CPC earnings) |
| Analytics | Basic | Real-time clicks, impressions, geo breakdown |
| Integration time | Minutes | Minutes |
| Pricing | Paid subscription | Free: you earn per click |
| Custom branding | Limited | Full HTML/CSS control (section widget or iframe) |
Gotchas
- Your "blocked" page must be allowed by your own middleware: If your existing redirect rule sends blocked traffic to
/blocked, make sure that page itself isn't also blocked. Common mistake. - CDN caching: If your CDN caches HTML without varying on IP, you'll need to bypass cache on
/blockedand on the widget script's requests. Our/v1/decisioncall is always fresh (no CDN caching) so that side is fine. - Dual-blocking ambiguity: If you run both GeoTargetly AND ReTarget.gg geo rules during shadow-test, the stricter one wins. That's generally safe but remember to reconcile the configs before removing GeoTargetly.
Related
Publisher
Geo Popup & Decline Popup overview
The product framing for the install you just read.
Advertiser
CPC, CPA, eCPM in one auction
The demand side of the network — useful context even for publishers.
Essays
Long-form strategy
How others think about geo-blocking, KYC declines, and bid models.
Need help with setup?
Send us your website stack, target regions, and whether you are installing Geo Popup or Decline Popup.