Meta Ads Health Score: 58/100 (Grade: D — Poor)
Pixel / CAPI Health: 55/100 █████░░░░░ (weight 30%)
Creative: 62/100 ██████░░░░ (weight 30%)
Account Structure: 48/100 ████░░░░░░ (weight 20%)
Audience: 65/100 ██████░░░░ (weight 20%)
Context. B2B leadgen-кабінет (медичні курси для стоматологів + Univet оптичний quiz + Piezo). $1.5-2K/міс, $12.6K lifetime, 13 кампаній, 34 active adsets, 82 active ads. Operating CPL $2-8 (низький для B2B med — лідогенерація переважно через Meta Lead Forms, не landing).
Top findings:
| Метрика | Значення |
|---|---|
| Spend | $1,664 |
| Impressions | 274,883 |
| Clicks | 5,427 |
| CTR | 1.97% |
| CPC | $0.31 |
| CPM | $6.05 |
| Reach | 74,247 |
| Account-level Frequency | 3.70 ⚠️ |
| Leads (Form) | 108 |
| Leads (Pixel) | 19 |
| Messaging | 31 conversations started |
| Blended CPL | ~$13.10 (за всіма формами); якщо лише Form leads — $15.40 |
Цифри в брифі ($2.48 CPL) — це інший підрахунок (з усіма offsite/onsite combined). Тут — чисто з Marketing API за 14 днів.
| ID | Check | Status | Note |
|---|---|---|---|
| M01 | Meta Pixel installed | PASS | 6 pixels у акаунті, 5 з 6 fire'нули за останні 7 днів. Pixel Univet - quiz (974371477315847) — основний, fires щодня. |
| M02 | Conversions API (CAPI) | FAIL | На всіх 6 пікселях лише browser-side fbq код. Немає server-side CAPI events. Втрата 30-40% data post-iOS 14.5. |
| M03 | Event deduplication | N/A | Не релевантно без CAPI. |
| M04 | Event Match Quality (EMQ) | DATA_NEEDED | API не дає EMQ score (потребує Events Manager screenshot). Automatic Matching enabled з повним набором полів (em,fn,ln,ph,ct,st,zp,ge,db,country,external_id) — це частково компенсує. |
| M05 | Domain verification | DATA_NEEDED | Marketing API не повертає domain verification status — потребує Business Manager UI. Домени: up-and-do.com (subdomains). |
| M06 | Aggregated Event Measurement (AEM) | DATA_NEEDED | Не повертається через API. Враховуючи 6 pixels + B2B (мало iOS conversions), імовірно не пріоритезовано. |
| M07 | Standard events vs custom | WARNING | 1 custom conversion ("ThankYou Page" з PageView+URL contains "success") + Lead як стандартний. Custom rule last_fired = 2025-12-16 (5+ міс тому) → не працює. |
| M08 | CAPI Gateway | FAIL | Не задеплоєний (наслідок M02). |
| M09 | iOS attribution window | WARNING | 16/34 adsets мають лише 1-day click; 18/34 мають 7d click + 1d view (правильно). |
| M10 | Data freshness | PASS | Pixel Univet quiz fires real-time (last_fired 2026-05-11 02:10, поточна дата). |
| M-AT1 | Attribution window post-Jan 2026 | PASS | 7-day click + 1-day view (не покладаються на 7d/28d view-through що видалені у Jan 2026). |
Категорійний score: 55/100 (downgrade переважно від M02 Critical FAIL і M07/M08/M09 mix WARNING/FAIL).
| ID | Check | Status | Note |
|---|---|---|---|
| M25 | Creative format diversity | PASS | По акаунту: 46 IMAGE + 30 VIDEO + 5 SHARE + 1 STATUS = ≥3 формати. Per-campaign — варіюється. |
| M26 | Creative volume per ad set | FAIL | 19/34 adsets (55%) мають <3 active creatives. Avg 2.4 ads/adset, median 2. Recommendation ≥5 для standard, ≥10 для Advantage+. |
| M27 | Video aspect ratios (9:16) | PASS | Stories + Reels отримують impressions (Stories: 7.4K imp / 13% CTR, Reels: 38.5K imp). 9:16 video працює. |
| M28 | Creative fatigue detection | FAIL | 4 кампанії з CTR drop >20% W1→W2: Kaminskii -81%, Obukhovskyi -74%, Moura -36%, Univet LAL -36%. |
| M29 | Hook rate (video) | DATA_NEEDED | API не повертає 3-sec skip rate без додаткового запиту video_thruplay_actions / video_p25_watched_actions. |
| M30 | Social proof / boosted posts | DATA_NEEDED | Не визначається через ads endpoint без додаткового аналізу post types. |
| M31 | UGC / social-native | WARNING | Видно SHARE type (5 ads) — це boosted organic posts (good). Більшість IMAGE — продакшн-банери. Точна оцінка % UGC потребує перегляду thumbnails. |
| M32 | Advantage+ Creative | DATA_NEEDED | Не повертається в creative endpoint без creative{degrees_of_freedom_spec}. |
| M-CR1 | Creative freshness | PASS | Більшість кампаній мають даті у назві (27.03–08.05) — нові креативи за останні 14-45 днів. Piezo 08.05, Univet quiz Захід 04.05, Perebyinis 04.05. |
| M-CR2 | Frequency: Prospecting (adset 7d) | PASS | На adset рівні всі <3.0 (хоча акаунт-frequency 3.70 — bug overlap-у). |
| M-CR3 | Frequency: Retargeting | N/A | Нема явних retargeting adsets (всі prospecting). |
| M-CR4 | CTR benchmark (≥1.0%) | PASS | 12/13 кампаній мають CTR ≥1.0%; найгірша "Повідомлення ЮНІВЕТ" 1.00%. |
| M-AN1 | Andromeda creative diversity | WARNING | Univet quiz: 28 ads в одній кампанії "Захід України" (16 IMAGE + 12 VIDEO) — різноманіття добре, але VieSID Basic 6 IMAGE all-similar, Univet Banner 12 IMAGE усі статичні. Ризик Similarity Score >60%. |
| Quality rankings | (ad-level) | WARNING | 26 ads BELOW_AVERAGE_35 у Quality, 21 BELOW у Engagement, 13 BELOW у Conversion. 94 ads UNKNOWN (мало impressions / нові). |
Категорійний score: 62/100. Фатиг — критичний фактор зниження.
| ID | Check | Status | Note |
|---|---|---|---|
| M11 | Campaign count | FAIL | 13 active campaigns (recomm 1-3). Особливо: 4 окремі Univet quiz кампанії (Banner / Video / LAL / Захід) — over-fragmentation. |
| M12 | CBO vs ABO appropriateness | WARNING | Усі adsets ABO ($1-$6/день), бюджет $50-65/день на акаунт. <$100/день = ABO виправдано, але 13 кампаній x ABO = розпорошений сигнал. |
| M13 | Learning phase status | FAIL | 24/34 LEARNING (70%) + 9/34 FAIL (26%) + 0 SUCCESS. 0% adsets вийшли з learning. Threshold FAIL: >50% Learning Limited. Тут 26% FAIL + 70% залишаються — фактично жодний adset не оптимізується. |
| M14 | Learning phase resets | DATA_NEEDED | Edit history не повертається в публічному API. Часті дати у назвах (07.04, 14.04, 23.04, 24.04…) свідчать про регулярні правки/нові adsets — це resets. |
| M15 | Advantage+ Sales campaign | N/A | Не релевантно (B2B leadgen, не e-commerce). |
| M16 | Ad set consolidation | FAIL | 17 adsets таргетять Univet quiz pixel, всі UA 25-65. 4 кампанії дублюються по audience сегментах. |
| M17 | Budget distribution | FAIL | 15/34 adsets мають budget <$5/день. 11 adsets $1-$2/день — нижче порогу для learning exit. |
| M18 | Campaign objective alignment | PASS | OUTCOME_LEADS на 12/13 кампаній; "Повідомлення ЮНІВЕТ" = OUTCOME_ENGAGEMENT з 0 leads — objective ймовірно правильний (DM nurture), але результат поганий (0 leads, $71 spent). |
| M33 | Advantage+ Placements | PASS | 12 різних placements отримують impressions (Facebook Feed/Reels/Stories/notification/profile_feed/marketplace/instream + Instagram feed/reels/stories/explore). |
| M34 | Placement performance review | DATA_NEEDED | Регулярність ревью невідома. Stories CTR 13.01% (топ) — ймовірно недооцінений placement. |
| M35 | Attribution setting | WARNING | 47% adsets все ще 1d-click; 53% 7d+1d view (правильно). |
| M36 | Bid strategy | PASS | LOWEST_COST_WITHOUT_CAP на більшості — стандарт для маленьких бюджетів і unknown CPA. |
| M37 | Frequency cap (campaign) | WARNING | Campaign-level не overrun (1.3-4.0), але Moura 4.00 — у warning zone (recomm <4.0). |
| M38 | Breakdown reporting | DATA_NEEDED | Не з API. |
| M39 | UTM parameters | PASS | 76/82 ads з UTM template ?utm_source={{site_source_name}}&utm_medium=paid&utm_campaign={{campaign_name}}&utm_content={{ad_name}}_{{ad_id}}&utm_term={{adset_name}}_{{adset_id}} — чудово. 6 без UTM (ймовірно Lead Form або messaging ads). |
| M40 | A/B testing active | DATA_NEEDED | Experiments не повертає публічний endpoint. |
| M-ST1 | Budget adequacy (5x CPA) | FAIL | CPL $2-8; budget $1-$6/день → 0.5-3x CPA. Лише ~3 adsets мають budget ≥5x CPL. |
| M-ST2 | Budget utilization | DATA_NEEDED | Daily spend per adset не порівнюється з budget без додаткового запиту. |
Категорійний score: 48/100. Найслабша категорія через over-fragmentation + learning phase + малі adset бюджети.
| ID | Check | Status | Note |
|---|---|---|---|
| M19 | Audience overlap | FAIL | 17 adsets з одним promoted_pixel (Univet quiz), всі UA 25-65, geo overlap (UA-wide + UA-Захід regions). Account-level frequency 3.70 — індикатор overlap. |
| M20 | Custom Audience freshness | WARNING | 100 audiences total. 27 fresh (<180d), 73 stale (>180d). Серед них Univet_FB_лідогенерація.csv — 712 days old. |
| M21 | Lookalike source quality | WARNING | LAL 1% Univet quiz Lead — 147K людей source (good >1K), оновлено 95 днів тому (acceptable). Більшість LAL з джерелом 1K — на нижній межі (нерепрезентативно). |
| M22 | Advantage+ Audience testing | DATA_NEEDED | Не визначити з targeting spec. |
| M23 | Exclusion audiences | FAIL | 0 з 17 Univet adsets мають excluded_custom_audiences. LAL audience не виключає Customer List ("Покупці Юнівет"), що приводить до показу реклами існуючим клієнтам (waste). |
| M24 | First-party data utilization | PASS | 15 CUSTOM list audiences. "Покупці Юнівет 02.26(18month)" + customer CSV. Дані є, але не оновлюються (87+ днів). |
Категорійний score: 65/100. Найбільший дефіцит — exclusions і audience freshness.
| ID | Check | Status | Note |
|---|---|---|---|
| M-AN1 | Andromeda creative diversity | WARNING | Univet Banner 12 IMAGE — ризик similarity cluster; LAL Banner 9 IMAGE — те саме. Recomm: 3-4 концептуально різні підходи (testimonial / case-study / discount / quiz-CTA) замість 12 варіацій однієї ідеї. |
| M-AT1 | Attribution post-Jan 2026 | PASS | 7d click+1d view (правильна конфігурація після видалення 7d/28d view-through). |
| M-IA1 | Incremental Attribution | FAIL | Бюджет $1.5-2K/міс < $5K threshold — не релевантно зараз, але як scale-up trigger корисно. |
| M-TH1 | Threads placement | DATA_NEEDED | Не видно з placement breakdown — ймовірно не enabled. |
S_total = Σ(C_pass × W_sev × W_cat) / Σ(C_total × W_sev × W_cat) × 100
Pixel/CAPI: 55/100 × 30% = 16.5
Creative: 62/100 × 30% = 18.6
Structure: 48/100 × 20% = 9.6
Audience: 65/100 × 20% = 13.0
─────
Total = 57.7 → 58/100 (Grade D)
Issue: 0 з 17 adsets виключають Customer List "Покупці Юнівет 02.26(18month)" або "Univet_FB_лідогенерація.csv" → реклама показується вже-конвертованим людям, double-counting у frequency. Fix: В Ads Manager → Bulk Edit → Audiences → додати "Покупці Юнівет 02.26(18month)" як excluded для всіх Univet quiz prospecting adsets. Impact: Зменшення account-frequency з 3.70 → очікувано <3.0; -10-15% CPL.
Issue: 16/34 adsets все ще на 1-day click only — недозвчиняють відкладені конверсії. Fix: Adset settings → Attribution → 7-day click + 1-day view. Робити поза learning phase для уникнення reset. Impact: +10-15% reported leads, кращий signal для Andromeda.
Issue: $71 spend за 14 днів, 0 leads, CTR 1.00%, objective=ENGAGEMENT — найгірший ROI у акаунті. Fix: Pause кампанію. Якщо потрібен Direct Message flow → нова кампанія з MESSAGES objective + належна CTA "Send message" + Instant Form в IG DM. Impact: Економія $150/міс, redirect бюджет на топ-кампанії.
Why: Зараз 6 pixels всі browser-only. Post-iOS 14.5 втрата 30-40% signal. Pixel-leads 19 vs Form-leads 108 за 14 днів = слабкий pixel pipeline. Andromeda тренується на сигналі. How:
em, ph, fn, ln, external_id для high EMQ + event_id для дедуплікації.
Impact: +20-30% reported conversions, EMQ зростає, CPL знижується 15-25% за 4-6 тижнів.Why: Зараз 4 окремі Univet quiz кампанії з 17 adsets — over-fragmentation, всі у LEARNING, бюджет розпорошений. Meta recomm: 1-3 кампаній на акаунт. How:
Univet quiz | Prospecting | UA 25-65 з 3-4 adsets (Job titles / Fields of study / Employers / LAL).Univet quiz | Retargeting (BOF) з audience "viewed video 50% | 7 days" і "engaged with any post or ad" — це поки не використовується.Univet quiz | Захід якщо region performance відрізняється >30%.Why: Kaminskii (-81% CTR), Obukhovskyi (-74%), Moura (-36%), Univet LAL (-36%) — Andromeda compresses lifespan до 2-4 тижнів. Без оновлення CPL ростиме далі. How:
vieSID-testimonial-v1-2026-05-12) для tracking refresh cadence.
Impact: Повернення CTR до W1 baseline (2-3%), CPL -25-35% на цих 4 кампаніях.video_p25_watched_actions / video_thruplay_actions (можу запитати через API за окремим request).| Метрика | Sokhan (14d) | B2B Leadgen benchmark | Verdict |
|---|---|---|---|
| CTR | 1.97% | Leads obj avg 2.59% | Slightly low |
| CPC | $0.31 | $1.92 (Leads obj avg) | Excellent (UA cheap inventory) |
| CPM | $6.05 | $6-$8 (most industries) | On benchmark |
| CPL (Lead Form) | $15.40 | $27.66 Meta Leads avg | Excellent |
| Frequency (account) | 3.70 | <3.0 ideal | Warning |
| Quality ranking BELOW | 26/140 ads (19%) | <10% ideal | Concerning |
Висновок: CPL чудовий для B2B med (UA inventory + Lead Form формат), але якість трафіку (Quality/Engagement ranking) і audience hygiene (overlap, exclusions) тягнуть efficiency вниз. Якщо виправити Quick Wins #1-3 і Strategic #1-3 — очікую Health Score піднятися до 75-78 (B grade) за 30 днів, CPL до $10-12 на Lead Form.
/tmp/sokhan-campaigns.json — 100 кампаній (10 ACTIVE)/tmp/sokhan-adsets.json — 34 active adsets/tmp/sokhan-ads.json — 82 active ads з creative metadata/tmp/sokhan-insights-14d.json — 14d campaign insights/tmp/sokhan-ad-insights.json — 140 ads з quality rankings/tmp/sokhan-audiences.json — 100 custom audiences/tmp/sokhan-W1.json / /tmp/sokhan-W2.json — week-over-week CTR comparisonAPI queries executed:
GET /act_497104840400249?fields=name,account_status,currency,…GET /act_…/adspixels (6 pixels)GET /act_…/customconversions (1 conv, broken)GET /act_…/campaigns (100, 10 active)GET /act_…/adsets?filtering=ACTIVE (34)GET /act_…/ads?filtering=ACTIVE (82)GET /act_…/insights?level=campaign&time_range=14dGET /act_…/insights?level=ad&time_range=14d (quality rankings)GET /act_…/insights?level=account&breakdowns=publisher_platform,platform_positionGET /act_…/customaudiences (100)