How AdsJS works
From "I want ads on my site" to live revenue in four steps — without rebuilding your site or writing ad code.
Configure your placements
Tell us where ads should appear — in articles, on listings, or anywhere matching a simple URL rule. Pick a Google Ad Manager unit or paste your own HTML. No code, just choices.
We compile your tag
The Control Panel turns your configuration into a single, optimized delivery tag. Every time you change a placement, we recompile automatically — your live ads stay in sync with one click.
Google Tag Manager delivers it
We provision a dedicated Google Tag Manager container for your site and push the complete AdSystem into it — a Consent tag and the AdSystem code tag with your placements and parameters baked in, not just a loader. We publish the container automatically. You get one GTM snippet to install, just like analytics. We never touch your other tags.
Ads go live
Your visitors load the GTM snippet, GTM fires your tag, and ads fill the placements you configured. Tune anything from the Control Panel afterwards — no more code changes, ever.
Installing the snippet
Once you publish a placement, the Control Panel mints a permanent install URL of the form:
<script src="https://cp.ad-ssp.com/tags/<your-tag-hash>.js" async></script>
Paste it once into the <head> of your site (or into your existing Google Tag Manager as a Custom HTML tag, fired on All Pages). Edits in the Control Panel go live the next time visitors load the script — no re-install needed.
Where to paste it
- Blogger: Theme → Edit HTML → before
</head>. - WordPress: use a header-snippet plugin (e.g. WPCode, Insert Headers and Footers), or theme
header.phpbefore</head>. - Static / hand-rolled HTML: paste directly into the
<head>. - Already using GTM: add our URL as a new Custom HTML tag on the All Pages trigger.
The script is async, ~10 KB, and cached at the edge for 5 minutes. It will never block your page render.
Consent Management (CMP)
If any of your traffic comes from the European Economic Area, the UK, or another GDPR-applicable jurisdiction, you must run a Consent Management Platform — it's a hard legal requirement, not a Control Panel constraint.
Which one to pick
- None — only for traffic that is verifiably not subject to GDPR/UK consent law (no European visitors at all).
- Google Consent Mode v2 (recommended) — built into Google's stack, free, integrates with the existing Google Ad Manager + Analytics flow. Defaults to
ad_storage='denied'and unlocks on visitor consent. - Didomi — IAB TCF v2 CMP, paid tiers, very strong EU footprint. Our runtime listens for the standard
__tcfapievents. - InMobi / Quantcast Choice — IAB TCF v2 CMP, paid tiers, widely deployed. Same
__tcfapihook as Didomi.
The Control Panel doesn't replace your CMP — you keep showing your existing consent UI. We just wait for the standardized signal (Consent Mode for Google, __tcfapi for IAB TCF) before requesting ads.
When no CMP signal is present, the runtime fails open — ads load. That's safe for non-GDPR traffic and is why the "None" picker option exists.
Verifying domain ownership
From your site editor, the Verify domain ownership panel shows a short HTML meta tag. Add it to your home page's <head> and click Verify now — we'll fetch your home page, find the tag, and mark your site verified.
Verification is required for the higher billing tiers (per-ticket implementation, Google partner + AdsJS rev-share). It's a one-time cost: once verified you keep it forever even if you remove the tag, unless you explicitly rotate the token.
Ready in minutes
Add a site, configure placements, install one snippet. That's it.
Start free