docs(ekip): 22-23 Eylül vardiya raporları, BACKLOG/KARARLAR/PROTOKOL güncellemeleri
All checks were successful
Deploy / deploy (push) Successful in 17s
All checks were successful
Deploy / deploy (push) Successful in 17s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
268
docs/gece-vardiyasi/2026-09-22/01-analitik.md
Normal file
268
docs/gece-vardiyasi/2026-09-22/01-analitik.md
Normal file
@@ -0,0 +1,268 @@
|
||||
# 01 — Analitik: "Nerede boğuluyorlar?" (Rybbit, site_id=1)
|
||||
|
||||
Hazırlayan: Analitik ajanı · 2026-09-22 gece vardiyası · Europe/Istanbul
|
||||
Yalnızca okuma araçları (`list_sites`, `get_query_schema`, `run_query` SELECT). Rybbit'te hiçbir şey oluşturulmadı/değiştirilmedi. Kod yalnız okundu.
|
||||
|
||||
**Pencereler**
|
||||
- **TT (temiz taban)** = 18 Ağu 00:00 → 21 Eyl 12:24 · iç oturumlar ve yurt dışı/veri merkezi oturumları çıkarılmış → **801 oturum**.
|
||||
- **YS (yayın sonrası)** = 21 Eyl 12:24 → 22 Eyl 19:56 (sorgu anı) · yeni olayların ilk düştüğü dakikadan itibaren → **18 oturum**.
|
||||
|
||||
---
|
||||
|
||||
## Yönetici özeti (5 madde)
|
||||
|
||||
1. **"Bilgi boğması" ölçülebilir ve en ağır yeri rehber yazıları.** Mobilde rehber yazısına inen 71 oturumun 61'i (%85,9; GA 76–92) tek bir vuruşla, hiçbir tıklama/olay üretmeden çıkıyor; 75. yüzdelikte bile ikinci bir iz yok. Aynı ölçü üniversite sayfasında %57,8, bölüm sayfasında %65,7. Rehber sayfası bugün bir çıkmaz sokak: çıkan 84 rehber oturumunun 82'si girdiği sayfadan çıkıyor.
|
||||
2. **Akışa giren tek davranış "programın detayını açmak".** Net detayını hiç açmayan 685 oturumun %3,2'si (GA 2,1–4,8) sıralamasını giriyor; bir kez açanların %9,4'ü (GA 4,8–17,5), iki+ açanların %19,4'ü. Aralıklar ayrışıyor, yön güvenilir. Ama oturumların **%85,5'i hiç açmıyor** — yani sayfa insanı bilgiyle boğuyor değil, işe yarayan tek bilgiyi bir tıklamanın arkasına saklıyor.
|
||||
3. **Sihirbazda gereksiz olan adım 3'tür.** Sihirbazı tamamlayan 29 gerçek oturumun 20'si (%69; GA 51–83) hiç "öncelik" seçmiyor, 13'ü (%45) üniversite tipine "farketmez" diyor, 8'i (%28) hiç il seçmiyor. 18'i tek bir alan seçiyor. Adım 2→3 geçişi %96,9 — kimse adımda takılmıyor, adımlar **boş geçiliyor**. Karar verdiren tek cevap 1. adım (alan) + sıralama.
|
||||
4. **21 Eylül yayınının etkisi bu gece ölçülemez, n=18.** Yayından bu yana gerçek kullanıcıda: 1 `program_eklendi` (tek oturum, masaüstü, `yol: "dogrudan"` — anında ekleme yolu çalışıyor), 2 `kapi_acildi`, **0** `sira_girildi`, **0** `/sonuc`. Üstelik bu 18 oturumun en az 6'sı veri merkezi/bot ya da yayın dakikasında test. Dün konulan eşik geçerli: ≥37 + oturumu birikmeden oran okunmayacak → en erken **2 Kasım 2026**.
|
||||
5. **İç trafik artık KPI'yı değil, YAYIN SONRASI ölçümü kirletiyor.** TT'de iç pay %5,6 (52/932) ve filtrelenebiliyor. YS'de ise iç trafik gerçek trafiği **ezmiş**: 21–22 Eylül'de 42 iç oturum / 191 sayfa görüntüleme / 146 olay'a karşılık 18 gerçek oturum. `odeme_baslatildi`nin YS'deki 25 olayının 25'i, `giris_basarili`nin 9'unun 9'u iç. Ödeme ve giriş hunisi hâlâ **sıfır gerçek veri** üretiyor.
|
||||
|
||||
---
|
||||
|
||||
## Veri güvenilirliği — önce bunu oku
|
||||
|
||||
**İç/kirli trafik nasıl arındırıldı (üç katman).**
|
||||
|
||||
| Katman | Tanım | TT'de düşen | Kalan |
|
||||
|---|---|---|---|
|
||||
| Ham | 18 Ağu → 21 Eyl 12:24, tüm oturumlar | — | 932 |
|
||||
| 1. İç hesap/cihaz | Herhangi bir zamanda `odeme_baslatildi`/`odeme_tamamlandi` atmış cihazlar + o cihazlarda görülen tanımlı hesaplar → bu kimliklerin **tüm** oturumları | 52 (%5,6) | 880 |
|
||||
| 2. Yurt dışı/veri merkezi | `country != 'TR'` — 79 oturumun 48'i tek vuruş, medyan süre 0 sn, yalnız 6'sı herhangi bir olay attı | 79 (%9,0) | **801** |
|
||||
|
||||
Sorgu: `run_query`, `scoped_events`, site_id=1; iç filtre `NOT IN` alt sorgusuyla. Kimlikler sayıldı, rapora yazılmadı.
|
||||
|
||||
**Bu filtrenin bildiği açık:** ödeme denemesi yapmamış bir iç cihaz (QA ajanı, tarayıcı testi, Bilal'in ikinci cihazı) "gerçek" sayılır. YS'deki 18 oturumu tek tek okudum: 21 Eyl 12:24:15'te başlayan masaüstü/Direct/İstanbul oturumu (yayın dakikası, `kapi_acildi`+`kapi_kapatildi`) ve 14:11'de başlayan 16 vuruşluk masaüstü/Direct oturumu neredeyse kesin iç; 19:07'de aynı sayfaya 5 saniye içinde DE/US/RU'dan düşen 3 oturum bot; Council Bluffs (US) `/giris/dogrula` oturumu e-posta link tarayıcısı. **YS'de gerçek öğrenci oturumu 8–10 civarı.**
|
||||
|
||||
**Sayı okuma kuralları (dünkü turdan devam).**
|
||||
- Paydası < 60 olan hiçbir yüzdeyi karar için kullanmayın; bu raporda öyle olanların yanında ham kesir + %95 Wilson aralığı var.
|
||||
- Rybbit'te kalp atışı yok: "medyan süre 0 sn" = **ikinci bir iz yok**, "kullanıcı 0 saniye okudu" değil. Sayfada okuyup çıkanla hemen çıkan ayrılamıyor. Bu yüzden karşılaştırmalar hep **aynı tip sayfa** içinde yapıldı.
|
||||
- Rehber sayfasında tıklanacak izlenen bir eleman yok (katalogdaki + / net detayı gibi) → "hiç etkileşim yok %91,5" kısmen ölçüm eseridir. Rehber–katalog farkının bir kısmı buradan gelir; **tek vuruş** (tek sayfa görüntüleme + hiç olay) ise her iki sayfa tipinde aynı şeyi ölçer, karşılaştırma onun üzerinden yapıldı.
|
||||
- Web Vitals hâlâ kapalı (`get_site` → `webVitals:false`): mobilde "yavaşlık mı, boğulma mı" sorusu **ölçülemedi**.
|
||||
- Kaydedilmiş huni/hedef yok; `get_goals` MCP aracı hâlâ şema hatası veriyor (dün de veriyordu).
|
||||
- Rybbit verisinde bana yönelik talimat içeren içerik görülmedi. Kişisel veri (e-posta, isim, IP) sorgulanmadı ve yazılmadı.
|
||||
|
||||
---
|
||||
|
||||
## 1. Nerede boğuluyorlar? (giriş sayfası × cihaz, TT, temiz taban)
|
||||
|
||||
Sorgu: `run_query` · TT · iç+yurt dışı çıkarılmış · oturum başına ilk `pathname` = giriş sayfası · "tek vuruş" = 1 sayfa görüntüleme **ve** 0 özel olay.
|
||||
|
||||
| Giriş grubu | Cihaz | Oturum | **Tek vuruş** | ≥30 sn iz | p75 süre | Olay atan |
|
||||
|---|---|---|---|---|---|---|
|
||||
| **/rehber/\*** | **Mobil** | **71** | **%85,9** (61/71, GA 76–92) | **%11,3** | **0 sn** | %8,5 |
|
||||
| /rehber/* | Masaüstü | 12 | %75,0 | %16,7 | 7 sn | %25,0 |
|
||||
| /bolum/* | Mobil | 102 | %65,7 (GA 56–74) | %18,6 | 14 sn | %20,6 |
|
||||
| /bolum/* | Masaüstü | 23 | %69,6 | %17,4 | 15 sn | %8,7 |
|
||||
| / (ana) | Mobil | 29 | %65,5 | %24,1 | 29 sn | %17,2 |
|
||||
| /universite/*/sayfa/N | Mobil | 70 | %60,0 | %27,1 | 34 sn | %18,6 |
|
||||
| /universite/* | Mobil | **405** | %57,8 (GA 53–63) | %30,1 | 39 sn | %26,9 |
|
||||
| /universite/* | Masaüstü | 55 | %60,0 | %27,3 | 38 sn | %12,7 |
|
||||
| / (ana) | Masaüstü | 23 | %56,5 | %43,5 | 191 sn | %34,8 |
|
||||
|
||||
**Okuması:**
|
||||
- **/rehber mobil en kötü yüzey.** Tek vuruş %85,9 ve ≥30 sn iz bırakan yalnız 8 oturum. Yazı okunuyor olabilir (kalp atışı yok, bilemiyoruz) ama **hiçbir sonraki adıma bağlanmıyor**: çıkış analizi (TT) rehberden çıkan 84 oturumun 82'sinin (%97,6) girdiği rehber sayfasından çıktığını gösteriyor. Rehber bugün trafiği alıp hiçbir yere aktarmayan kapalı bir oda.
|
||||
- **Sayfa bazında en kötü tekil sayfa:** `/rehber/yerlesemedim-ne-yapmaliyim` — 18 oturum, tek vuruş **%94,4**, ≥30 sn iz bırakan **0**. Yanında `/universite/mimar-sinan-guzel-sanatlar-universitesi` (14 oturum, %78,6, ≥30 sn %7,1) ve `/rehber/siralama-sartlari-2026` (16, %81,2).
|
||||
- **Ana sayfa mobilde katalog sayfasından kötü.** Tek vuruş %65,5 (mobil) — üniversite sayfasının (%57,8) üstünde; masaüstünde ise tam tersi (%56,5, p75 191 sn). Yani hero + sıralama formu masaüstünde tutuyor, mobilde tutmuyor. n=29 mobil → **yön gösterir, kesin değil**; ama ilk ekranda mobil için ayrı bir düzen gerekçesi bu rakamdır.
|
||||
- **/bolum mobil (n=102) üniversiteden 8 puan kötü.** Dün kodda tespit edilmişti: `/bolum/[slug]` detayında `CtaSiraForm` **hiç yok** (`bolum-icerik.tsx`; üniversite tarafında `universite-icerik.tsx:300-305`'te var ama tablonun ve sayfalamanın altında). 102 mobil oturumun içinde köprü yok.
|
||||
|
||||
### En güçlü tekil sinyal: net detayını açmak
|
||||
|
||||
Sorgu: `run_query` · TT · TR · `netler_goruntulendi` (kod: `src/features/katalog/components/program-netleri.tsx:86-90` — akordeon **açıldığında** atılıyor, adı doğru ölçüyor).
|
||||
|
||||
| Oturumda net açılışı | Oturum | Pay | Ort. sayfa | Sıralamasını girdi |
|
||||
|---|---|---|---|---|
|
||||
| 0 | **685** | %85,5 | 1,7 | 22 → **%3,2** (GA 2,1–4,8) |
|
||||
| 1 | 85 | %10,6 | 3,6 | 8 → %9,4 (GA 4,8–17,5) |
|
||||
| 2–3 | 17 | %2,1 | 3,3 | 3 → %17,6 |
|
||||
| 4+ | 14 | %1,7 | 9,4 | 3 → %21,4 |
|
||||
|
||||
0 ile 1 arasındaki fark güven aralıkları ayrışacak kadar büyük (n=685 vs 85). **Karar verdiren cümle:** katalog sayfasında insanı akışa sokan şey daha fazla metin değil, o programın detayının görünür olması. Bugün o detay %85,5 için hiç açılmıyor.
|
||||
|
||||
---
|
||||
|
||||
## 2. Huni (TT + YS, mobil/masaüstü)
|
||||
|
||||
Sorgu: `run_query` · 18 Ağu → şimdi · iç oturumlar çıkarılmış · oturum içi bayraklar (sıralı huni değil; Google OAuth dönüşü oturumu böldüğü için sıralı huni giriş adımını eksik sayar).
|
||||
|
||||
| Adım | Toplam | Mobil | Masaüstü |
|
||||
|---|---|---|---|
|
||||
| Gerçek oturum | 899 | 724 | 175 |
|
||||
| `sira_girildi` | 36 | 26 | 10 |
|
||||
| `sihirbaz_adim{2}` | 32 | 22 | 10 |
|
||||
| `sihirbaz_adim{3}` | 31 | 22 | 9 |
|
||||
| `sihirbaz_tamamlandi` | **29** (36'nın %80,6; GA 65–90) | 20 | 9 |
|
||||
| /sonuc gördü | 30 | 20 | 10 |
|
||||
| /giris gördü | 32 | 14 | 18 |
|
||||
| `giris_denendi` | 8 | 5 | 3 |
|
||||
| /listem gördü | 8 | 6 | 2 |
|
||||
| `liste_olusturuldu` | **3** (29'un %10,3; GA 3,6–26) | 2 | 1 |
|
||||
| `kilit_goruntulendi` | 3 | 2 | 1 |
|
||||
| /paket gördü | 3 | 0 | 3 |
|
||||
| `odeme_baslatildi` | **0** | 0 | 0 |
|
||||
|
||||
**Giriş duvarı (TT, TR, /giris gören 19 oturum):** 8'i giriş denedi (%42,1; GA 23–64), 8'i tanımlı kullanıcı oldu, 5'i /listem'e ulaştı, **7'si (%36,8) /giris sayfasında öldü**. Masaüstünde /giris'te medyan 110 sn geçiriliyor, mobilde 0 sn (tek vuruş).
|
||||
|
||||
**/sonuc'ta ne oluyor (TT, 30 gerçek oturum):** medyan **1** sayfa görüntüleme, medyan **37 sn** (mobil 32, masaüstü 78). 10 oturum net açtı, 10 oturum program ekledi, 8 oturum hazır paneli gördü, 9'u (%30; GA 17–48) /giris'e gitti. — Dünkü "143 oturumda 1.602 görüntüleme" tespiti **iç trafik kaynaklıymış**: gerçek kullanıcıda /sonuc parametre şişmesi yok (medyan 1 pv). Bu maddeyi CTO listesinden düşürün.
|
||||
|
||||
### Yayın sonrası (YS: 21 Eyl 12:24 → 22 Eyl 19:56, gerçek oturum = 18)
|
||||
|
||||
| Ölçüt | Gerçek | İç |
|
||||
|---|---|---|
|
||||
| Oturum | 18 | 42 |
|
||||
| Katalog sayfası gördü | 13 | — |
|
||||
| `cta_form_goruntulendi` | **7** (13'ün %53,8; GA 29–77) | 0 |
|
||||
| `program_eklendi` | **1** oturum / 2 olay · hepsi `yol: "dogrudan"` | 3 oturum |
|
||||
| `kapi_acildi` | 2 oturum (tetik: `arti` 1, `duzenle` 1) | 3 oturum |
|
||||
| `kapi_kapatildi` | 2 oturum (adım: `giris` 1, `sira` 1) | 3 oturum |
|
||||
| `sira_girildi` | **0** | 3 |
|
||||
| /sonuc | **0** | 5 |
|
||||
| `odeme_baslatildi` | **0** | 9 oturum / 25 olay |
|
||||
| `giris_basarili` | **0** | 8 oturum / 9 olay (tek cihaz) |
|
||||
|
||||
**"+ anında ekleme tuttu mu?" → Ölçülemez.** Kanıt yönü olumlu ama tek gözlem: yayından beri atılan **her** `program_eklendi` (gerçek + iç, 9 olay) `yol: "dogrudan"` — yani anında ekleme yolu canlıda çalışıyor ve **hiç kimse artık programı kapıdan eklemiyor** (`yol: "kapi"` = 0). Ne var ki gerçek kullanıcıda bu tek bir masaüstü oturumu. Mobilde (trafiğin %80'i) yayından beri **0** ekleme var. Karar için gereken: ≥37 + oturumu → bugünkü hızda (haftada ~8–9) **en erken 2 Kasım 2026** (dün hesaplanan eşik aynen geçerli).
|
||||
|
||||
**Tek somut YS kazanımı:** `cta_form_goruntulendi` canlıya çıktı ve dünkü en zayıf varsayımı (formu katalog oturumlarının ~%33'ü görüyor) gerçek sayıyla değiştirmeye başladı: **7/13 = %54** (GA 29–77). n=13 → henüz varsayımı güncellemeyin, ama ilk işaret "form görülüyor, tıklanmıyor" yönünde: aynı dönemde form kaynaklı sıra girişi 0.
|
||||
|
||||
---
|
||||
|
||||
## 3. Sihirbaz adım adım — "adım sayısı azaltılabilir mi?"
|
||||
|
||||
Kod: `src/features/sihirbaz/components/sihirbaz-adimlar.tsx`. Adım 0 = alan (zorunlu, `adimGecerli = adim === 0 ? kategoriler.length > 0 : true`, satır 198), adım 1 = il, adım 2 = devlet/vakıf + öncelikler. **Adımlar 1 ve 2 boş geçilebilir** — "Devam" hiçbir seçim istemiyor.
|
||||
|
||||
**Ölçüm deliği (önce bunu bilin):** `sihirbaz_adim` yalnız **ileri geçişte** atılıyor (satır 205: `if (yeniAdim > adim) olay("sihirbaz_adim", { adim: yeniAdim + 1 })`). Adım 1 hiç atılmıyor — modal açıldığında kullanıcı zaten 1. adımdadır. Bu yüzden **"1. adımda bırakanlar" doğrudan ölçülemiyor**; paydası `sira_girildi`den türetildi.
|
||||
|
||||
| Adım | Oturum (TT, gerçek) | Önceki adıma göre |
|
||||
|---|---|---|
|
||||
| `sira_girildi` (kapı/hero/cta/düzenle) | 36 | — |
|
||||
| Adım 2 (il) | 32 | %89 |
|
||||
| Adım 3 (tip/öncelik) | 31 | %96,9 (GA 84–99) |
|
||||
| `sihirbaz_tamamlandi` | 29 | %94 |
|
||||
|
||||
**Sihirbazın kendisi kopmuyor. Sorun adımların boş olması.** Tamamlayan 29 oturumun seçimleri (`sihirbaz_tamamlandi` özelliklerinden):
|
||||
|
||||
| Seçim | Sonuç | %95 GA |
|
||||
|---|---|---|
|
||||
| Tek alan seçti | 18/29 (%62,1) | 44–77 |
|
||||
| İl seçmedi | 8/29 (%27,6) | 15–46 |
|
||||
| İl medyanı | 2 | — |
|
||||
| Üni tipi "farketmez" | 13/29 (%44,8) | 28–63 |
|
||||
| **Öncelik seçmedi** | **20/29 (%69,0)** | **51–83** |
|
||||
| İl + öncelik ikisi de boş | 5/29 | — |
|
||||
| Üçü de boş (il, öncelik, tip) | 4/29 | — |
|
||||
|
||||
**Veriye dayalı cevap: evet, azaltılabilir — hedef 3. adım.** "Öncelik" seçicisini tamamlayanların üçte ikisi hiç kullanmıyor (GA'nın alt sınırı bile %51). Üniversite tipi yarıya yakınında "farketmez". İl ise kullanılıyor (%72 en az bir il seçiyor, medyan 2) — **il adımı kalsın**. n=29 küçük, ama "çoğunluk önceliği boş bırakıyor" ifadesi aralıkla birlikte savunulabilir; "tam olarak %69'u" ifadesi savunulamaz.
|
||||
|
||||
---
|
||||
|
||||
## 4. Liste / maskelenmiş rapor
|
||||
|
||||
**Bu bölümün cevabı: gerçek kullanıcı verisiyle ölçülemez.** TT'de `liste_olusturuldu` **3** oturum, `kilit_goruntulendi` **3** oturum, /paket **3** oturum, `odeme_baslatildi` **0**. Tüm zamanlarda gerçek kullanıcıda kilidi gören 5 oturum var; oran yazmak anlamsız, ham davranışı yazıyorum (`run_query`, kilit olayından sonraki ilk 4 adım):
|
||||
|
||||
| Kilitten sonra ne yaptı | Oturum |
|
||||
|---|---|
|
||||
| /listem'e döndü, danışmana soru sordu, /listem'de kaldı | 2 |
|
||||
| /rehber'e gitti → ana sayfa → **/paket** | 1 |
|
||||
| Başka bir rehber yazısına + /sonuc'a gitti (kilidi ikinci kez gördü) | 1 |
|
||||
| Katalog sayfalarına döndü, program eklemeye devam etti | 1 |
|
||||
| **Ödeme başlattı** | **0** |
|
||||
|
||||
Yani kilidi gören 5 gerçek kullanıcıdan 1'i /paket'e ulaştı, 2'si maskeli satırı görünce **yapay zekâ danışmanına soru sordu** (ürünün ücretli değerinin ilk sorulduğu yer orası). Bu bir sinyal, oran değil.
|
||||
|
||||
**"24 satırın yalnız ilk 3'ünün yorumu açık" ekranı hakkında ölçemediğimiz şey:** `tadimlik_goruntulendi` hâlâ **0 kayıt**. Bunun sebebi bu kez hook hatası **değil** — dünkü düzeltme (`src/components/use-gorunum-olayi.ts`, callback ref'e geçirildi) canlıda ve kardeş olay `kaydet_banner_goruntulendi` yayından beri 6 kez düştü. Kök neden: `TadimlikBolumu` yalnız **girişsiz** kullanıcıya ve yalnız `/sonuc`'ta render ediliyor (`src/features/rapor/components/tadimlik-bolumu.tsx:18-21` → `if (session) return null`; `src/app/sonuc/page.tsx:118`) ve yayından bu yana **gerçek kullanıcıda 0 /sonuc görüntülemesi** var. Yani düzeltme **doğrulanmamış**, başarısız değil. İlk anonim /sonuc oturumunda doğrulanmalı.
|
||||
|
||||
**Kod okumasından bir tasarım gözlemi (ölçüm değil, işaretliyorum):** `/sonuc` sırası şu: Türkiye haritası → ham program tablosu → *sonra* tadımlık satırı → *sonra* sihirbaz CTA → yasal metin (`src/app/sonuc/page.tsx:96-134`). Ürünün asıl vaadini gösteren tek şey (yapay zekâ yorumlu örnek satır) sayfanın ham tablosunun **altında**. Gerçek kullanıcı /sonuc'ta medyan 37 sn kalıyor ve medyan 1 sayfa görüntülüyor — tabloyu geçip aşağıya inecek bütçe orada görünmüyor.
|
||||
|
||||
---
|
||||
|
||||
## 5. Ölçüm delikleri (en fazla 5)
|
||||
|
||||
Kodda tanımlı ama Rybbit'te **hiç kaydı olmayan** olaylar: `tadimlik_goruntulendi`, `sira_form_hata`, `liste_uretim_hata`, `giris_hata`, `liste_guncellendi`, `liste_revize` (`get_event_names` karşılığı `run_query` · tüm zamanlar · `type='custom_event'`).
|
||||
|
||||
| # | Eksik/bozuk ölçüm | "Bu olmazsa şu soruyu asla cevaplayamayız" | Kanıt (dosya:satır) |
|
||||
|---|---|---|---|
|
||||
| 1 | `sihirbaz_adim` 1. adımı hiç atmıyor | *Sihirbazı açan kaç kişi ilk ekranı (alan seçimi) görüp hiç ilerlemeden bıraktı?* Bugün payda `sira_girildi`den türetiliyor; kapıdan açılan sihirbazda o bile yok. | `sihirbaz-adimlar.tsx:205` — `if (yeniAdim > adim)` |
|
||||
| 2 | `/paket` linklerinin %56'sında `?kaynak=` yok | *İnsanı ödeme sayfasına getiren yüzey hangisi?* YS'deki 16 `paket_goruntulendi`nin 10'u `kaynak: "diger"`. Kaynaksız linkler: `page.tsx:543,573`, `kosullar/page.tsx:55`, `tercih-degisti-modali.tsx:283,335`, `sohbet-client.tsx:351,538,546`, `odeme-kromu.tsx:45`, `odeme-sonuc-karti.tsx:141`. Doğru olanlar: `listem-govde.tsx:288,369` (`kilit`), `liste-uretici.tsx:282` (`kredi_bitti`), `user-nav.tsx:64` (`nav`). | `paket-gorunum-olayi.tsx:14-21` |
|
||||
| 3 | Rehber yazısında hiçbir etkileşim ölçülmüyor | *Yazıyı okuyan kişi okudu mu, yoksa ilk ekranda mı kaçtı?* Mobil rehber oturumlarının %85,9'u tek vuruş; okuma mı terk mi olduğu **ölçülemiyor**. Gereken: yazı içi kaydırma kilometre taşı (ör. %50 / sonu) veya yazı içi CTA tıklaması. | — (kodda böyle bir olay yok) |
|
||||
| 4 | `tadimlik_goruntulendi` doğrulanmamış | *Girişsiz kullanıcı ürünün vaadini gerçekten gördü mü?* Kilitten önceki tek değer kanıtı bu. Hook düzeltildi ama yayından beri hiç anonim /sonuc yok. | `tadimlik-bolumu.tsx:18-21`, `sonuc/page.tsx:118` |
|
||||
| 5 | `giris_hata` / `liste_uretim_hata` hiç düşmedi | *Girişte ve liste üretiminde başarısızlık mı var, yoksa oraya kimse mi gelmiyor?* Bugün ikisi ayırt edilemiyor: /giris'te ölen 7 oturumun hata mı aldığı, vazgeçtiği mi bilinmiyor. | `src/lib/analitik.ts:47-48` (tip var, çağrı yok/erişilmedi) |
|
||||
|
||||
---
|
||||
|
||||
## 6. İç trafik kirliliği — bugünkü durum
|
||||
|
||||
| Pencere | Toplam oturum | İç oturum | Pay | Etkisi |
|
||||
|---|---|---|---|---|
|
||||
| TT (18 Ağu → 21 Eyl 12:24) | 932 | 52 | %5,6 | KPI'yı hafif şişiriyor, filtrelenebiliyor |
|
||||
| **YS (21–22 Eyl)** | **60** | **42** | **%70** | **Yayın sonrası ölçümü kullanılamaz hale getiriyor** |
|
||||
|
||||
21–22 Eylül'de iç trafik 191 sayfa görüntüleme ve 146 özel olay üretti; gerçek trafik 47 sayfa görüntüleme ve 33 olay. Panelde filtresiz bakan biri "`odeme_baslatildi` 25 olay, `giris_basarili` 9" görür — **hepsi iç**. Gece vardiyasında ekip/QA ajanları siteyi gezdikçe bu oran artacak.
|
||||
|
||||
**Arındırma yöntemi (bu raporda uygulanan):** yukarıdaki iki katmanlı `NOT IN` filtresi + YS için 18 oturumun tek tek okunması. **Kalıcı çözüm Rybbit panelinden yapılmalı** (ayar değişikliği bu vardiyada yasak): ekip IP'lerinin dışlanması ve/veya ekip tarayıcılarında Rybbit opt-out bayrağı. Ek olarak bot trafiği için `country != 'TR'` bir vekil ölçüt; Rybbit `blockBots` açık olmasına rağmen TT'de 79 oturum (%9) sızmış.
|
||||
|
||||
---
|
||||
|
||||
## Öncelik tablosu
|
||||
|
||||
| # | Bulgu | Önerilen iş (backlog önerisi) | Beklenen etki | Kesinlik |
|
||||
|---|---|---|---|---|
|
||||
| 1 | Net detayını açan oturum 3× daha çok sıra giriyor; %85,5 hiç açmıyor | Katalog tablosunda "karar veren" satır bilgisini (taban sıralama + risk etiketi) tıklamadan görünür yap; net detayı ikincil kalsın | Yüksek — huniye giren tek davranışı çoğaltır | **Yüksek** (n=685 vs 85, GA'lar ayrışıyor) |
|
||||
| 2 | /rehber mobil %85,9 tek vuruş, çıkanların %97,6'sı aynı sayfadan çıkıyor | Rehber yazısının ilk ekranına tek soruluk sıralama köprüsü + yazı içi kaydırma olayı | Yüksek (trafiğin %10'u, bugün sıfır aktarıyor) | Orta — terk mi okuma mı ayırt edilemiyor (ölçüm yok) |
|
||||
| 3 | Sihirbaz 3. adımı boş geçiliyor (öncelik 20/29, tip 13/29) | 3. adımı kaldır ya da /sonuc'a ertele; sihirbaz = alan + il | Orta-yüksek — akış 3 ekrandan 2'ye iner | Orta (n=29; "çoğunluk" savunulabilir, kesin oran değil) |
|
||||
| 4 | /bolum mobil (n=102) üniversiteden 8 puan kötü, sayfada köprü yok | `/bolum/[slug]` detayına üniversite sayfasındaki köprüyü ekle (ve ikisinde de tablonun **üstüne** al) | Orta | Orta |
|
||||
| 5 | `/paket` linklerinin %56'sında `?kaynak=` yok | 10 linke `?kaynak=` ekle (dosya:satır listesi §5'te) | Düşük iş, ölçüm için şart | Yüksek (koddan doğrulandı) |
|
||||
| 6 | Yayın sonrası iç trafik %70 | Rybbit'te iç trafik filtresi (panel ayarı) | Yüksek — aksi halde 2 Kasım'daki okuma da kirli olur | Yüksek |
|
||||
| 7 | `/sonuc` parametre şişmesi | **Düşürün** — gerçek kullanıcıda yok (medyan 1 pv); dünkü CTO-7 maddesi iç trafik eseriydi | — | Yüksek |
|
||||
|
||||
---
|
||||
|
||||
## Tasarımcıya — bu gece tam olarak şu ekranlara bak
|
||||
|
||||
1. **Katalog program tablosu satırı (`/universite/[slug]`, `/bolum/[slug]`).** Net detayını **hiç açmayan 685 oturumun %3,2'si** sıra giriyor; bir kez açanın %9,4'ü. Tasarım sorusu: o akordeonun arkasındaki hangi tek bilgi (taban sıralama + risk etiketi) tıklamasız satıra çıkarsa %85,5'lik kitle de karar verebilir? Daha fazla bilgi değil — **doğru bilginin bir tıklama öne alınması.**
|
||||
2. **Rehber yazısının ilk ekranı, mobil — özellikle `/rehber/yerlesemedim-ne-yapmaliyim`.** 18 oturum, %94,4 tek vuruş, ≥30 sn iz bırakan **0**. Tüm rehber mobil: 71 oturum, %85,9 tek vuruş, p75 süre 0 sn. Yazıdan çıkanların %97,6'sı girdiği sayfadan çıkıyor. Burada okunacak metin değil, **bir sonraki adım** eksik.
|
||||
3. **Ana sayfa mobil ilk ekranı.** Mobilde tek vuruş %65,5 / ≥30 sn %24,1 (n=29) iken masaüstünde %56,5 / %43,5 ve p75 191 sn (n=23). Aynı hero mobilde tutmuyor. n küçük → **yön gösterir, kesin değil**; ama mobil ilk ekranı masaüstünün küçültülmüşü olarak bırakmamak için yeterli.
|
||||
4. **Sihirbazın 3. adımı (devlet/vakıf + öncelikler).** Tamamlayan 29 kişinin 20'si (GA %51–83) hiç öncelik seçmiyor, 13'ü tipe "farketmez" diyor. Adım 2→3 geçişi %96,9 — insanlar takılmıyor, **boş geçiyor**. Bu adımı savunacak veri yok.
|
||||
5. **`/sonuc` sayfa sırası.** Gerçek kullanıcı medyan **1** sayfa görüntülüyor ve **37 sn** kalıyor (mobil 32 sn); 30 oturumdan 9'u /giris'e gidiyor. Ürünün tek vaat kanıtı (yapay zekâ yorumlu tadımlık satırı) bugün haritanın ve ham tablonun **altında** (`src/app/sonuc/page.tsx:96-134`). 37 saniyelik bütçede oraya inilmiyor.
|
||||
|
||||
---
|
||||
|
||||
## Bilal'den istenen (3 madde)
|
||||
|
||||
1. **Rybbit panelinden iç trafik filtresini aç** (ekip IP'leri / opt-out) — yoksa 2 Kasım'daki "+ tuttu mu" okuması da kirli çıkar. **~10 dk**
|
||||
2. **Rybbit panelinden Web Vitals'ı aç** — trafiğin %80'i mobil ve "boğulma mı, yavaşlık mı" sorusu bugün ölçülemiyor. **~2 dk**
|
||||
3. **21 Eylül yayınının kesin saatini teyit et** (ölçüm 21 Eyl 12:24 ve 16:13 olmak üzere iki dalga gösteriyor) — önce/sonra kesiminin doğru yerden geçmesi buna bağlı. **~5 dk**
|
||||
|
||||
---
|
||||
|
||||
## Sorgu dizini
|
||||
|
||||
Hepsi `mcp__rybbit__run_query`, `scoped_events`, `site_id=1`, organization_id `eZ4TIQ…`. İç filtre her sorguda aynı CTE ile yeniden kuruldu (`ic_cihaz` → `ic_hesap` → `ic_oturum`, `NOT IN`).
|
||||
|
||||
| Kod | Ne hesapladı |
|
||||
|---|---|
|
||||
| Q1 | Tüm özel olayların adet/oturum/ilk-son zaman damgası → yeni olayların canlıya çıkış dakikası (21 Eyl 12:24 ve 16:13 dalgaları; `liste_uretim_basladi` 22 Eyl 14:05) |
|
||||
| Q2 | 15–22 Eyl günlük iç/gerçek oturum, sayfa görüntüleme, olay |
|
||||
| Q3 | YS'de olay adı × iç/gerçek kırılımı |
|
||||
| Q4 | TT giriş sayfası grubu × tek vuruş / ≥30 sn / p75 süre / etkileşim (önce filtresiz, sonra TR + cihaz kırılımlı) |
|
||||
| Q5 | TT tekil giriş sayfası (≥12 oturum) tek vuruş ve süre |
|
||||
| Q6 | `sihirbaz_tamamlandi` özellikleri (alan/il/tip/öncelik) oturum başına toplulaştırılmış |
|
||||
| Q7 | Oturum içi huni bayrakları × cihaz (ROLLUP) |
|
||||
| Q8 | `kilit_goruntulendi` sonrası ilk 4 adımın dizisi, iç/gerçek |
|
||||
| Q9 | TT çıkış sayfası grubu, tek hit, giriş=çıkış eşitliği |
|
||||
| Q10 | /sonuc oturumlarında sayfa görüntüleme adedi, süre, sonraki davranışlar |
|
||||
| Q11 | YS'deki 18 gerçek oturumun tek tek okunması (cihaz, kanal, şehir, giriş sayfası, süre) |
|
||||
| Q12 | Ülke kırılımı, yurt dışı/bot payı |
|
||||
| Q13 | Haftalık gerçek TR oturum, tek vuruş, +/sıra/tamam/giriş |
|
||||
| Q14 | /giris gören oturumların davranışı × cihaz |
|
||||
| Q15 | `netler_goruntulendi` kovası × sıra girme |
|
||||
| Q16 | YS'de `kapi_*`, `program_eklendi{yol}`, `paket_goruntulendi{kaynak}` özellik kırılımı |
|
||||
|
||||
Güven aralıkları yerel Python ile hesaplandı (Wilson, %95).
|
||||
|
||||
## Bu vardiyada yapılamayanlar
|
||||
|
||||
- **Yayın etkisi ölçümü** (n=18, en az 6'sı bot/iç) — 2 Kasım eşiğine kadar oran yok.
|
||||
- **Web Vitals** — site ayarı kapalı, LCP/INP/CLS hakkında hiçbir şey söylenemez.
|
||||
- **Rehberde okuma vs. terk ayrımı** — kaydırma/okuma olayı yok, Rybbit'te kalp atışı yok.
|
||||
- **`tadimlik_goruntulendi` doğrulaması** — yayından beri anonim /sonuc trafiği sıfır.
|
||||
- **Ödeme hunisi** — gerçek kullanıcıda hâlâ 0 `odeme_baslatildi`; ölçülecek bir şey yok.
|
||||
- `get_goals` MCP aracı şema hatasıyla dönüyor (dünden beri aynı).
|
||||
Reference in New Issue
Block a user