Teknik

Kampanya Bitiminde Kapanmayan İndirim Seni Nasıl Sessizce Zarara Sokuyor: Dijital Ürün Satış Scriptinin Kimsenin Anlatmadığı Otomatik Kapanış Mekaniği

Kampanya bitiş saati geçtiği halde indirim neden kapanmaz? Dijital ürün satış scriptinde otomatik kapanışın beş katmanını, saat dilimi tuzağını ve denetim izini anlatıyoruz.

Kampanya Bitiminde Kapanmayan İndirim Seni Nasıl Sessizce Zarara Sokuyor: Dijital Ürün Satış Scriptinin Kimsenin Anlatmadığı Otomatik Kapanış Mekaniği

Kampanya kurmak kolaydır. Kampanyayı durdurmak zordur. Çoğu e-pin satıcısı panele bir başlangıç ve bir bitiş tarihi girdiğinde işin tamamlandığını sanır: saat gelir, indirim kalkar, hayat devam eder. Sahada olan şey ise bambaşkadır. Bitiş saati geçer ama ana sayfadaki şerit hâlâ «Son 3 gün» yazar, kategori listesinde üstü çizili fiyat durur, sepete daha önce eklenmiş üründe eski tutar hesaplanır ve gece 02.40'ta biri o linki bulup kuruş kârla yüzlerce kod çeker.

Çoğu kişi bunun bir dikkatsizlik olduğunu düşünür; aslında bir mimari meselesidir. Bir dijital ürün satış scriptinde kampanya bitişi tek bir yerde değil, en az beş ayrı yerde aynı saniyede gerçekleşmek zorundadır: fiyat hesaplayıcıda, listeleme sorgusunda, önbellekte, sepet/sipariş doğrulamasında ve pazarlama yüzeylerinde. Bu beşinden biri gecikirse kampanya «bitmiş» görünür ama fiilen açık kalır. Aşağıda, kendi e-pin satış yazılımında bu zinciri nasıl kuracağını tek tek açıyorum.

5Kapanışın eşzamanlı gerçekleşmesi gereken katman sayısı
02:00-06:00Manuel kapanış hatalarının en çok gerçekleştiği saat aralığı
60 snSağlıklı bir kapanış döngüsü için önerilen maksimum gecikme
0Bitiş sonrası kabul edilmesi gereken indirimli sipariş sayısı

Kampanya Neden «Bitmez»? Sorun Takvimde Değil, Karar Katmanında

Kampanyayı bir tarih alanı olarak düşündüğün sürece bu sorun tekrar eder. Çünkü tarih pasif bir veridir; onu okuyup karar üreten yer ise fiyat motorudur. Eğer ürün kartı fiyatı A dosyasından, sepet fiyatı B dosyasından, ödeme özeti C dosyasından hesaplıyorsa üç ayrı doğruluk tanımın var demektir. Doğru kurulum tersidir: tüm yüzeyler tek bir fiyat çözücüye sorar, o çözücü kampanyanın geçerliliğini her istekte yeniden değerlendirir.

Bu yaklaşımın güzelliği şudur: kampanyayı kapatmak için hiçbir şey yapmana gerek kalmaz. Bitiş anı geldiğinde çözücü zaten «bu kural artık geçerli değil» der ve indirim kendiliğinden buharlaşır. Sana kalan iş sadece vitrini temizlemektir. Çoğu epin yazılım kurgusunda ise tam tersi olur: kampanya açılırken fiyatlar ürün tablosuna yazılır, bitişte de geri yazılması beklenir. Bir yazma işlemi yarım kalırsa indirim kalıcı hale gelir ve kimse fark etmez.

Otomatik Kapanış Üç Ayrı Kapıdır: Fiyat, Stok ve Görünürlük

Kapanışı tek bir anahtar sanmak en yaygın hatadır. Gerçekte üç bağımsız kapı vardır. Fiyat kapısı, indirimli tutarın artık uygulanmamasını sağlar. Stok kapısı, kampanyaya ayırdığın kontenjanın (örneğin 500 adet) tükenmesi durumunda tarih gelmeden kapanmayı sağlar. Görünürlük kapısı, banner, sayacı, kategori etiketi ve e-posta şablonlarındaki kampanya anlatısını kaldırır.

Bu üçünü ayırmak zorundasın, çünkü her biri farklı hızda çalışır. Fiyat kapısı milisaniye hassasiyetinde olmalı. Stok kapısı, eşzamanlı siparişlerde kilitleme gerektirir; aksi halde 500 adetlik kontenjandan 517 adet satarsın. Görünürlük kapısı ise önbelleğe takılır, dolayısıyla kapanışta önbellek anahtarlarının hedefli temizlenmesi gerekir. Sadece fiyatı kapatıp vitrini açık bırakmak en kötü senaryodur: müşteri indirim görüp sepette tam fiyat bulur, güven kaybedip çıkar.

