Ön Koşullar
- HTTPS’yi destekleyen bir site.
- Sitenin container’ı için GTM’de değişiklikleri yayınlayabilmeniz.
- Tamamladınız: OneSignal Web SDK kurulumu akışını Siteye Kod Ekle adımına kadar. Bu size şunları sağlar:
- Bir OneSignal Web Push uygulaması ve App ID.
- OneSignal Service Worker kurulumu.
Kurulum
1. OneSignal web uygulamanızı kurun
Siteye Kod Ekle adımına ulaşana kadar Web SDK kurulumunu takip edin. OneSignal App ID’yi buradan alacaksınız.
2. GTM değişkenleri oluşturun
GTM etiketlerinde referans verebileceğiniz değerler için GTM değişkenleri oluşturun. Değişken kullanmak, değerlerin sabit kodlanmasını önler ve kurulumunuzun bakımını kolaylaştırır.ONESIGNAL_APP_ID değişkeni oluşturun
- GTM’de Variables > New kısmına gidin.
- Constant seçin.
- Adını
ONESIGNAL_APP_IDolarak belirleyin. - Değeri OneSignal App ID’niz olarak ayarlayın.
- Kaydedin.

Artık GTM’de herhangi bir yerde App ID’nizi
{{ ONESIGNAL_APP_ID }} kullanarak referans verebilirsiniz.ONESIGNAL_EXTERNAL_ID değişkeni oluşturun (Önerilen)
Kullanıcıları harici bir tanımlayıcı ile ilişkilendiriyorsanız bu değişkeni kullanın (örneğin, veritabanınızdan veya kimlik doğrulama sisteminizden bir kullanıcı ID’si).
Değerin sitenizde nasıl mevcut olduğuna göre değişken türünü seçin. Yaygın seçenekler:
- Data Layer Variable (önerilen)
- First-Party Cookie
- DOM Variable (gelişmiş)
3. OneSignal init etiketini oluşturun
- GTM’de Tags > New kısmına gidin.
- Etiketi adlandırın:
OneSignal - Init - Tag Type: Custom HTML
- Aşağıdaki kodu yapıştırın.
- Advanced Settings > Tag firing options altında Once per page olarak ayarlayın.
- Triggering altında Initialization - All Pages seçin.
HTML

4. External ID ve Etiketleri ayarlayın
External ID ayarlamak isteğe bağlıdır ancak önerilir çünkü cihazlar arasında kullanıcıları tanımlamanıza ve backend’inizle senkronize olmanıza olanak tanır. ONESIGNAL_EXTERNAL_ID’yi dataLayer’a gönderin Bu örnek, GTM’nin adım 2’de oluşturulanONESIGNAL_EXTERNAL_ID değişkeni aracılığıyla okuyabilmesi için bir kullanıcı ID’sini dataLayer’a nasıl gönderebileceğinizi gösterir.
HTML
- Etiket adı:
OneSignal – Set External ID - Etiket türü: Custom HTML
- Etiket tetikleme seçenekleri: Once per page
- Tetikleyici:
OneSignalInitializediçin özel olay tetikleyicisi oluşturun (yukarıdaki OneSignal - Init etiketinde ayarlanmıştır) ve- İsteğe bağlı olarak, kullanıcı ID’sinin sayfa yüklemesinde mevcut olduğunu biliyorsanız.
Veri Etiketlerini ayarlayın
Bu adım, Web SDK kullanarak OneSignal Kullanıcı Etiketlerini gönderir. Etiket yapılandırması:- Ad:
OneSignal - Add Tags - Etiket Türü: Custom HTML
- Etiket tetikleme seçenekleri: Once per page
- Tetikleyici:
OneSignalInitializedve- Etiket verilerinin mevcut olduğu koşulunuz (örneğin: giriş sonrası, profil sayfasında, satın alma sonrası).
HTML
Yalnızca kullanıcı verilerine sahip olduğunuzda etiketler gönderin (örneğin: giriş yaptıktan sonra, bir profil yüklendikten sonra veya bilinen bir dönüşüm olayından sonra).
Consent Mode ve gizlilik hususları
Siteniz Consent Mode / bir CMP kullanıyorsa, OneSignal’in ne zaman yüklenmesi gerektiğine karar verin:- Yalnızca onaydan sonra (AB/Birleşik Krallık için yaygın), veya
- Hemen (varsayılan olarak “işlevsel” depolamaya izin verilen yerlerde yaygın).
Test
- GTM’de Preview modunu açın.
- Sitenizi yükleyin ve onaylayın:
OneSignal - Initbir kez tetiklenir.OneSignalInitialized, GTM olay zaman çizelgesinde görünür (olay push’unu tuttuyseniz).
- Web sitenize abone olun. İstem ayrıntıları için Web izin istemleri’ne bakın.
- OneSignal panosunda Audience > Subscriptions’a gidin ve onaylayın:
- Kabul ettikten sonra bir Abonelik görünür.
- Bir External ID ayarladıysanız görünür olur.
- Messages > New Push’tan bir test push gönderin.
Başlatma çalışıyorsa, kabul ettikten sonra OneSignal’de aboneliklerin göründüğünü göreceksiniz.
Sorun Giderme
-
Init etiketi tetiklenir ancak SDK asla yüklenmez
- Content Security Policy (CSP)‘nin
https://cdn.onesignal.com’u engelleyip engellemediğini kontrol edin. - Reklam engelleyicileri/betik engelleyicileri kontrol edin.
- Content Security Policy (CSP)‘nin
-
dataLayerhataları- Herhangi bir
dataLayer.push()çağrısından öncewindow.dataLayer = window.dataLayer || []’nin ayarlandığından emin olun.
- Herhangi bir
-
Yinelenen istemler / yinelenen SDK yüklemesi
- OneSignal’i site kodu, bir CMS eklentisi veya başka bir GTM etiketi aracılığıyla da yüklemediğinizden emin olun.
-
Add Tags çalışır ancak OneSignal’de görünmez
- Trigger Group’un
OneSignalInitialized’i beklediğini onaylayın. - Kullanıcı eylem tetikleyicinizin gerçekten tetiklendiğini onaylayın.
- Etiketlerin geçerli anahtar/değer çiftleri olduğunu ve Plan limitleri içinde olduğunu onaylayın.
- Trigger Group’un