İstanbul Maslak'ta Büyükdere Caddesi'nin arka sokaklarından birinde, 14 masalık köfteci "Halil Usta" 11:30 olduğu anda 200 metre yarıçapındaki potansiyel müşterilerinin telefonuna kısa bir bildirim düşürüyor: "Bugün 30 dakika içinde gelene -%15 köfte". Bildirim, uygulama indirilmesini gerektirmiyor; daha önce menü sayfasını tarayıp izin vermiş herkes alıyor.
Bu sistemi devreye almadan önce öğle servisinde ortalama 38 masa açan restoran, geo-push akışından sonra 11:30–13:00 arası 51 masaya çıkmış. Aradaki fark yaklaşık %34 artış, ek baskı veya broşür maliyeti olmadan.
Web Push API Neden Uygulama İndirimi Gerektirmiyor?
Native iOS/Android bildirimleri için ayrı bir uygulama yazmak ve App Store onayı almak gerekir. Web Push API + Service Worker kombinasyonu ise, müşterinin menü sayfasını ziyaret ettiği anda tarayıcıdan izin alır. Tek satırlık bir Notification.requestPermission() çağrısı yeterli.
iOS tarafında 16.4 sürümüne kadar Web Push desteklenmiyordu; ancak Mart 2023 itibarıyla Apple Safari ve home-screen PWA'lara izin verince Türkiye'deki iPhone tabanı için de yol açıldı. Android Chrome 50+ zaten yıllardır destekliyor. Pratikte 2026 itibarıyla aktif kullanıcıların yaklaşık %92'sine ulaşabiliyorsunuz.
Push bildirim restoran konum bazlı kampanya akışında üç katman vardır: izin (permission), abonelik (subscription endpoint kaydı) ve tetikleme (server-side fetch). Üçü doğru kurulursa sub-1-saniye delivery sağlanır.
200m Geofence Nasıl Tanımlanır?
HTML5 Geolocation API müşterinin konumunu istediği an verir, ancak sürekli arka plan takibi browser kısıtları yüzünden mümkün değil. Pratik çözüm: kullanıcı bir kez menü sayfasını açtığında konumu kaydet, sonra ona push hedeflemesi yaparken sunucuda Haversine formülüyle 200m yarıçap içinde olup olmadığını kontrol et.
Maslak örneğinde restoran 41.1075°N, 29.0188°E. 200 metre = yaklaşık 0.0018 derece enlem, 0.0024 derece boylam (40. paralelde). Sunucuda bir Cloudflare Worker cron'u 11:30'da çalışıp veritabanındaki son ziyaretçi konumlarını sorguluyor, yarıçap içindekilere push gönderiyor. Toplam latency 600ms.
KVKK ve Açık Rıza Akışı
Türkiye'de Kişisel Verilerin Korunması Kanunu konum verisi için "açık rıza" zorunlu kılıyor. Yani permission modal'ında sadece "İzin Ver / Reddet" yetmez; amacı, saklama süresini, hangi tetiklemelerde kullanılacağını açıklayan kısa bir metin gerekli.
Pratik şablonumuz: "Sadece restoran çevresinden geçtiğinizde özel kampanya bildirimleri göndermek için konum bilginizi 30 gün saklarız. İstediğiniz zaman geri çekebilirsiniz." Metin 280 karakteri geçmesin, kullanıcı bezdirmesin. Tek modal, tek tıkla onay, opt-out linkini menünün altında bırak.
Geo push notification restaurant 200m radius çalışmalarında AB GDPR ile KVKK büyük ölçüde örtüşür. Hassas farklılık: KVKK aydınlatma metnine "veri sorumlusu" olarak işletme adı + adres + irtibat e-posta zorunlu. Bunu açılan privacy linkinde sun.
Bildirim İçeriği: Conversion Optimize Eden Format
Halil Usta'nın A/B testlerinden çıkan en iyi format şu: başlık 36 karakter, gövde 65 karakter, CTA emoji + zaman vurgusu. Örnek: başlık "Bugün öğle yemeği planın var mı?" gövde "30 dk içinde gelene -%15 köfte. Maslak şubesi, masan hazır 🍽️".
Veri: emoji içermeyen bildirimde tıklama oranı %4.2, içerenlerde %7.1. Saat vurgusu olmayan bildirimde ortalama 18 dakika sonra okunuyor; "30 dk" yazısı geleni 9 dakikaya düşürüyor. Aciliyet, geo-push'ta dönüşüm kanıtlı şekilde artırıyor.
Frekans sınırı kritik: aynı kullanıcıya haftada en fazla 2 push. Üçüncüsünde unsubscribe oranı %3'ten %18'e fırlıyor. thMenu'nun Pro+ pakedi bu sınırı default olarak uygular; başka platformlarda manuel limit set etmek gerekli.
Service Worker'da Beklenmedik Edge Case'ler
Üç tane temiz olmayan durum gözlendi. Birincisi: kullanıcı Safari'de Private Browsing açmışsa service worker subscription endpoint'i kaybediyor — bu kullanıcılara ulaşılamıyor. İkincisi: Android'de pil tasarrufu açıkken Doze modu push'u 4-6 saat geciktirebilir. Üçüncüsü: Türkiye operatörlerinden Vodafone'da DPI kaynaklı FCM gecikmesi 8-10 saniye olabiliyor.
Bu üçü için fallback: push gönderildikten 5 dakika sonra delivery report kontrol et, %85 üzerinde sağlıklı, altında alarm. thMenu'nun observability paneli bu metriği otomatik gösteriyor.
Pratik Adımlar
- Menü sayfasına service worker ekle (5 dakika)
- VAPID anahtarı üret (web-push-libs.org rehberinden)
- Permission modal'ına KVKK aydınlatma metnini yerleştir
- İlk kampanyayı 14 günlük A/B test olarak çalıştır
- Tıklama oranı %5 altındaysa içeriği yeniden yaz; süre 30 dk üzerindeyse aciliyet ekle
- thMenu Pro+ kullanıyorsan Settings → Push Campaigns'ten geofence yarıçap, saat aralığı ve metni gör
Sık Sorulan Sorular
Hangi tarayıcı sürümlerinde çalışır? iOS 16.4+, Android Chrome 50+, Safari macOS 16+, Firefox tüm sürümler. 2026 itibarıyla Türkiye'deki akıllı telefon tabanının yaklaşık %92'si.
Müşterinin uygulamayı açık tutması gerekir mi? Hayır. Service worker arka planda çalışır; tarayıcı kapalı olsa bile bildirim gelir.
Konum bilgisi sürekli takip ediliyor mu? Hayır. Müşteri menü sayfasını her açtığında o anki konum kaydedilir; arka plan sürekli takibi yoktur.
Geo-push restoranımdan ne kadar uzakta çalışır? Pratik üst sınır 1 km. Onun ötesinde alaka düşer; tıklama oranı %1 altına iner. 200m–500m arası en yüksek dönüşüm.
thMenu yerine kendim mi kurmalıyım? Tek lokasyon için custom build mantıklı olabilir; ancak 3+ şube veya KVKK aydınlatma metni güncelleme zorunluluğu varsa hazır platform daha ucuz çıkar.
Faydalı buldunuz mu? Paylaşın.
İlgili makaleler
QR Menü Nedir? Restoranlar İçin Eksiksiz Rehber
QR kod menü, müşterilerin telefonlarıyla tarayarak dijital menünüze anında erişm…
Kağıt Menüden QR Menüye Geçiş: Adım Adım Pratik Kılavuz
Restoranınızda kağıt menüyü bırakıp dijital QR menüye geçmek istiyorsunuz ama ne…
Yemek %10, alkol %20 — restoran POS'unuz multi-rate KDV'yi nasıl yönetiyor?
Türkiye'de gıda KDV'si %10, alkollü içecekler için %20. Bir adisyonda ikisi de v…