Quickstart: two-minute install
Go from zero to live sponsored offers on your site in two minutes. One script tag, one geo rule, one test from a VPN.
This guide takes you from signup to live offers in two minutes. We'll skip the "what is this" parts; for context read How ReTarget.gg works after you're live.
Who this is for
Anyone with a website and a <head> (or a theme hook) they can paste one script tag into. That includes Next.js, Cloudflare Pages, any static host, custom stacks, and anything fronted by Google Tag Manager or Cloudflare Zaraz.
Prerequisites
- An ReTarget.gg account (sign up at app.retarget.gg).
- A website you control: including the ability to add a
<script>tag or configure a tag manager. - A VPN or second device you can park in a blocked country to verify the install.
1. Add your website
Open the dashboard and create a website
Sign in to app.retarget.gg, go to Websites → Add website, and fill in your site's name, primary domain (e.g.
example.com), and the vertical (iGaming, finance, e-commerce, etc.).Pick a display mode
Choose Geo-blocking widget (full overlay) for most publishers, or Inline section if you want the offers to render inside an existing element on your page. You can switch modes later without redeploying.
Copy your two keys
After saving, the website detail page shows your public key (
pk_…) and website key (web_…): each website has its own pair. Keep this tab open.
2. Paste the script
Drop this into <head> or right before </body> on every page you want to monetize. Each website has its own keys: paste yours into the placeholders.
<script>
(function () {
if (document.querySelector('script[data-website="YOUR_WEBSITE_KEY"]')) return;
var s = document.createElement('script');
s.src = 'https://cdn.retarget.gg/widget.js';
s.async = true;
s.setAttribute('data-pub', 'YOUR_PUBLIC_KEY');
s.setAttribute('data-website', 'YOUR_WEBSITE_KEY');
s.setAttribute('data-api', 'https://api.retarget.gg');
(document.head || document.documentElement).appendChild(s);
})();
</script>// app/layout.tsx
import Script from "next/script";
export default function RootLayout({ children }: { children: React.ReactNode }) {
return (
<html lang="en">
<body>
{children}
<Script
src="https://cdn.retarget.gg/widget.js"
data-pub="YOUR_PUBLIC_KEY"
data-website="YOUR_WEBSITE_KEY"
strategy="afterInteractive"
/>
</body>
</html>
);
}<!-- Custom HTML tag, trigger: All Pages -->
<script>
(function () {
if (document.querySelector('script[data-website="YOUR_WEBSITE_KEY"]')) return;
var s = document.createElement('script');
s.src = 'https://cdn.retarget.gg/widget.js';
s.async = true;
s.setAttribute('data-pub', 'YOUR_PUBLIC_KEY');
s.setAttribute('data-website', 'YOUR_WEBSITE_KEY');
s.setAttribute('data-api', 'https://api.retarget.gg');
(document.head || document.documentElement).appendChild(s);
})();
</script>Signed in? We pre-filled your keys
If you're reading this while signed into the dashboard, the snippets above already contain your real keys: click copy and paste.
3. Configure your geo rule
Back in the dashboard → website detail → Geo rules, pick a mode:
- Allowlist: you list the countries where your product is available. Everywhere else sees offers.
- Blocklist: you list the countries where your product isn't available. Those see offers.
Start tight
If you're on allowlist mode, list only your licensed / supported countries to start. It's easier to widen later than to debug why offers aren't showing.
4. Verify from a blocked country
Turn on a VPN in a country that should see offers
Anywhere not on your allowlist (or on your blocklist) works: common picks for testing are Germany, Sweden, Australia, Canada.
Hard-reload the page
The script runs, fetches a decision from
api.retarget.gg, and renders a full-screen overlay of offers.Click an offer
Confirm it opens the advertiser's landing page. Back in the dashboard, the website's Analytics tab shows the impression and click after your events flush.
Nothing's showing: now what?
Debugging checklist
The most common install failures and how to fix each in under a minute.
Widget integration reference
Every data-* attribute, endpoint, and error message the script can produce.
Where to go next
How ReTarget.gg works
The system diagram: publishers, widgets, decisions, offers, billing: without implementation noise.
Core concepts
Keys, decisions, impressions, clicks, CPCs, budgets. A 4-minute read that pays off every later guide.
Geo rules
Allowlist vs blocklist, region-level targeting, and custom decline messaging.
Next.js recipe
App Router install with env-scoped keys and CSP-friendly script loading.
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.