Saat Dilimi ve Sunucu Zamanı: Kampanyaları Öldüren Sessiz Hata

«Kampanya 23:59'da bitiyor» cümlesi tek başına anlamsızdır. Hangi saate göre? Paylaşımlı barındırmada sunucu saati sıklıkla UTC'dir; yönetici panelinde girdiğin saat yerel kabul edilir; veritabanı bir başka dilimde damga atar. Sonuç: kampanya sen uyurken üç saat fazla açık kalır. Bu, hiçbir hata kaydına düşmeyen, sadece kâr marjında görünen bir sızıntıdır.

Doğru yaklaşım tek türlüdür: tüm zaman damgalarını UTC olarak sakla, kullanıcıya gösterirken yerel dilime çevir ve panelde kampanya kaydederken hangi dilime göre girildiğini açıkça yaz. Ayrıca bitiş saatini 23:59 yerine 00:00'a hizalamak, gece yarısı belirsizliğini ortadan kaldırır. Küçük bir detay gibi görünür; yüzlerce siparişte fark eden şey tam olarak budur.

Kapanış modeliNasıl çalışırGecikme riskiNe zaman tercih edilir
Fiyat yazma (destructive)Kampanya açılırken ürün fiyatı değiştirilir, bitişte geri yazılırYüksek — yarım kalan işlem kalıcı indirim bırakırTek seferlik, çok küçük katalog
Kural tabanlı çözücüFiyat her istekte kurala göre hesaplanırYok denecek kadar azStandart öneri — tüm katalog boyutları
Zamanlanmış görev (cron)Belirli aralıkla bitmiş kampanyalar taranıp pasife alınırAralık kadar (5-15 dk)Vitrin temizliği ve önbellek tazeleme
Olay tabanlı tetikKontenjan dolduğunda anında kapanırYokSınırlı stoklu kod kampanyaları
Karma (çözücü + cron + olay)Karar anlık, temizlik periyodik, kontenjan olaysalPratikte sıfırCiddi hacimli her operasyon

Cron mu, İstek Anında Değerlendirme mi? Cevap: İkisi de

Bu ikisi rakip değil, tamamlayıcıdır. İstek anında değerlendirme doğruluğu garanti eder: kimse bitmiş bir kampanyadan yararlanamaz, çünkü fiyat o anda hesaplanır. Zamanlanmış görev ise temizliği garanti eder: bitmiş kampanyaları pasife alır, ana sayfa bloklarını yeniler, önbelleği hedefli boşaltır, biten kampanyanın raporunu kapatır.

Zamanlanmış görevi kurarken iki şeye dikkat et. Birincisi, görevin yeniden çalıştırılabilir olması: aynı kampanyayı iki kez kapatmak hiçbir yan etki üretmemeli. İkincisi, çalıştığına dair kanıt bırakması. Sessiz çalışan bir görev, çalışmadığında da sessizdir. Her turda «şu kadar kampanya tarandı, şu kadarı kapatıldı» satırı yaz; böylece ölen bir görevi haftalar sonra değil aynı gün fark edersin.

Kampanya bitişi hatalarında zarar kalemlerinin dağılımı

  • Geç kapanan indirimden kâr kaybı 40%
  • Vitrin-sepet fiyat uyuşmazlığı & terk 30%
  • Kontenjan aşımı ve stok düzeltmesi 20%
  • Destek ve iade yükü 10%

Kapanış Sonrası Ne Olacak? Boşluk Bırakmayan Devir Planı

Kampanya bittiğinde ana sayfanda bir delik oluşur. Bu delik hem görsel hem psikolojiktir: dün «fırsat» olan yerde bugün boşluk vardır ve dönüşüm oranı düşer. Profesyonel operasyonlar bu yüzden kampanyayı kapatmaz, devreder. Biten kampanyanın yerine otomatik olarak bir sonraki teklif, «en çok satanlar» bloğu ya da sürekli geçerli bir avantaj (örneğin toplu alım kademesi) girer.

Bunu e-pin satış scripti tarafında kurmak için kampanyalara öncelik sırası ver ve «varsayılan vitrin» tanımla. Aktif kampanya yoksa varsayılan devreye girsin. Böylece unuttuğun bir hafta bile vitrinini boş bırakmaz. Ayrıca biten kampanyanın linkine gelen ziyaretçiyi 404'e düşürmek yerine ilgili kategoriye ya da güncel teklife yönlendir; hem arama motoru hem müşteri tarafında kazançlı çıkarsın.

Sepet içindeki eski fiyatı asla güvenme

Sepet, kullanıcının tarayıcısında saatlerce açık kalabilir. Ödeme başlatılırken fiyatı yeniden hesapla ve sepetteki tutarla uyuşmazsa kullanıcıya nazik bir uyarı göster. Bu tek kontrol, kampanya sonrası sömürünün büyük bölümünü kapatır.

