Это не общий запрос «дайте статистику». Это точная карта: какое поле берём, из какого источника-истины и под каким именем — собранная на основе вашего же разбора FB Insights ⨝ PFM. Цель — чтобы ваш дев собрал выгруз одним пуллом, а движок начал калиброваться под этот аккаунт.
adset_id через sub2={{adset.id}} — хеш tracker→adset у вас уже в системе.Сгруппировано по тому, кто authoritative. Имена полей — как в FB Insights / вашем PFM.
| Spend | spend | FB authoritative (PFM mirror — только мониторинг, lag ~60s) |
| Hook Rate (3s) | video_3_sec_watched_actions / impressions | Именно 3-sec, не ThruPlay |
| Outbound CTR | outbound_clicks_ctr | Outbound, не ctr (all clicks) |
| Retention 25/50/75/100 | video_p25..p100_watched_actions | Кривая досмотра → точка обрыва |
| CPC / CPM | cpc, cpm | Контекст аукциона |
| Frequency | frequency | Сигнал выгорания |
| Shares / Comments / Saves | actions[post_share, comment, post_save] | Вирусность |
| Dates: launch → stop | adset.start_time + ad.effective_status | Не PFM tree mtime — он неточный (ваше замечание учёл) |
| Placement | breakdown=publisher_platform, platform_position | Сегментация перед скорингом |
| Geo / State | breakdown=region, country | Гео-форматы по штату |
| Age | breakdown=age, gender | Привязка к аватару |
| Video link / file | ad.creative.video_id → /{video-id}?fields=permalink_url,source | Для разметки деталей |
| Реальные лиды | leadsT (tracker) | Authoritative. FB actions[lead] занижен — НЕ берём |
| Landing CVR | tracker clicks → leadsT | FB не видит лендинг |
| Sales / ROAS / payout | conversions, conversionsSold, payout | Финальный денежный итог |
| CPL | spend (FB) / leadsT (PFM) | FB spend ÷ PFM-лиды. По FB-лидам считать нельзя |
| Acc averages | CTR/CPM (FB) + CPL/ROAS (PFM) | Бенчмарки аккаунта для калибровки гейта ≥80 |
| Verdict | brain v5 (наша логика) | Кросс-чек, не независимый лейбл |
| Detail tags | наша taxonomy: format/hook/cta/avatar | Размечаем по видео; если есть нейминг крео — ускоряет |
| Language (EN/ES) | вручную | Нативно нет нигде — ваше замечание, ставим сами |
Ровно как вы описали — один Insights pull (ad-level + breakdowns) + tree merge по adset_id.
Одна строка на ad. CSV или JSON. Это и есть финальный контракт — что движок принимает на вход.
leadsT из PFM.start_time / effective_status.conversions/payout.outbound_clicks_ctr, не all-clicks. ✔ согласованоvideo_3_sec_watched_actions, не ThruPlay. ✔ согласовано