User logs in with this password immediately. Share it securely.
Confirm Remove
Duplicate Site
Fix the following
All slots and demand sources will be copied. You can rename the site before saving.
Import Slots from Another Site
Cannot import
All slots (except Quiz slots — copy those manually since they involve page-level architecture) and their demand sources will be copied from the selected site into this site. After import, you can edit Div IDs and demand sources as needed.
Add Website
Fix the following before continuing
No https:// prefix. e.g. magicgameplay.com
Add Ad Slot
Fix the following before continuing
Banner Div
Standard banner div
Popup
Overlay popup ad
YT-Overlay
Ad overlay on YouTube embeds
In-Image
Ad on article images
In-Page Carousel Div
Multi-source broadcast carousel
Quiz Widget
AI quiz with ads & leaderboard
Slider / Bottom Sticky
Corner slide-in card or full-width sticky strip
Rewarded
Branded consent + rewarded ad
Outstream
Floating video player card
Instream
Inline + floating video player
Flying Carpet
Interscroller / parallax in-article ad
Web Interstitial
Google full-page ad on navigation
Add one or more Div IDs. Each must match an id on your HTML element. Press Enter to add each one.
Div Sizes
Sizes served on desktop and tablet. Comma-separated e.g. 300x250, 728x90
Sizes served on mobile (≤768px). Comma-separated e.g. 300x250, 320x50
Internal ID used to track frequency caps. No HTML element needed.
Triggers (select all that apply — fires on whichever hits first)
seconds
% of page
When on, the popup fires only once ever per device (uses localStorage).
Frequency Caps (select all that apply)
Once per Session
Once per Visit
Once per Day
Once per Week
Once per Month
Once Ever
Minimum Gap Between Shows (minutes)
e.g. 60 = at least 1 hour between shows. Works alongside the caps above.
Dismissal
Dismiss Type *
Delay (seconds)
Used by Auto Close and Delayed X modes.
Display
Display Style *
Vignette covers the full viewport — no width/height needed.
Close Button Label
Mobile close pill text. Falls back to site default if blank.
Title Bar Label (Desktop)
Desktop card title bar text. Falls back to site default if blank.
Width (px) *
Height (px) *
Position
Backdrop
Dark overlay behind popup.
Collapse on Video End
Auto-close popup when a VAST or Video Player ad finishes.
Desktop Design Pool
Select designs to include. If none selected, all designs rotate randomly.
Mobile Design Pool
Select designs to include. If none selected, all designs rotate randomly.
Slot ID *
Internal ID for this YT-Overlay slot. No HTML element needed on the page.
YouTube Targeting
Embed Target *
Which YouTube iframes to attach the overlay to.
If Video Starts Playing
What happens if the user starts playing while overlay is showing.
Dismissal
Auto-Close Delay (seconds)
Non-VAST ads close after this many seconds. VAST closes on video completion. Close button always present.
Slot ID *
Internal ID for this slot. No HTML element needed on the page.
Sub-Type
In-Image Type *
Each type should be a separate slot with its own waterfall sources and ad sizes.
Apply To
Which images this slot targets on the page.
Ad Sizes
Desktop / Tablet Sizes
Sizes served on desktop and tablet. Comma-separated e.g. 300x250, 336x280
Mobile Sizes
Sizes served on mobile (≤768px). Comma-separated e.g. 300x250, 320x50
Bottom Strip
Enable Bottom Strip
Shows a strip ad at the bottom of the content area as an alternative placement.
Sticky to Viewport
Flip Settings
Flipback Delay (seconds)
Seconds the ad is visible before flipping back.
Image Targeting
Target Images
CSS Selector
e.g. .article-hero img, #featured-image
Content Containers
Comma-separated selectors. Leave blank for defaults.
Min Image Width (px)
Min Image Height (px)
Lazy Loading
Lazy Load
Load ad only when image enters viewport.
Viewport Offset (px)
Start loading N px before image enters view.
Video Ad Playback
Video Mode
Flip-Back / Collapse
Auto Flip-Back Delay (seconds)
For non-video ads (GAM, Direct, BannerJS, AdSense, In-house) — flip back / collapse overlay after this many seconds. Video ads collapse on completion.
Dismissal
Suppress After Close (session)
Don't show again this session after user closes.
First Visit Only
Only fire on visitor's first ever visit.
Frequency Caps (select all that apply)
Session Day Week Month Ever
Min Time Between Shows (minutes)
Slot ID *
Internal ID for this slot. Used to locate the carousel mount point on the page.
Div Sizes
Desktop / Tablet Sizes
Sizes served on desktop and tablet. Comma-separated e.g. 300x250, 336x280
Mobile Sizes
Sizes served on mobile (≤768px). Comma-separated e.g. 300x250, 320x50
Navigation & Advance
Navigation Controls
Which navigation elements are rendered on the carousel.
Auto-Advance Delay (seconds)
Seconds between automatic slide advances.
Viewability Trigger
Auto-advance also fires when carousel enters viewport, whichever comes first.
Mount Point
Target Type
CSS Selector
querySelector string — carousel renders inside the first matching element.
Div ID *
Must match the div ID on your article page.
Placement
Wrong Answer Ad Type
Leaderboard Scope
Login Methods
Google One Tap
Three child slots are auto-created: Bottom Banner (300×100), Wrong Answer (300×250), and Ad Gate (300×250). Add demand sources after saving.
Container Height (px)
Height of the quiz container on the article page. Default 400px.
Slider ID *
Unique ID for this slider slot.
Position
Transition
Background Color
Used only for Bottom Sticky position; ignored for corner positions.
Close Button Label
Text shown on the close button.
Desktop Width (px)
Desktop Height (px)
Mobile Width (px)
Mobile Height (px)
Triggers (select all that apply — fires on whichever hits first)
Time on Page
seconds
Scroll Depth
% of page
Exit Intent
Back Button
Any Link Click
First Visit Only
When on, the slider fires only once ever per device.
Frequency Caps (select all that apply)
Once per Session Once per Visit Once per Day Once per Week Once per Month Once Ever
Minimum Gap Between Shows (minutes)
e.g. 60 = at least 1 hour between shows.
Dismissal
Dismiss Type
Delay (seconds)
Used by Auto Close and Delayed X modes.
Collapse on Video Complete
Close slider when a VAST/video ad finishes playing.
Slot ID *
Pattern *
Auto-triggered overlay asking users to support the publisher by watching an ad.
Button Trigger
Match Type
By Button Label
By CSS Selector
Button Label Text
Case-insensitive text match. Engine listens for clicks on any button containing this text.
Reward Event Name
Custom event dispatched on window when ad completes successfully. Your page code listens for this to deliver the reward.
Branding & Copy
Logo URL
Small publisher logo shown on the card (separate from Hero Image).
Headline
Subheadline / Body
Button Text
Thanks Message
Shown briefly on reward completion for overlay patterns.
Background Color
Text Color
Button Color
Close Button Label
Hero Image
Source
Use Preset Icon
Upload Custom Image
Preset Icon
Curated SVG icon shipped with the engine. Options change based on the selected pattern.
Custom Image URL (PNG recommended)
Rendered as the hero image at the top of the overlay.
Exclude URLs
Exclude on these pages
Rewarded ad will not fire on pages whose URL contains any of these patterns.
Triggers (select all that apply — fires on whichever hits first)
Time on Page
seconds
Scroll Depth
% of page
Exit Intent Back Button Any Link Click
First Visit Only
Frequency Caps (select all that apply)
Once per Session Once per Visit Once per Day Once per Week Once per Month Once Ever
Minimum Gap Between Shows (minutes)
Div ID *
Div ID *
Sub-Type
Position
Placement
Delivery
Mount Div Selector
Else After Paragraph #
Player stays hidden until an ad fills. One-by-one = first ad that fills plays. Parallel = all that fill play back-to-back (1 of N…).
Desktop Width (px)
Desktop Height (px)
Mobile Width (px)
Mobile Height (px)
Max Ad Duration (seconds)
Banner sources show for this long. Video ads play full length (Bumper: cut at this length).
Powered By Text
Powered By Logo URL
Card Margin (px)
Gap from screen edge.
Sticky Ad Offset (px)
Height of bottom sticky ad to avoid covering it.
Triggers (select all that apply)
Time on Page
seconds
Scroll Depth
%
Exit Intent
Back Button
Link Click
Frequency Caps
First Visit Only
Once per session Once per visit Once per day Once per week Once per month Once ever
Time gap (min)
Refire
Enable refire
When enabled, the player re-fires the demand waterfall after each ad completes. User dismissal permanently stops refire for that session.
Refire interval (seconds)
Seconds after an ad completes before the next attempt. Also used as the retry interval when no ad fills.
Dismiss
Dismiss Type
Delay (seconds)
Div ID *
Content Video
Content Type
Video URL (MP4 / WebM)
Direct URL to MP4 or WebM video file.
Inline Placement
Insert After Paragraph
Insert player after Nth paragraph if no div selector set.
Div Selector (optional)
Overrides paragraph insertion if set.
Float Position & Size (when Ad plays)
Float Position
Max Ad Duration (sec)
Desktop Width (px)
Desktop Height (px)
Mobile Width (px)
Mobile Height (px)
Card Margin (px)
Sticky Ad Offset (px)
Preroll Delivery
Midroll Delivery
Endroll Delivery
One-by-one = first ad that fills plays. Parallel = all that fill play back-to-back (1 of N…).
Re-fire Delay (sec)
Seconds to wait before re-firing waterfall after all sources exhausted.
Powered By Text
Powered By Logo URL
Exclude URLs
Instream player will not run on pages whose URL contains any of these patterns.
Triggers
Time on Page
seconds
Scroll Depth
%
Exit Intent Back Button Link Click
Frequency Caps
Once per session Once per visit Once per day Once per week Once per month Once ever
Time gap (min)
Dismiss
Dismiss Type
Delay (seconds)
Slot ID *
Placement
Placement Type
After paragraph number
Insert the unit after the Nth paragraph in the article body.
Container & Creative
Container Height (vh)
Viewport-height percent of the scroll-reveal area. 100 = one full screen.
Desktop Width
Desktop Height
Mobile Width
Mobile Height
Appearance
Background Color
Strip background around the centered creative.
Advertisement Label
Small label shown above the creative for IAB transparency. Leave blank to hide.
Slot ID *
Internal name only — Google creates the full-page slot itself (no div needed on the page).
Waterfall Order
One GAM ad unit is tried at a time; if it's empty the next one is tried.
Link clicks to other pages on this site always trigger it. Optional extra triggers:
Browser back/forward (desktop) Return to tab End of article Inactivity (30s+)
How often it can show is set in Google Ad Manager (default 1 per 10 minutes).
Edit Ad Slot
Fix the following before continuing
Div ID(s) / Slot Name
Add one or more Div IDs. Press Enter to add each one.
Div Sizes
Desktop / Tablet Sizes *
Sizes served on desktop and tablet. Comma-separated e.g. 300x250, 728x90
Mobile Sizes
Sizes served on mobile (≤768px). Comma-separated e.g. 300x250, 320x50
Refresh Interval Override (sec)
Overrides the site-level refresh interval for this slot only. Leave blank to inherit.
Triggers (select all that apply — fires on whichever hits first)
Time on Page
seconds
Scroll Depth
% of page
Exit Intent
Back Button
Any Link Click
First Visit Only
Popup fires only once ever per device.
Frequency Caps (select all that apply)
Once per Session Once per Visit Once per Day Once per Week Once per Month Once Ever
Minimum Gap Between Shows (minutes)
Dismissal
Dismiss Type *
Delay (seconds)
Used by Auto Close and Delayed X modes.
Display
Display Style *
Close Button Label
Mobile close pill text. Overrides site default if set.
Title Bar Label (Desktop)
Desktop card title bar text. Overrides site default if set.
Width (px) *
Height (px) *
Position
Backdrop
Dark overlay behind popup.
Desktop Design Pool
Select designs to include. If none selected, all designs rotate randomly.
Mobile Design Pool
Select designs to include. If none selected, all designs rotate randomly.
YouTube Targeting
Embed Target
If Video Starts Playing
Dismissal
Auto-Close Delay (seconds)
Non-VAST ads close after this many seconds. VAST closes on video completion.
Sub-Type
In-Image Type *
Apply To
Ad Sizes
Desktop / Tablet Sizes
Sizes served on desktop and tablet. Comma-separated e.g. 300x250, 336x280
Mobile Sizes
Sizes served on mobile (≤768px). Comma-separated e.g. 300x250, 320x50
Bottom Strip
Enable Bottom Strip
Shows a strip ad at the bottom of the content area as an alternative placement.
Sticky to Viewport
Flip Settings
Flipback Delay (seconds)
Seconds the ad is visible before flipping back.
Image Targeting
Target Images
CSS Selector
Content Containers
Comma-separated selectors. Leave blank for defaults.
Min Image Width (px)
Min Image Height (px)
Lazy Loading
Lazy Load
Viewport Offset (px)
Video Ad Playback
Video Mode
Flip-Back / Collapse
Auto Flip-Back Delay (seconds)
Non-video ads flip back / collapse after this many seconds.
Dismissal
Suppress After Close (session)
First Visit Only
Frequency Caps
Session Day Week Month Ever
Min Time Between Shows (minutes)
Div Sizes
Desktop / Tablet Sizes
Sizes served on desktop and tablet. Comma-separated e.g. 300x250, 336x280
Mobile Sizes
Sizes served on mobile (≤768px). Comma-separated e.g. 300x250, 320x50
Navigation & Advance
Navigation Controls
Which navigation elements are rendered on the carousel.
Auto-Advance Delay (seconds)
Seconds between automatic slide advances.
Viewability Trigger
Auto-advance also fires when carousel enters viewport, whichever comes first.
Mount Point
Target Type
CSS Selector
querySelector string — carousel renders inside the first matching element.
Placement
Wrong Answer Ad Type
Leaderboard Scope
Ad Gate Delay — Ad Filled (ms)
Wait time after ad fills + becomes visible. Default 3000ms.
Ad Gate Delay — No Ad (ms)
Wait time when no ad fills. Default 1000ms.
Login Methods
Google One Tap
Container Height (px)
Height of the quiz container on the article page. Default 400px.
Position
Transition
Background Color
Used only for Bottom Sticky position; ignored for corner positions.
Close Button Label
Desktop Width (px)
Desktop Height (px)
Mobile Width (px)
Mobile Height (px)
Triggers (select all that apply — fires on whichever hits first)
Time on Page
seconds
Scroll Depth
% of page
Exit Intent
Back Button
Any Link Click
First Visit Only
When on, the slider fires only once ever per device.
Frequency Caps (select all that apply)
Once per Session Once per Visit Once per Day Once per Week Once per Month Once Ever
Minimum Gap Between Shows (minutes)
e.g. 60 = at least 1 hour between shows.
Dismissal
Dismiss Type
Delay (seconds)
Used by Auto Close and Delayed X modes.
Collapse on Video Complete
Close slider when a VAST/video ad finishes playing.
Pattern *
Button Trigger
Match Type
By Button Label
By CSS Selector
Button Label Text
Reward Event Name
Custom event dispatched on window when ad completes successfully.
Branding & Copy
Logo URL
Small publisher logo shown on the card (separate from Hero Image).
Headline
Subheadline / Body
Button Text
Thanks Message
Background Color
Text Color
Button Color
Close Button Label
Hero Image
Source
Use Preset Icon
Upload Custom Image
Preset Icon
Curated SVG icon shipped with the engine.
Custom Image URL (PNG recommended)
Exclude URLs
Exclude on these pages
Rewarded ad will not fire on pages whose URL contains any of these patterns.
Triggers (select all that apply)
Time on Page
seconds
Scroll Depth
% of page
Exit Intent Back Button Any Link Click
First Visit Only
Frequency Caps (select all that apply)
Once per Session Once per Visit Once per Day Once per Week Once per Month Once Ever
Minimum Gap Between Shows (minutes)
Sub-Type
Position
Placement
Delivery
Mount Div Selector
Else After Paragraph #
Desktop Width (px)
Desktop Height (px)
Mobile Width (px)
Mobile Height (px)
Max Ad Duration (seconds)
Banner sources show for this long. Video ads play full length (Bumper: cut at this length).
Powered By Text
Powered By Logo URL
Card Margin (px)
Sticky Ad Offset (px)
Dismiss Type
Delay (seconds)
Triggers (select all that apply — fires on whichever hits first)
Time on Page
seconds
Scroll Depth
% of page
Exit Intent Back Button Any Link Click
First Visit Only
Freq Caps
Once per session Once per visit Once per day Once per week Once per month Once ever
Time gap (min)
Refire
Enable refire
When enabled, the player re-fires the demand waterfall after each ad completes. User dismissal permanently stops refire for that session.
Refire interval (seconds)
Seconds after an ad completes before the next attempt. Also used as the retry interval when no ad fills.
Content Type
Video URL
Insert After Paragraph
Div Selector (optional)
Float Position
Max Ad Duration (sec)
Desktop Width (px)
Desktop Height (px)
Mobile Width (px)
Mobile Height (px)
Card Margin (px)
Sticky Ad Offset (px)
Preroll Delivery
Midroll Delivery
Endroll Delivery
Re-fire Delay (sec)
Powered By Text
Powered By Logo URL
Exclude URLs
Dismiss Type
Delay (seconds)
Freq Caps
Once per session Once per visit Once per day Once per week Once per month Once ever
Time gap (min)
Placement
Placement Type
After paragraph number
Container & Creative
Container Height (vh)
Desktop Width
Desktop Height
Mobile Width
Mobile Height
Appearance
Background Color
Advertisement Label
Waterfall Order
One GAM ad unit is tried at a time; if it's empty the next one is tried.
Link clicks to other pages on this site always trigger it. Optional extra triggers:
Browser back/forward (desktop) Return to tab End of article Inactivity (30s+)
How often it can show is set in Google Ad Manager (default 1 per 10 minutes).
Duplicate Slot
Fix the following
New Slot ID *
A unique ID for the cloned slot. All demand sources will be copied across.
Copy Demand Sources
Error
Select a source slot to copy all its waterfall sources into this popup. Existing sources are preserved — copies are appended after them.
Copy from Slot *
Add Waterfall Source
Fix the following before continuing
Source Type *
GAM
Google Ad Manager
BannerJS
Third-party JS tag
Direct Ad
Image or HTML creative
House Ad
Final fallback
VAST / VPAID
Google IMA SDK
Video Player
Instream / Outstream
AdSense
Google AdSense
GAM Rewarded
Rewarded interstitial
Direct Video
MP4 / WebM file URL
Source Type
Type cannot be changed. Remove and re-add to change type.
GAM Ad Unit Path *
Must start with / and include your network ID.
Sizes for this GAM slot (optional)
Leave blank to inherit the slot-level adSizes.
Desktop Sizes
Sizes sent to GAM on desktop (viewport > 768px).
Mobile Sizes
Sizes sent to GAM on mobile (viewport ≤ 768px).
Banner JS Tag *
e.g. a <script> tag from your ad partner.
🎁 GAM Rewarded Interstitial — user watches full ad to earn reward. No size needed. Consent given via Watch Ad button click.
Ad Unit Path *
Full GAM ad unit path. Must start with /network_id/.
🎥 Direct Video — MP4 or WebM file served directly in the outstream player. No ad server needed.
Video File URL *
Direct URL to MP4 or WebM video file.
Click URL
Price Floor
Floor Price (USD)
Sources with the same price floor are broadcast simultaneously. Highest floor tried first.
Creative Type *
Image URL *
HTML Code *
Click URL *
Width (px)
Height (px)
Desktop Width (px)
Desktop Height (px)
Mobile Width (px)
Mobile Height (px)
⚡ Our lightweight VAST player — parses VAST/Wrapper chains natively. Falls to next source on timeout or error. IMA SDK used automatically for VPAID.
VAST Tag URL *
Full VAST tag URL from your ad server. Must start with https://
Desktop Width (px)
Desktop Height (px)
Mobile Width (px)
Mobile Height (px)
Skip Offset (sec)
Seconds before skip button. -1 = unskippable.
Max Duration (sec)
Ad aborted if it exceeds this duration.
Autostart Sound
Replay After Complete
Replays the ad when it completes and slot is in viewport.
Player Engine
Use Our Player for standard VAST/Wrapper. Use IMA SDK only if the tag requires VPAID.
Ad Placement
Placement Type
Mid-roll Offset (seconds)
Seconds into content when ad fires.
⚡ Fails on timeout or script load error, then falls to next source.
Partner Script Tag *
e.g. a <script src="..."></script> tag from your video ad partner.
Width (px)
Height (px)
Player Type *
Instream plays inside a video; outstream is standalone.
Autoplay
Muted
◆ AdSense fills the slot using your publisher account. Fails if AdSense collapses the unit or times out.
Ad Client ID *
Found in your AdSense account under Account → Account information.
Ad Slot ID *
Numeric ID from AdSense → Ads → By ad unit.
Ad Format
Sets data-ad-format. Use Auto for responsive units.
Full Width Responsive
Sets data-full-width-responsive.
Width (px)
Required when format is not Auto.
Height (px)
Desktop Width (px)
Desktop Height (px)
Mobile Width (px)
Mobile Height (px)
Creative Type *
Image URL *
HTML Code *
Click URL *
Width (px)
Height (px)
Desktop Width (px)
Desktop Height (px)
Mobile Width (px)
Mobile Height (px)
Download Publisher JS
Config Mode *
Embedded
Config baked into JS
CDN / Self
Fetches your config.json
Supabase Live
Direct DB connection
✓ Zero latency — no network call at page load
✓ Works offline — no external dependencies
✗ Re-download & re-upload JS when config changes
✓ Update config anytime — just re-upload config.json
✓ Anon key never exposed on publisher pages
✗ 1 extra network request per page load
✓ Fully live — dashboard change = instant on all pages
✗ Supabase anon key visible in page source
✗ Ads fail if Supabase is unreachable
Config JSON URL *
Where you'll upload the config.json downloaded from this dashboard.
Supabase URL
Anon Key
Site Domain (auto-filled)
⚠ The anon key will be visible in the downloaded JS file and in page source.
Ensure your Supabase RLS policies only allow SELECT on waterfall tables.
Engine Options
GAM / GPT loading
googletag.cmd.push — standard async GPT (most common)Already initialized — GPT loaded elsewhere, just defineSlot + displayNot using GAM — skip GAM sources entirely
BannerJS — count as failed when
Timeout OR error — most defensive (recommended)Timeout only — no content rendered within BannerJS timeout windowError only — JS tag throws an exception
When ALL sources in a slot fail
Collapse div — set display:none (no empty space)Leave empty — div stays visible but blankShow placeholder — render a grey fallback box
Add to your publisher page
<script src="waterfall.js"></script>
Reports
Range:
→
—
Impressions
—
Unfilled
—
Fill Rate
—
Clicks
—
Avg Fill Time
Page Path
Ad Slot
Type
Ad Unit
Status
Fill Time
Clicks
CTR
Select a date range to load data.
⚙ Priority Optimisation —
Scoring Breakdown — based on ad_events history
Source
Priority
Adj Fill
CTR
Speed
Attempts
Confidence
Score
Weights: Adjusted Fill Rate 50% · CTR 20% · Fill Speed 10% · Position Bias Correction 15% · Reliability 5% · Final = raw × confidence