Filters: cloaking and block-lists
Cloaking scares kittens more than anything, because there's exactly one thing everyone gets backwards — and they get it backwards with real dedication. Let's settle it once and for all, and this time it'll stick.
A filter is a cloaking config. It looks at everyone who arrives on the link and decides: is this a bot (a moderator, an anti-fraud, a scraper) or a real buyer? Bots it sends to the white page — a harmless cat-blog with nothing to report. Real humans go to the black page, where the money is. That's it. That's all of cloaking. One fork in the road.
What a filter is (and where log_result comes in)
Internally each filter carries one technical result code — log_result. You see it in the stats, and it explains every decision the cloaker makes:
log_result = 0— passed. The visitor was judged human and went to the black (target, money) page. Zero is good. Zero is the register.log_result ≠ 0— filtered. Some signal fired (geo, device, OS, browser, language, or an IP/header from a block-list) and the visitor went to the white (safe) page. A non-zero code tells you which rule fired.
st0 column is the people who went to the money; everything else is filtered to white. If the opposite feels logical to you, that's not logic, that's a habit from your old tracker. Drop it.The Filters screen — three tabs
The screen is split into three tabs plus a Мои / Команда (Mine / Team) scope switch (personal objects vs. team objects):
- Фильтры (Filters) — the filter list and editor. The cloaking itself is configured here.
- Блок-листы (Block-lists) — managing IP and header lists: create, rename, populate.
- Статистика фильтров (Filter stats) — visits, by-site and by-day summaries, result codes.
Tab by tab below.
The Filters tab: list and editor
The filter list shows one row per filter: name/domain, status, type, size, updated-at, an actions menu. Each row carries cumulative stats (clicks, black/white, CR, EPC, approve).
List search matches name, domain or id — type kot and you get kotiki.me and kotiki.new; type 135 and it finds the filter with that id in its domain.
Clicking a row opens the filter editor (a drawer). Its single most important trait:
What the editor configures:
- Modes and methods (
mode,trash,proto) — exactly how the cloaker decides, and what to do with filtered traffic. - Geos — the lists of countries you let through (
geo) and cut (nogeo), via country pickers. Human country names, with the country code beside each. - OS / browser / language — multiselects. Each option is labelled in human words and carries an identifier: OS and browser use a numeric id (Android 5, Chrome 1), language a two-letter code (English
en). Typeengand the list narrows to "English en". - Block-lists (IP and header) — attach existing lists to the filter through a picker: each list shows as "name · type" with an id chip. (This used to be a raw comma-separated id box — now it's a searchable picker.)
- URL lists — white/black URL and their modes (
mwhite/mblack), plus the line lists (uwl/ubl/wl). - Postbacks — read-only URLs you copy and hand to your affiliate network.
- Export — download a standalone PHP cloaker (
index.php) for external hosting.
Beyond editing, the list lets you rename the filter domain (edit the domain field in the drawer — it saves in place) and clone a filter: a copy is created with all settings (OS, block-lists, geo, and so on) carried over, only the domain changed.
ww/zz resets the list. The values ww and zz in the geo picker aren't countries — they're a "reset the whole list" command. Add ww to geo and you wipe the allowed-countries list entirely. Not a bug, it's parity with the campaign editor; just know these two codes are a switch, not an entry.The Block-lists tab: IP and header lists
A block-list is a managed list of entries that you later attach to a filter. There are exactly four types, and the type decides what an entry's body looks like:
| Type | What's inside | Entry fields |
|---|---|---|
| 1 — IP addresses (IPv4) | single addresses | Value + Comment |
| 2 — IP networks (network/CIDR) | subnets | Value + CIDR (number 8–31) + Comment |
| 3 — IPv6 addresses | IPv6 addresses | Value + CIDR (number 32–128) + Comment |
| 4 — Headers | HTTP-header rules | Value + header type + RegExp checkbox + Comment |
The list shows: name, a type badge, size (entry count), "active" and "default" toggles (a default list is auto-attached to new filters), updated-at, a row menu. Open a list and you land in its entries: a paginated grid (value · comment · expiry), search, a comment filter, an add-entry row, bulk import, clear-all, per-row edit/delete.
For the Headers type the header-type select carries all 47 options (first is User-Agent, then Referer and the rest), and the RegExp checkbox makes the value a regular expression — that's how you catch, say, Googlebot in the User-Agent.
Google finds Googlebot), while on IP lists it's an exact address match, not a fragment. Looking for a specific IP? Type the whole thing. There's also a separate comment filter.The Filter stats tab
Three sub-tabs:
- Визиты (Visits) — a log of every visit: time, site, result (short and long code), geo, IP, UA, OS, browser. Log filters: site, IP, geo, list, result (all 13 short codes plus
-2"Passed"/black and-1"Filtered"/white). A row expands to show detail (UA, IP, the header rules that fired) without a second request. There's a clear-log button (behind a confirm). - По сайтам (By site) — a summary per filter-site: how much went to black (
st0), how much to white in total (stw), a breakdown by result code, percentages. - По дням (By day) — the same summary grouped by day (in your time zone).
Date presets: today / yesterday / 7 days / 30 days. Plus manual from/to and CSV export.
st0 is traffic sent to black (the money), stw the traffic filtered to white.st0) is traffic sent to the black (money) page; the sum of the non-zero results (stw) is the white page. Want "how many real humans reached the register"? Read st0. Want "how many bots the cloaker turned away"? Read stw.DB_FLTR_FAST) is pruned over time. Empty stats with a live click counter is a data state, not a breakage.Workflow 1 — Create a filter and attach it to a campaign
- Open the Filters screen, the Фильтры tab.
- Hit "+ New filter", give it a name/domain and a type — the filter is created and opens in the editor.
- Configure the cloaking: geo, OS, browser, language, and attach block-lists if needed (see Workflow 2). Don't save anything by hand — the editor saves every field itself.
- Go to the target Campaign editor, the Фильтр (Filter) tab.
- Pick your filter from the list — the campaign starts cloaking its traffic through it.
Workflow 2 — Build a block-list and populate it
- On the Filters screen open the Блок-листы tab, hit "create list".
- Give it a name and pick a type: IP addresses (1), IP networks (2), IPv6 addresses (3) or Headers (4).
- Open the list — you land in its entries.
- Add an entry from the input row; the body depends on the type:
- IPv4: value (address) + comment.
- Network: address + CIDR (8–31) + comment.
- IPv6: address + CIDR (32–128) + comment.
- Header: value + header type + RegExp checkbox (if it's a pattern) + comment.
- For bulk population use import (line-by-line / CSV).
- Back in the filter editor, in the block-lists section attach the list with the picker.
Workflow 3 — Read a filter's statistics
- Open the Статистика фильтров tab.
- Start with Визиты: pick a site and, if needed, a result —
-2shows everyone sent to black (the money),-1everyone turned away to white. - Expand a row to see the visit detail (UA, IP, which header rules fired).
- For the big picture switch to По сайтам or По дням, and pick a date preset.
- Read the polarity right:
st0= reached the register,stw= filtered out.
What it's called in the real AlterCPA Lite
- Фильтр / Filter — the same word on both sides: in the words you know and in the real AlterCPA Lite interface it's a filter. Cloaking is cloaking.
- Block-lists — named the same in both interfaces too.
- The campaign you attach a filter to, though, is called a поток / flow in the real AlterCPA Lite — the correct word; settle in and switch.
- The "black = money, white = safe" polarity is the shared idea behind any cloaking; your old tracker had the exact same one — Lighter just names it in words and labels the columns.