Ads
Ad System Overview
Overview of the ad monetization system and how ads integrate with themes.
Ad System Overview
The platform monetizes through a sophisticated multi-format ad system powered by @unib0ts/ad-manager (GAM/ADX) with an AdSense branch.
Ad types
| Type | Component | Where used |
|---|---|---|
| Display | DisplayAd.js | Category, article |
| Interstitial | InterstitialAd.js | Category |
| Skyscraper | SkyscrapperAd.js | Category, article (desktop sides) |
| Sticky | StickyAd.js | Category, article (top/bottom) |
| Rewarded | RewardedAdManager.js | Themes, KV2 popup, articles |
| Collapsible | CollapsibleAd.js | Category, article (anchor) |
System architecture
Provider switch
Tenants can use either GAM (AdX) or AdSense:
adConfig.adProvider:"adx"(default) or"adsense"- See AdSense Integration for AdSense-specific behavior
Key concepts
| Concept | Description |
|---|---|
| KV waterfall | Tiered pricing via GAM key-values, cycling on no-fill |
| KV2 fallback | Second-chance rewarded popup when KV1 doesn't fill |
| Theme timing | When each ad type starts based on theme state |
| Time-specific KVs | Hour-based KV overrides (Dubai timezone) |
Sections
- Ad Types — component details
- KV Waterfall — pricing hierarchy
- Theme Ad Timing — when ads start per theme
- Rewarded Flow — rewarded ad lifecycle
- AdSense — AdSense provider branch