Belirti kafa karıştırıcıdır, çünkü geri kalan her şey düzgün görünür. Mağaza sipariş alıyor, raporlar doluyor, GA4 satın almaları gösteriyor. Aynı sayfada bir dataLayer denetçisi açıp ödeme adımının ne push’ladığına bakıyorsunuz ve liste boş. Yanlış değil — boş.
Bu soruya verilen hemen her cevap bir hata varsayar: container eksiktir, snippet push’un üstündedir,
katmanın adı başkadır. Bazen bunlardan biridir. Yaygın kullanılan dört platformda ise hiçbiri değildir
ve window.dataLayer’a ne kadar bakarsanız bakın değişmez, çünkü event’ler orada değil.
dataLayer tek veri katmanı değil
dataLayer’ı okuyan bir eklenti, üst pencerede tek bir diziyi okuyor demektir. Bu gelenek
GTM’e ait. Diğer yığınlar onu hiç benimsemedi:
- Tealium event’leri
utag.view()veutag.link()ile taşır — dizi değil, fonksiyon çağrısı. Birutag_datanesnesi vardır ama o sayfa değişkenlerini tutar, olan biteni sırasıyla değil. - Adobe Launch
_satellite.track()ve kendi kurallarını kullanır. - Adobe CEDDL
digitalData’yı, daha yenisi Adobe Client Data Layer iseadobeDataLayer.push()’u kullanır — dizi, ama başka bir dizi. - Commanders Act
tc_varsvetC.eventkullanır.
Tealium’lu bir sitede boş liste gösteren panel doğruyu raporlamıyordur. Doğru şu: event’ler var ve
başka bir yoldan gidiyor. Tag Master bulduğu yabancı katmanı adıyla söylüyor ve ne gönderdiğini
yazıyor — Tealium, utag.view() ve utag.link() üzerinden — sizi
yorumlanacak boş bir listeyle bırakmak yerine. Adobe Launch’ta bir adım daha ileri gidip, Adobe’nin
tam da bunun için yayınladığı monitor kancasıyla çalışan kuralları okuyor.
En zoru Shopify, en yaygını da o
Shopify takibi Web Pixels’e taşıdı: kendi olay yolu ve kendi dataLayer’ı olan
yalıtılmış bir çerçevede çalışan küçük betikler. product_added_to_cart,
checkout_started ve checkout_completed orada dağıtılır. Üst pencereye
ulaşmazlar ve sayfada çalışan hiçbir şey onlara abone olamaz — ne bu eklenti, ne başkası. Bu, yalıtımın
tasarlandığı gibi çalışmasıdır.
Ödeme adımı işi daha da zorlaştırıyor, çünkü Shopify’ın checkout’u her zaman ayrı bir bağlam oldu.
Yani kurulumların en çok önemsediği event olan purchase, aynı zamanda sayfayı okuyan her
şeyin en uzağındaki event.
İstisna, Elevar ya da benzeri bir aktarıcı çalıştıran mağazalar: yalıtılmış çerçevenin
event’lerini sayfaya dl_purchase, dl_add_to_cart ve benzeri adlarla yeniden
yayınlarlar. Bu isimler görünüyorsa katman aktarılıyor demektir ve siz bir kopyayı okuyorsunuz — iyi bir
kopya, ama başka bir yazımla.
Onun yerine nereden okunur
Bu platformların hepsinde event’ler yine ağ isteğine dönüşür ve istekler, ağı izleyen bir hata
ayıklayıcıdan yalıtılarak saklanamaz. GA4’ün ne aldığı /g/collect hit’inde, Meta’nın ne
aldığı /tr çağrısında yazıyor. Push gizli; sonucu değil.
Dolayısıyla yöntem tersine döner. Push’u okuyup tag’in ona uyduğunu doğrulamak yerine, hit’i okuyup taşıması gerekeni taşıyıp taşımadığına geri gidersiniz: doğru event adı, bir değer, bir para birimi, bir işlem kimliği. Bir GA4 hit’ini parametre parametre okumak bu mağazalardaki tüm beceridir ve sayfanın ne gönderdiğini listelemek de işe başlamadan önce hangi platformların devrede olduğunu öğrenme yoludur.
Hata aramaya çıkmadan önce
- Sitenin gerçekte hangi katmana sahip olduğunu doğrulayın.
window.utag,window._satellite,window.adobeDataLayer,window.Shopify— her biri konsolda tek satır ve cevap, bundan sonra ne yapacağınızı değiştirir. - Aktarıcısız bir Shopify ise push aramayı bırakın. Ağa geçin.
- Tealium ya da Launch ise event’ler sağlayıcının kendi debug konsolundadır; o konsol zaten açık olan sekme için açılabilir.
- Ancak bundan sonra, site gerçekten
dataLayer’lı bir GTM sitesiyse, boş listeyi peşinden gidilecek bir hata olarak görün.
Boş bir denetçi, event’lerin nerede olduğuna dair bir olgudur; var olup olmadıklarına dair bir hüküm değil. Yukarıdaki mağazalar, hangisine baktığınızı kontrol etme sebebidir.
Sorular
Shopify dataLayer’ım neden boş?
Çünkü Shopify’ın Web Pixels’leri kendi dataLayer’ı olan yalıtılmış bir çerçevede çalışır. product_added_to_cart ve checkout_completed üst pencereye hiç ulaşmaz; sayfada çalışan hiçbir eklenti — bu da dahil — onları göremez. Ürettikleri istekler ise ağda durmaya devam eder.
Ödeme adımının takibi gerçekten görünmez mi?
Push’lar görünmez. Shopify’ın ödeme adımı her zaman kendi bağlamında çalıştı ve Web Pixels bunu kurallı hâle getirdi. Pixel’lerin dışarı gönderdiği şey ise sıradan ağ trafiğidir ve tamamen okunabilir; Shopify mağazasında cevabın katman yerine hit’lerden geçmesinin sebebi budur.
Peki Tealium ve Adobe?
İkisi de dizi kullanmıyor. Tealium event’leri utag.link() ve utag.view() ile, Adobe Launch ise _satellite.track() ile gönderir. Bunlar fonksiyon çağrısıdır; hiçbir dataLayer adı listesi onlara ulaşmaz. Tek istisna Launch: Adobe’nin yayınladığı monitor kancasıyla çalışan kuralları okunabilir.
Boş dataLayer takibin bozuk olduğu anlamına mı gelir?
Hayır ve böyle varsaymak pahalıya patlar. Bir mağaza window.dataLayer tamamen boşken beş platforma kusursuz bir satın alma gönderiyor olabilir. Katman hakkında hüküm vermeden önce ağa bakın.
Bu kümenin geri kalanı: Mağazalar ve veri katmanları
Mağazalar ve veri katmanları kümesinin tamamı
Kendi sitenizde deneyin
Tag Master ücretsizdir, hesap istemez ve hiçbir veri toplamaz.
Chrome'a Ekle — Ücretsiz