İçeriğe geçmek için "Enter"a basın

GTM’de Tanımlanmamış Değer Nasıl Kontrol Edilir?

GTM’de Tanımlanmamış Değer Nasıl Kontrol Edilir?

Bu yazımızda , Google Etiket Yöneticisi’ni kullanarak bir değişkenin Undefined (tanımsız ) olup olmadığını nasıl kontrol edeceğimizi öğreneceğiz .

Bir değişken undefined  ise, verilen ada sahip bir değişkenin şu anda bellekte geçerli bir değeri olmadığı anlamına gelir. JavaScript’te tipik  undefined kontrolü şu şekilde yapılır:

function checkIfUndefined(variable) {

  return typeof variable === ‘undefined’;

}

Google Tag Manager ile tetikleyicilerde JavaScript değerlendirmelerini çalıştıramazsınız. Bunun yerine, yukarıdaki kontrolü yapmak isterseniz, kontrol etmek istediğiniz değişkenin durumunu kontrol eden bir Özel JavaScript değişkeni oluşturmanız gerekecektir. Bu değişken, söz konusu değişkenin gerçekten tanımlanmamışsa true değerini döndürmelidir.

Ancak, daha kolay bir yöntem bulunmaktadır. Google Tag Manager sizin için biraz sihir yapar ve basit bir dize kontrolü kullanarak tanımlanmamış türünü kontrol etmenizi sağlar. Bu biraz alışılmadık gelebilir ve öyledir, ancak şu anda Ek Özel JavaScript değişkenine ekstra bir gezinti yapmaktan kaçınarak tanımlanmamış türünü kontrol etmenin en hızlı yolu budur.

Yöntem gerçekten basittir. Kontrolü gerçekleştirmek istediğiniz tetikleyicide, verilen değişkenin tanımlanmamış olmadığını kontrol eden yeni bir koşul oluşturmanız yeterlidir. Örneğin:

Bu tetikleyici, {{Sayfa Türü}} içindeki değer tanımlanmamışsa ateşlenir.

Bu yalnızca tanımlanmamış değişkenler için kontrol yapar. false, null, 0 veya NaN gibi diğer yanlış değerler için çalışmaz. Bunlar için ek kontrol yapmanız gerekebilir ve hatta bir düzenli ifade kullanabilirsiniz:

{{Değişken}} RegEx’e uymaz (büyük-küçük harf farkını yok sayarak) ^(undefined|null|0|false|NaN|)$

Yukarıdaki düzenli ifade, JavaScript’te tüm yanlış değerlerle eşleşir ve bu nedenle değişkenlerde potansiyel olarak geçersiz değerler için genel bir kontrol olarak kullanışlıdır.

GTM’nin yaklaşımında belirli sorunlar ortaya çıkabilir, örneğin, bir değişkenin değeri olarak gerçekten “undefined” kelimesini kullanıyorsanız. Bu geçerli bir dize değeri ve değişkenin tanımlanmamış değeri arasındaki farkı GTM’nin tetikleyicilerde ayırt etme şekli yoktur. Bu nedenle, kontrolü mümkün olduğunca sağlam ve açık şekilde yapmak için sonunda Ek Özel JavaScript değişkenine başvurmanız gerekecektir.

function() {

var kontrolEdilecekDeğişken = {{Bazı Değişken}};

return !!kontrolEdilecekDeğişken;

}

Yukarıdaki Ek Özel JavaScript değişkeni, değişkenin geçerli, yanlış olmayan (doğru) bir değere sahip olması durumunda true değerini döndürür; aksi takdirde false döndürür.

Bu arada, bu saçma doğru ve yanlış terimlerini ben uydurmadım. Programlamada kabul görmüş jargon terimleridir.

Bu tetikleyici, {{Sayfa Türü}} içindeki değer değilse tetiklenir undefined.

Bunun yalnızca undefineddeğişkenleri kontrol ettiğini unutmayın. , , veya gibi diğer yanlış değerler için çalışmaz . Bunlar için ek kontroller yapmanız gerekir ve hatta normal bir ifade bile kullanabilirsiniz:falsenull0NaN

{{Variable}}, RegEx ile eşleşmiyor (büyük/küçük harf yok say) ^(undefined|null|0|false|NaN|)$

Bu sahte değerlerin tümü, tetikleyicilere karşı kontrol için GTM’deki dizelere çözümlenir. Yukarıdaki normal ifade, JavaScript’teki tüm yanlış değerlerle eşleşir ve bu nedenle, değişkenlerdeki potansiyel olarak geçersiz değerler için genel bir kontrol olarak kullanışlıdır.

“undefined”GTM’nin yaklaşımıyla ilgili bazı problemler, örneğin, bir değişkenin değeri olarak gerçek dizgeye sahipseniz, su yüzüne çıkabilir . “Tanımsız”, İngilizce’de işlevsel derinliğe sahip bir kelime olduğundan, bu imkansız bir senaryo değildir. undefinedGTM’nin bu geçerli dize değeri ile değişkenin sahip olabileceği değeri, en azından tetikleyicilerde ayırt etmesinin bir yolu yoktur . Bu nedenle, kontrolü olabildiğince sağlam ve net hale getirmek için, her şeyden önce bir Özel JavaScript değişkenine başvurmanız gerekir.

function() {

  var variableToValidate = {{Some Variable}};

  return !!variableToCheckForFalsy;

}

Yukarıdaki Özel JavaScript değişkeni, truedeğişkenin geçerli, sahte olmayan (yani, truey ) bir değeri varsa, falseyoksa döndürür.

 

İlk yorum yapan siz olun

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir