Akinon
Project Zero ve Omnife Next
Akinon, aynı public yolların arkasında iki farklı çalışma zamanı barındırır. Kurulum ve veri okuma, hangisinde olduğunuza göre değişir. Bu sayfa script'i, veri katmanını ve sayfa türünü anlatır; sepete ekleme, sipariş ve kullanıcı kimliği için Akinon Sepet ve Sipariş, ürün beslemesi için Akinon Besleme Şablonu sayfasına geçin.
İki yığın
| Yığın | Nedir | Nasıl anlaşılır |
|---|---|---|
| Project Zero | Django tabanlı klasik storefront | Proje klasöründe manage.py vardır; sayfada window.GLOBALS bulunur |
| Omnife Next | @akinon/next tabanlı Next.js storefront | @akinon/next bağımlılığı, pz- önekli elementler, akinoncloud.com kaynakları |
Script kurulumu
Aşağıdaki parçayı tüm sayfalara ekleyin. SITE_KEY yerine Kanallar → Kanal Özeti → Setup (Channels → Channel Overview) bölümündeki anahtarı yazın.
<link rel="preconnect" href="https://widget.selwise.com" crossorigin>
<link rel="preconnect" href="https://api.selwise.com" crossorigin>
<script>window.Selwise=window.Selwise||{};window.Selwise.q=window.Selwise.q||[];['track','trackOrder','identify','setTraits','pushDataLayer','grantConsent','revokeConsent','showConsentPreferences','withdrawConsent','endJourney'].forEach(function(m){if(!window.Selwise[m])window.Selwise[m]=function(){window.Selwise.q.push([m,arguments])}});</script>
<script async src="https://widget.selwise.com/client.js" data-site-key="SITE_KEY"></script>
| Yığın | Yer |
|---|---|
| Project Zero | templates/layout/base.html, head içinde, GTM parçasının üstünde |
| Omnife Next | Omnitron'daki external-gtm CMS widget'ının head alanı (deploy gerektirmez) ya da kök layout'un head bölümü |
external-gtm yolu, incelenen Omnife Next projelerinde kök layout'un o widget'ın ham HTML'ini basmasına dayanır; kendi projenizde doğrulayın. Verify Now ham HTML'e baktığından etiket sunucu tarafından basılmalıdır.
Bir Selwise kanalı tek alan adı, tek para birimi ve tek besleme taşır. Aynı koddan birden çok pazar servis ediyorsanız pazar başına ayrı kanal açın ve anahtarı alan adından seçin; bilinmeyen bir alan adında hiçbir şey yüklemeyin, yoksa test ziyaretleri üretim cirosuna yazılır.
Veri katmanı ayarı
Ayarlar → Entegrasyonlar → Data Layer Configuration (Settings → Integrations) ekranında:
- Enable Data Layer (Data Layer'ı Etkinleştir) açık olsun; varsayılan kapalıdır.
- E-commerce Platform Preset olarak Akinon seçin.
- Use External Data Layer açık, External Data Layer Name
dataLayerkalsın. - Save Changes ile kaydedin.
Hazır olay eşlemesi
Project Zero'nun standart GTM adaptörü olayları Enhanced Ecommerce biçiminde yazar ve üç farklı anlamı aynı adla gönderir; anlam ecommerce içindeki eylem anahtarındadır. Akinon ön ayarı bunu bilir:
| Mağazanın olayı | Selwise olayı |
|---|---|
eeEvent + ecommerce.detail | product_view |
eeEvent + ecommerce.click | product_click |
eeEvent + ecommerce.impressions | product_impression |
eeCart + ecommerce.add | add_to_cart |
eeCart + ecommerce.remove | remove_from_cart |
eeCheckout adım 1 | cart_view |
eeCheckout adım 2 | checkout_begin |
eeCheckout adım 3 ve 4 (ve diğer adımlar) | checkout_progress |
eepurchase | purchase |
Eşlemeye girmeyenler: promosyon olayları (promoView, promoClick), gaEvent (giriş ve kayıt) ve GA4 adları (view_item, add_to_cart, purchase, search, login). Bu yüzden:
- Omnife Next mağazanız olayları GA4 adlarıyla yazıyorsa Selwise bunları
dataLayerüzerinden kendiliğinden okumaz. Ürün görüntüleme yine sayfadan okunur; sepet ve ödeme olaylarınıwindow.selwiseLayer.pushile gönderin (Veri Katmanı). - Giriş, kayıt ve arama için Akinon Sepet ve Sipariş sayfasındaki yöntemleri kullanın.
Kitteki eeEvent shim'i ile birlikte kurmayın
Selwise Akinon entegrasyon kitindeki selwise-ee-shim.js, olayları GA4 adlarıyla özel bir katmana yansıtır ve External Data Layer Name değerinin değiştirilmesini ister. Bugünkü hazır eşleme GA4 adlarını içermediğinden bu yolla olayların çoğu okunmaz. dataLayer'ı olduğu gibi bırakıp ön ayara güvenin.
Sayfa türü
Panelin varsayılan desenleri Akinon yollarının yalnızca bir kısmını tanır: /baskets/basket sepet, /orders/checkout ödeme, /product/123/ ürün olarak bulunur; /list/?search_text= arama ve /category/12/ kategori olarak bulunmaz. Sayfa türü ayrıca ürün sayfasındaki pz-add-to-cart, [data-product-code] ve .product-detail gibi ayırt edicilerden de çıkarılır; ürün için bu çoğu zaman yeterlidir.
Ayarlar → Entegrasyonlar → Data Layer Configuration → Page Type Patterns (Settings → Integrations) alanlarına, Akinon'un sabit yollarına göre doğrulanmış şu desenleri yazın:
Home: ^/(?:[a-z]{2}(?:-[a-z]{2})?/)?$
Product: /(?:product|products|group-product|bundle-product)/
Category: /(?:category|categories|landing-page)/
Search: /list/?\?(?:[^&]*&)*search_text=
Cart: /(?:baskets/basket|basket)(?:/|$|\?)
Checkout: /orders/checkout
Account: /(?:account|users/(?:orders|profile|auth))
Arama deseni sorgu parametresini ister: parametresiz /list/ bir kategori listesidir. Ürün ve kategori adresleri Omnitron'da mağaza başına serbestçe yeniden yazılabilir; mağazanız -p-123 gibi özel bir adres düzeni kullanıyorsa ürün ve kategori desenine onu da ekleyin.
Kurulumu doğrulama
- Mağaza kaynağında
data-site-keydeğerini görün ve Verify Now'a basın. - Channel Overview → Data flow satırında olay sayısı artmalıdır.
- Data Layer Configuration → View Events listesinde bir ürün sayfası gezdikten sonra
product_view, sepete ekledikten sonraadd_to_cartgörünmelidir. - Mağazanın konsolunda
localStorage.setItem('selwise_debug', 'true')yazıp sayfayı yenileyin; eşlenen her olay konsola yazılır.
Sık yapılan hatalar
- Enable Data Layer kapalı kalmıştır; hiçbir olay gelmez.
- Omnife Next mağazasında GA4 adlarına güvenilmiştir; yukarıdaki not.
eeEventsayfa içindedataLayeryerine başka bir değişkene yazılmaktadır; External Data Layer Name o adı taşımalıdır.
İmzalı kimlik (isteğe bağlı)
Akinon vitrini sunucu tarafında çalıştığı için müşteri numarasını sunucuda imzalayıp veri katmanındaki user nesnesine idHash / idHashTs olarak ekleyebilirsiniz. Kanal sırrı yalnızca sunucuda durmalıdır. Ayrıntı ve örnekler: İmzalı Kimlik.
Mobil uygulama
Akinon mobil uygulamaları için ayrı bir SDK vardır: Mobil SDK. Uygulama içindeki WebView ödeme akışı ayrıca köprülenmelidir: WebView Köprüsü.
Son güncelleme: 23 Ekim 2026
