diff --git a/docs/ADS.md b/docs/ADS.md index 403d310..cfc9d80 100644 --- a/docs/ADS.md +++ b/docs/ADS.md @@ -169,10 +169,29 @@ tb.load_frame_baner_v2("//surstrom.com/api/spots/72437?p=1","#tb0",{...},{...}); ### Cooldown management -- ASG локальне сховище: `localStorage.asgsl` — pipe-separated `=:` записи. Ключ `global_rr` = "remaining ratio" (timestamp до якого spot у cooldown). +- ASG локальне сховище: `localStorage.asgsl` — pipe-separated `=:` записи. Ключі що використовуються нашим bundle: + - `global_rr:` — `_readCooldowns` parse-ить це як cooldown end time + - `n:` — impression handler копіює це у `_popRr` / `_vastRr` cookies+LS - Дублюючі cookies: `_popRr`, `_vastRr`. Реплікуються з asgsl при impression event. - Декрипт пам'яті: дві ключові події з ASG — `asgPopunderImpression`, `asgInVideoImpression` — тригерять запис cooldown. +### ⚠️ ASG spot config gotcha — frequency-capping mandatory + +**Bug 2026-05-02 (8148, after account recreation):** popunder spot 514208 у новому ASG account-і був налаштований з `shows_limit:1` без frequency-capping rotation. Симптоми: + +- popunder СПрацьовує (видно `asgPopunderImpression`) +- Але `asgsl` локально вигляд: `=keep_looping:false,tabunder:false,uuid:...,noloop:true,shows_limit:1` +- **Нема `n:`** → impression handler виходить без write `_popRr` +- **Нема `global_rr:`** → `_readCooldowns` повертає `popActive=false` +- → mode завжди "pop" → popunder fires кожен pageload → VAST SDK ніколи не loadиться + +**Fix у ASG admin** (на стороні юзера, не у нас): +- Відкрити spot config → знайти "Global rotation" / "Frequency capping" / "Cooldown" / "Time-based capping" / "Show frequency" +- Встановити, наприклад, "once per 2 hours per user" — це додасть `n:` / `global_rr:` поля в asgsl +- **Те саме для VAST spot** — інакше після популярного pop firing, VAST mode triggered але cooldown поломаний + +**Як перевірити:** після popunder fire відкрий DevTools → `localStorage.getItem('asgsl')` → шукай `global_rr:` або `n:`. Якщо нема → не налаштовано. + ### Mode decision (`AdCore._decide`) ```