Ön Koşullar
Başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun:- Vendo uygulamasının yüklü olduğu bir Shopify mağazası
- OneSignal hesabı ve uygulaması (Web platformu)
- OneSignal App ID’niz (gerekli)
- OneSignal REST API Key’iniz (sipariş senkronizasyonu ve kullanıcı etiketleme gibi sunucu taraflı etkinlikler için gerekli)
OneSignal Kurulumu
OneSignal uygulaması oluşturun
onesignal.com’a giriş yapın ve bir uygulama oluşturun veya seçin. Platform olarak Web’i, entegrasyon türü olarak Custom Code’u seçin.
Web push ayarlarını yapılandırın
OneSignal uygulamanızda Settings > Push & In-App > Web Settings’e gidin veya Web push kurulumu kılavuzunu takip edin.Site Kurulumu
- Site Name: Mağaza adınız; varsayılan bildirim başlığı olarak kullanılır.
- Site URL: Shopify mağazanızın genel erişilebilir URL’si (örn.
https://yourstore.com).- Sitenizin tam kaynağı olmalıdır.
- Müşteriler sitenize
https://your-site.com/gibi özel bir alan adı üzerinden erişiyorsahttps://your-site.myshopify.com/kullanmayın.
- Default Icon URL: Bildirim istemleri ve mesajları için 256x256px kare bir PNG veya JPG resim yükleyin. Ayarlanmazsa zil simgesi kullanılır.
Service Worker yolunu yapılandırın
Shopify, site kökünden dosya sunmaya izin vermediği için OneSignal’a Vendo’nun service worker dosyasını nerede sunduğunu belirtmeniz gerekir.OneSignal’da Settings > Push & In-App > Web Settings’e gidin, Advanced Push Settings’e kadar aşağı kaydırın ve şunları yapılandırın:

Vendo, gerekli
| Ayar | Değer |
|---|---|
| Service Worker Path | /apps/vendo/ |
| Service Worker Filename | OneSignalSDKWorker.js |
| Updater Filename | OneSignalSDKWorker.js |
| Service Worker Registration Scope | /apps/vendo/ |

OneSignalSDKWorker.js dosyasını https://yourstore.myshopify.com/apps/vendo/OneSignalSDKWorker.js adresinde otomatik olarak sunar — manuel dosya yüklemesi gerekmez.Updater Filename ve Service Worker Filename aynı dosyadır. OneSignal v16+, her iki amaç için de tek bir service worker kullanır.
Kimlik bilgilerinizi kopyalayın
OneSignal’da Settings > Keys & IDs’e gidin ve App ID’nizi ile REST API Key’inizi kopyalayın. Bunları Vendo’ya gireceksiniz.
Vendo Kurulumu
OneSignal entegrasyonunu ekleyin
Vendo’da Integrations > Add Integration > OneSignal’a (veya Destinations > OneSignal’a) gidin.

OneSignal kimlik bilgilerinizi girin
Önceki bölümdeki OneSignal App ID’nizi ve REST API Key’inizi girin, ardından Save’e tıklayın.
Vendo tema bloğunu etkinleştirin
Vendo tema bloğu, mağazanıza OneSignal SDK’sını yükler. Bu olmadan push istemi görünmez ve istemci taraflı izleme çalışmaz.
- Shopify yönetici panelinizde Online Store > Themes > Customize’a gidin.
- App embeds’e tıklayın (sol kenar çubuğundaki yapboz parçası simgesi).
- Vendo’yu açın.
- Save’e tıklayın.
Senkronize edilecek etkinlikleri seçin
Vendo uygulamasında OneSignal > Events altında, OneSignal’a göndermek istediğiniz istemci taraflı ve sunucu taraflı etkinlikleri etkinleştirin. Tam etkinlik listesi için aşağıdaki İzleme bölümüne bakın.
İzleme
Kullanıcı Tanımlama
Vendo yalnızca tanımlanmış kullanıcı yaklaşımını kullanır — anonim ziyaretçiler OneSignal’da izlenmez. Etkinliklerin gönderilebilmesi için kullanıcıların dört yöntemden biriyle tanımlanması gerekir. Bu, yinelenen kullanıcıları önler ve temiz, eyleme geçirilebilir veriler sağlar.| Yöntem | Nasıl çalışır | Kullanılan tanımlayıcı |
|---|---|---|
| Web push aboneliği | Ziyaretçi push isteminde “İzin Ver”e tıklar. OneSignal otomatik olarak bir kullanıcı oluşturur ve Vendo OneSignal ID’yi yakalar. | OneSignal ID |
| Bülten kaydı | Ziyaretçi bülten veya e-posta formu gönderir. Vendo e-postayı yakalar ve OneSignal.login(email) çağırır. | |
| Müşteri girişi | Müşteri Shopify hesabına giriş yapar. Vendo bunu algılar ve yapılandırılmış tanımlayıcıyla OneSignal.login() çağırır. | Shopify Customer ID veya Email |
| Ödeme tamamlandı | Müşteri satın alma işlemini tamamlar. Vendo tanımlayıcıyı depolar ve OneSignal.login() çağırır. | Shopify Customer ID veya Email |
Kimlik Birleştirme
Bir push abonesi (OneSignal ID ile tanımlanan) daha sonra giriş yapar veya satın alma işlemini tamamlarsa, Vendo Shopify Customer ID veya e-postasıylaOneSignal.login() çağırır. OneSignal, push aboneliğini tanımlanan kullanıcıya bağlar — yinelenen kullanıcı oluşturulmaz. Tüm geçmiş push abonelikleri korunur ve sunucu taraflı etkinlikler (siparişler, karşılamalar) doğru kullanıcı profiline ulaşır.
Müşteri Etiketleri
Vendo, segmentasyon için müşteri özelliklerini OneSignal’daki etiketler olarak senkronize eder. Tüm değerler dize olarak saklanır (OneSignal’ın yerel formatı).| Etiket | Açıklama |
|---|---|
email | Müşteri e-postası |
first_name | Ad |
last_name | Soyad |
total_spent | Toplam harcama |
order_count | Toplam sipariş sayısı |
verified_email | "true" veya "false" |
tax_exempt | "true" veya "false" |
marketing_state | Pazarlama onay durumu |
first_order_date | İlk sipariş tarihi (ISO 8601) |
last_order_date | En son sipariş tarihi (ISO 8601) |
customer_created_at | Müşteri oluşturma tarihi |
customer_tags | Virgülle ayrılmış Shopify etiketleri |
email_marketing_consent | Pazarlama opt-in durumu |
İstemci Taraflı Etkinlikler
Vendo, Shopify Web Pixel aracılığıyla mağazanızdaki istemci taraflı özel etkinlikleri izler ve OneSignal’a gönderir. Bu etkinlikler yalnızca bir kullanıcı tanımlandıktan sonra gönderilir.| Etkinlik | Açıklama |
|---|---|
page_viewed | Müşteri bir sayfayı ziyaret eder (mağaza, ödeme veya sipariş durumu) |
product_viewed | Müşteri ürün detay sayfasını görüntüler |
collection_viewed | Müşteri ürün koleksiyon sayfasını görüntüler |
search_submitted | Müşteri mağazada arama yapar |
product_added_to_cart | Sepete ürün eklendi |
product_removed_from_cart | Sepetten ürün kaldırıldı |
cart_viewed | Müşteri sepet sayfasını görüntüler |
checkout_started | Müşteri ödemeyi başlatır |
checkout_contact_info_submitted | İletişim bilgileri adımı gönderildi |
checkout_address_info_submitted | Adres bilgileri adımı gönderildi |
checkout_shipping_info_submitted | Kargo yöntemi seçildi |
payment_info_submitted | Ödeme bilgileri gönderildi |
checkout_completed | Ödeme başarıyla tamamlandı |

Sunucu Taraflı Etkinlikler
Shopify ticaret etkinlikleri, Vendo ardışık düzeni aracılığıyla dışa aktarılır ve OneSignal’a iletilir. Bunlar her zaman Shopify Customer ID’yiexternal_id olarak kullanır.
| Etkinlik | Açıklama |
|---|---|
received_orders | Yeni sipariş oluşturuldu |
fulfilled_orders | Sipariş karşılandı/sevk edildi |
delivered_orders | Sipariş teslim edildi |
refunded_orders | Sipariş tamamen iade edildi |
partially_refunded_orders | Sipariş kısmen iade edildi |
abandoned_checkouts | Ödeme terk edildi |

Ortak Etkinlik Özellikleri
Tüm etkinlikler şu özellikleri içerir (dize olarak):| Özellik | Açıklama |
|---|---|
order_id | Görüntülenen sipariş tanımlayıcısı |
shopify_order_id | Shopify dahili sipariş ID’si |
email | Müşteri e-postası |
currency | Sipariş para birimi |
source | Etkinlik kaynağı |
version | Entegrasyon sürümü |
Veri Senkronizasyon Sıklığı
| Veri türü | Senkronizasyon sıklığı |
|---|---|
| Müşteri etiketleri | Her 4–6 saatte bir |
| Sipariş etkinlikleri | Neredeyse gerçek zamanlı (dakikalar içinde) |
| Terk edilmiş sepetler | Her 1–2 saatte bir |
| Karşılama etkinlikleri | Neredeyse gerçek zamanlı |
Platform Ayrıntıları
| Ayar | Değer |
|---|---|
| Senkronizasyon yöntemi | Vendo aracılığıyla istemci + sunucu taraflı |
| Kimlik | Shopify Customer ID, Email veya OneSignal ID |
| Yineleme giderme | Etkinlik başına UUID v5 karma |
| Toplu iş boyutu | İstek başına 1.000 etkinlik |
| Veri formatı | Tüm değerler dize olarak saklanır |
Kullanım Senaryoları
Terk Edilmiş Sepet Kurtarma
abandoned_checkouts etkinliğiyle tetiklenen bir Journey oluşturun. Terk ettikten 1 saat sonra checkout_url özelliğini kullanarak kurtarma bağlantısı içeren bir push bildirimi gönderin.
Sipariş Durumu Güncellemeleri
fulfilled_orders ve delivered_orders için Journey’ler oluşturarak siparişler sevk edildiğinde ve ulaştığında takip bilgileriyle anında push bildirimleri gönderin.
VIP Müşteri Etkileşimi
total_spent belirli bir eşiğin üzerinde olan bir segment oluşturun, ardından first_name etiketiyle kişiselleştirilmiş özel teklifler gönderin.
Yeniden Etkileşim Kampanyaları
last_order_date 90 günden eski olan bir segment oluşturarak pasif müşterileri hedefleyin ve geri kazanma kampanyaları gönderin.
Uyumlu Kaynaklar
OneSignal, aşağıdaki Vendo veri kaynaklarıyla çalışır:| Kaynak | Etkinlikler | Kullanıcı etiketleri | Kitleler |
|---|---|---|---|
| Shopify | Evet | Evet | Evet |
| Stripe | Evet | Evet | Evet |
| Mixpanel | — | — | Evet |
| Segment | — | — | Evet |
| Amplitude | — | — | Evet |
Test
Service Worker'ı doğrulayın
Tarayıcınızda
https://yourstore.myshopify.com/apps/vendo/OneSignalSDKWorker.js adresini ziyaret edin. JavaScript kodu görmelisiniz. 404 alırsanız Vendo uygulamasının yüklü olduğunu doğrulayın.Ayrıca tarayıcı DevTools’u açabilir (F12), Application > Service Workers’a gidebilir ve OneSignalSDKWorker.js’nin /apps/vendo/ kapsamıyla kayıtlı olduğunu doğrulayabilirsiniz.Push istemini test edin
Mağazanızı gizli/özel bir pencerede açın. OneSignal bildirim izni istemini görmelisiniz. Abone olmak için İzin Ver’e tıklayın.
Test bildirimi gönderin
OneSignal panosunda Messages > Push > New Message’a gidin. Abonecinize bir test bildirimi gönderin ve göründüğünü doğrulayın.
OneSignal'daki kullanıcı verilerini doğrulayın
Audience > Subscriptions’a gidin ve test aboneliğinizin göründüğünü doğrulayın. Tanımlanmış kullanıcılar için kullanıcı etiketlerinin (e-posta, ad, vb.) senkronize edildiğini kontrol edin.
Sorun Giderme
Service Worker 404 döndürüyor
Service Worker/apps/vendo/OneSignalSDKWorker.js konumunda olmalıdır. Kök yolda (/OneSignalSDKWorker.js) 404 hatası görürseniz, service worker yolu OneSignal’da yapılandırılmamıştır — service worker yapılandırma adımını takip edin. 404 /apps/vendo/ yolundaysa Vendo uygulamasının yüklü ve tema bloğunun etkin olduğunu doğrulayın.
Push istemi görünmüyor
App embeds’te Vendo tema bloğunun etkin olduğunu kontrol edin. Tarayıcınızın bildirimlere izin verdiğini doğrulayın (adres çubuğundaki kilit simgesine tıklayın). İstem önceden reddedilmiş olabileceği için gizli/özel pencerede deneyin.Etiketler OneSignal’da görünmüyor
Etiketler yalnızca tanımlanmış kullanıcılar için senkronize edilir — anonim ziyaretçiler izlenmez. Kullanıcının push aboneliği, giriş, bülten kaydı veya ödeme yoluyla tanımlandığından emin olun. İlk etiket senkronizasyonları birkaç saat sürebilir.Etkinlikler tetiklenmiyor
Etkinliklerin Vendo uygulamasında OneSignal > Events altında etkinleştirildiğini doğrulayın. İstemci taraflı etkinlikler Shopify Web Pixel’in etkin olmasını ve kullanıcının tanımlanmış olmasını gerektirir. Sunucu taraflı etkinlikler REST API Key’in yapılandırılmış olmasını gerektirir.Bildirimler “Teslim Edildi” gösteriyor ama görünmüyor
Entegrasyon çalışıyor — sorun tarayıcı veya işletim sistemi bildirim ayarlarınızdadır. Tarayıcınız için işletim sistemi bildirim ayarlarınızı kontrol edin, Rahatsız Etme / Odaklanma modunun kapalı olduğundan emin olun ve tarayıcı düzeyindeki bildirim izinlerini doğrulayın.SSS
Kurulumdan sonra müşteri tanımlayıcısını değiştirebilir miyim?
Evet. Vendo uygulamasında Settings > Customer Identifier altındaki ayarı güncelleyin. Mevcut kullanıcılar önceki yöntemle zaten tanımlanmışsa tanımlayıcıyı değiştirmek ayrı kullanıcı profilleri oluşturabilir.Vendo entegrasyonu mobil uygulamaları destekliyor mu?
Vendo entegrasyonu Shopify mağazaları ve web push’a odaklanır. Mobil uygulamanız da varsa, kullanıcı profillerinin tutarlı kalması için Vendo’da seçtiğiniz tanımlayıcının mobil uygulamanızda kullandığınızla eşleştiğinden emin olun.Bir ziyaretçi hiç tanımlanmazsa ne olur?
Tanımlanmamış ziyaretçilerin etkinlikleri OneSignal’a gönderilmez. Ziyaretçi kendini tanımladığında (push aboneliği, giriş, bülten kaydı veya ödeme tamamlama), Vendo etkinlik göndermeye başlar. Bu yalnızca tanımlanmış kullanıcı yaklaşımı, yinelenen kullanıcıları önler ve temiz veriler sağlar.Vendo neden yalnızca tanımlanmış kullanıcı yaklaşımını kullanıyor?
Önceki sürümler, tanımlayıcı olarak Shopify’ın oturum çerezini kullanarak anonim ziyaretçileri izliyordu. Bu durum, hiçbir zaman düzgün birleştirilemeyen yinelenen OneSignal kullanıcıları oluşturarak şişirilmiş kullanıcı sayılarına ve parçalanmış verilere yol açıyordu. Yalnızca tanımlanmış kullanıcı yaklaşımı, her OneSignal kullanıcısının gerçek ve eyleme geçirilebilir olmasını sağlar.İlgili Sayfalar
Keys & IDs
OneSignal App ID’nizi ve REST API anahtarınızı bulun.
Özel etkinlikler
Kullanıcı davranışını izleyin ve Shopify etkinliklerine dayalı otomasyonlar tetikleyin.
Web push kurulumu
Shopify mağazanız için web push bildirimlerini ayarlayın.
Web izin istemleri
Ziyaretçilerden web push izni isteme zamanını ve yöntemini yapılandırın.
