Telegram Ads Spy
Sign in
Telegram Ads Spy
Account menu
Read this article in English →

Технічне заглиблення в tgadsspy: класифікатор і pipeline інгестії даних

Технічна документація pipeline даних tgadsspy — збір даних, архітектура класифікатора ніш (regex + ваги), 3-крокова geo-класифікація, контент-адресоване зберігання SHA256 та кеш агрегації. Для розробників, дослідників і команд відповідності.

by Telegram Ads Spy research
3 min read
TelegramX
Contents
  1. Мета та аудиторія
  2. 1. Джерело даних
  3. 2. Пул каналів і рівні
  4. 3. Дедуплікація креативів
  5. 4. Класифікація ніш
  6. 5. Географічна класифікація
  7. 6. Дзеркалювання медіа
  8. 7. Видобування рекламодавців
  9. 8. Кеш агрегації
  10. 9. BFS-павук discover-similar
  11. 10. Повнота даних та відомі прогалини
  12. 11. Ліцензія даних та цитування

Мета та аудиторія#

Цей документ є технічним заглибленням у те, як Telegram Ads Spy збирає, класифікує та подає дані рекламних оголошень Telegram. Він доповнює огляд на /about деталями рівня реалізації. Основна аудиторія: розробники, що будують на базі публічного API, дослідники, яким потрібно розуміти провенанс даних для цитування, та команди відповідності, що оцінюють OSINT-методологію системи.


1. Джерело даних#

Всі рекламні дані в Telegram Ads Spy походять з єдиного джерела: нашого автоматичного конвеєра збору. Наш шар збору працює поверх API Telegram і повертає структуровані дані у форматі JSON. Telegram Ads Spy покладається лише на цей конвеєр — жодного скрейпінгу.

Що ми збираємо#

  • Спонсоровані повідомлення у відстежуваних каналах — текст, кнопка CTA з посиланням, медіа та рекламований канал чи бот; посилання на медіа тимчасові й діють 1 годину.
  • Метадані каналів — назва, username, опис, кількість підписників, аватар.
  • Пошук каналів — для виявлення нових каналів і для випадків, коли користувач надсилає посилання t.me.
  • Рекомендації схожих каналів від Telegram — для розширення пулу відстежуваних каналів.

2. Пул каналів і рівні#

Рівень Кількість учасників Інтервал інгестії
S (Супер) 1M+ 30 хвилин
A 100k–1M 2 години
B 10k–100k 8 годин
C 1k–10k 72 години
Placeholder Невідомо Не інгестується

3. Дедуплікація креативів#

відбиток креативу = sha256(title + text + ctaUrl + ctaLabel + accentColor)

Креатив вважається новим лише якщо його відбиток раніше не зустрічався. Це означає:

  • Та сама реклама в 100 каналах створює один запис AdCreative (не 100)
  • Кожна поява в каналі створює один запис SponsoredImpression

4. Класифікація ніш#

Крок 1: Виявлення брендів Пошук у словнику ~400 відомих брендів рекламодавців. Приклади:

  • binance → crypto
  • 1xbet → gambling
  • exness → forex

Крок 2: Скоринг за ключовими словами Regex-патерни оцінюються для кожної ніші з правилами специфічності, заперечення та мовними варіантами.

Таксономія ніш#

crypto, trading, forex, fintech, gambling, betting, vpn, dating, news, education, gaming, retail, tech, bots, adult, signals, remittance, ai, other


5. Географічна класифікація#

Крок 1: Аналіз TLD URL CTA .ru → RU, .com.br → BR, .pk → PK тощо.

Крок 2: Виявлення мови в тексті креативу Арабський → AR, кирилиця → RU/CIS, деванагарі → HI, хангул → KR, хірагана/катакана → JP, тайська → TH.

Крок 3: Агрегація geo на рівні каналу Канал, в якому з'явився креатив, має власний geo-сигнал. Креатив із доменом .com на англійській мові, що з'являється переважно в каналах на російській мові, класифікується як RU.


6. Дзеркалювання медіа#

Cron Telegram Ads Spy-media-mirror (кожні 5 хвилин):

  1. Fetch: HTTP GET за тимчасовим посиланням на медіа
  2. Hash: SHA-256 сирого бінарного вмісту
  3. Зберігання: Записує у /var/www/tgadsspy-media/<префікс>/<sha256-hex>.<ext>
  4. Оновлення: AdCreative.mediaUrl оновлюється на /m/<префікс>/<sha256-hex>.<ext>

Nginx обслуговує шляхи /m/ з Cache-Control: public, immutable, max-age=31536000.


7. Видобування рекламодавців#

  • Рекламодавець-домен: якщо ctaUrl — зовнішній URL, зареєстрований домен стає записом Advertiser з type: domain
  • Рекламодавець Telegram: якщо ctaUrl — URL t.me/<username>, ім'я користувача стає записом Advertiser з type: telegram

8. Кеш агрегації#

Telegram Ads Spy:home:agg (TTL 120с): загальна кількість креативів, рекламодавців, каналів, топ-ніші, 20 останніх креативів, статистика дня.

Telegram Ads Spy:pool:stats (TTL 600с): кількість каналів за рівнями, кількість придатних для спонсорства, представлені країни.


9. BFS-павук discover-similar#

  • Вибір якоря: Channel.lastSimilarCheckAt IS NULL OR < NOW()-1h
  • Розмір пакета: 30 каналів за тік (щохвилини в процесі)
  • Cooldown якоря: 1 година, щоб запобігти повторному спайдерингу того самого каналу

10. Повнота даних та відомі прогалини#

Оцінка покриття: Для спонсорованих повідомлень кабінету EUR покриття оцінюється в 65–75% усіх унікальних креативів за цей період.

Відомі прогалини: реклама в групах, повідомлення бот-до-користувача, результати inline-ботів, дуже нові канали, канали з < 1k підписників.


11. Ліцензія даних та цитування#

Всі дані під CC-BY-4.0:

Джерело: tgadsspy.com · tgadsspy.com/blog/tgadsspy-classifier-pipeline-technical-deep-dive · CC-BY-4.0

Also available in:

Cite this article

tgadsspy research (2026). Технічне заглиблення в tgadsspy: класифікатор і pipeline інгестії даних. tgadsspy.com. Retrieved from https://tgadsspy.com/blog/uk-tgadsspy-tekhnichne-zaglyblennia-klasyfikator-pipeline-2026

Licensed CC-BY-4.0 — reuse allowed including commercial, attribution required.

Related research

#osint →