Denetim İzi: «O İndirimi Açık Kim Bıraktı?» Sorusunun Cevabı

Tek kişilik bir operasyondaysan bu bölümü atlamak isteyebilirsin; atlama. Kampanya kayıtlarına kim ne zaman hangi alanı değiştirdi bilgisini yazmak, sorunu çözmenin değil tekrarını önlemenin yoludur. Bir bitiş tarihi elle uzatıldığında, bir kontenjan yükseltildiğinde, bir kampanya yeniden aktifleştirildiğinde bunun izi kalmalı.

Buna bir de ön izleme ekle: kampanya kaydedilmeden önce «şu ürünlerde şu fiyatlar oluşacak, en düşük marj yüzde şu» özeti göster. Marj eşiğinin altına düşen bir kalem varsa kaydı engelle. Bu tek doğrulama, yüzde 20 yerine yanlışlıkla yüzde 200 indirim girilen o klasik kazayı tarihe gömüyor. İyi bir dijital ürün satış yazılımının işi sana özgürlük vermek değil, pahalı hataları imkânsız kılmaktır.

KontrolNasıl test edilirBeklenen sonuçDurum
Bitiş saatinden 1 dk sonra fiyatSunucu saatini ileri alıp ürün kartı + sepet + ödeme özeti karşılaştırÜç yüzeyde de liste fiyatıZorunlu
Eski sepetle ödemeKampanya bitmeden sepete ekle, bittikten sonra ödemeye geçFiyat güncellenir, kullanıcı bilgilendirilirZorunlu
Kontenjan sınırıKalan 2 adette eşzamanlı 5 sipariş deneEn fazla 2 sipariş geçerZorunlu
Vitrin temizliğiBitişten 5 dk sonra ana sayfa & kategori taraBanner, sayacı, etiket kalkmışYüksek
Önbellek tazelemeÖnbellekli sayfayı çerezsiz tarayıcıda açGüncel fiyat görünürYüksek
Zamanlanmış görev sağlığıSon çalışma damgasını kontrol etSon 15 dk içinde çalışmışYüksek
Devir planıTüm kampanyaları pasife alVarsayılan vitrin devreye girerOrta
Marj eşiğiPanelde açıkta zarar yazacak indirim girKayıt engellenirOrta

Kampanyalarını kendi kendine kapanan bir sisteme devret

Pinova, kural tabanlı fiyat çözücüsü, kontenjan kilitleri ve zamanlanmış vitrin temizliğiyle kampanya bitişini senin hatırlamana bırakmaz. Özellik listesini ve lisans seçeneklerini incele.

Kampanya bitişi için cron kurmak zorunlu mu?

Doğruluk için zorunlu değil — fiyat her istekte kurala göre hesaplandığında bitmiş kampanya zaten uygulanmaz. Ama vitrin temizliği, önbellek tazeleme ve rapor kapanışı için zamanlanmış bir görev şiddetle önerilir.

Kontenjan dolarsa kampanya tarihinden önce kapanmalı mı?

Evet. Sınırlı kodlu kampanyalarda kontenjan birincil sınırdır. Eşzamanlı siparişlerde aşım yaşamamak için stok düşümü sipariş kaydıyla aynı işlemde ve kilitli yapılmalıdır.

Sepetteki eski indirimli fiyatı müşteriye vermek daha mı iyi?

Kısa vadede jest gibi görünür, uzun vadede istismara açık kapı bırakır. Doğrusu ödeme anında yeniden hesaplamak ve fark oluştuysa şeffaf bir uyarı göstermektir. İstersen dar bir tolerans süresi tanımlayabilirsin.

Saat dilimi karmaşasını en hızlı nasıl çözerim?

Tüm damgaları UTC sakla, arayyüzde yerel dilime çevir, panelde hangi dilime göre giriş yapıldığını yaz ve bitiş saatlerini gece yarısına hizala. Bu dört adım vakalarin neredeyse tamamını kapatır.

Kampanya yönetimi, disiplinden çok mimari ister: doğru kurulmuş bir sistemde kapanışı hatırlamak zorunda kalmazsın, çünkü sistem zaten hatırlar. Bu zincirin gerçekten nasıl çalıştığını kendi elinle görmek istersen canlı demo üzerinden bir kampanya kur, bitiş saatini beş dakika sonrasına al ve fiyatın üç yüzeyde birden nasıl düzeldiğini izle — anlatılan her şeyi tek oturumda test edebilirsin.

Daha Fazlasını Keşfedin

Dijital ürün satışı ve otomasyon üzerine güncel rehberlere göz atın.

Tüm Yazıları Gör →
Bu yazıyı paylaşın
Bu yazıyı beğendiniz mi?
Teşekkürler!
← Tüm yazılar