Google Tag Manager (GTM)’de bazı durumlarda tetiklenmesi gereken bir etiketin sadece 1 kez tetiklenmesini isteyebileceğimiz durumlar olabilir.
Örneğin:
- Kullanıcı bir dönüşümü tamamladıktan sonra sayfayı yenilediği zaman dönüşüm etiketinin tekrar çalışmasını önlemek.
- Etiketin (tag) tetiklenme şartını sağlayan tetikleyicinin (trigger), farklı sayfalarda veya farklı tıklamalarda tekrar tetiklenmesini önlemek. Örnek olarak diyelim ki, kullanıcı üye girişi yapmamışsa datalayer’a login=false değeri geliyor. Üye girişi yaptığında ise datalayer’a login=true değeri geliyor. Siz eğer tetikleyicinizin tetiklenme şartını “eğer login parametresi, true değerini içeriyorsa” şeklinde yaparsanız, her bir sayfa görüntülemede bu trigger tetiklenebilir ve kullanıcı giriş yaptığı halde aynı etiketiniz çalışmaya devam edebilir.
Bu senaryolar çoğalabilir, bu tarz senaryolar için ihtiyaç, bir etiketi bir oturumda sadece bir kez tetikletmek. Başıma bu ihtiyaç ilk olarak 2.5 sene önce gelmişti ve o zamandan beri çeşitli durumlar için bu çözümü kullanıyorum.
Bir etiketi bir oturumda sadece bir kez tetikletmek için bir cookie oluşturmalıyız, bu cookie’nin içine ise öyle bir değer atamalıyız ki bu değer sayesinde etiketi bir kez tetikletmek istediğimizi Google Tag Manager’da ayarlayabilelim.
Şimdi Google Tag Manager’a girelim ve bir Custom HTML etiketi oluşturalım. Bunun içine aşağıya paylaştığım kodu yapıştıralım. Kodun ne işe yaradığını da açıklıyorum.
- Bu kod ile, isFirstPageView adında bir cookie oluşturuyoruz.
- Bu cookie’nin değeri eğer “undefined” olursa, henüz bu cookie bir değer almamış demektir. Yani cookie, tarayıcıya kaydolmamış, siteye girilmemiş demektir.
- Bu cookie’nin değeri “undefined” olduğunda, kullanıcı ilk sayfa görüntülemesini yapmış demektir. Bu sebeple cookie’nin değerini “true” yapıyoruz. Yani isFirstPageView değeri true oluyor.
- Bu cookie’nin değeri eğer “true” ise yani kullanıcının tarayıcısına bu cookie düşmüşse, bir sonraki sayfa görüntülemesinde değerini “false” yapıyoruz. Kullanıcı birden fazla kez sayfa görüntüleme yaptığı için artık cookie’de, isFirstPageView = false değerini oluşturmuş oluyoruz.
<script>
function setCookie(name, value, exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = “expires=”+ d.toUTCString();
document.cookie = name + “=” + value + “;” + expires + “;path=/”;
}
function getCookie(name) {
var cookies = document.cookie.split(“;”),
toReturn;
for (var i = 0; i < cookies.length; i++) {
var cookie = cookies[i].trim();
if (cookie.indexOf(name + “=”) === 0) {
toReturn = cookie.substring((name + “=”).length, cookie.length);
}
}
return toReturn;
}
(function() {
var pageviewCount = getCookie(“isFirstPageView”);
if (typeof pageviewCount === “undefined”) {
pageviewCount = true;
} else {
pageviewCount = false;
}
setCookie(“isFirstPageView”, pageviewCount);
})();
</script>
Örneğin, kullanıcı /tesekkurler sayfasına düştü diyelim ve sizin de bu sayfa için dönüşüm sayan etiketiniz var diyelim. Kullanıcı bu sayfaya ilk geldiği anda yukarıda paylaştığım Custom HTML etiketinini de tetikletmemiz gerekir. Tetiklettiğimiz zaman isFirstPageView cookie’sinin değeri true olacak. Ardından kullanıcı sayfayı yenilese veya aynı oturumda bir kez daha gelse bu sayfaya, bir daha dönüşüm etiketimizin tetiklenmemesi için şu işlemi yapmalıyız:
- Dönüşüm etiketimizin tetikleyicisini açıp tetiklenme şartlarına ek olarak şu şartı eklemeliyiz. “isFirstPageView eğer true değerini içeriyorsa”
- Bu şekilde sadece kullanıcı dönüşümü ilk gerçekleştirdiği anda dönüşüm sayan etiketiniz çalışacak, diğer görüntülemelerde isFirstPageView cookie’sinin değeri false olacağı için bir daha tetiklenmemiş olacak.
Şimdi bu şekilde bir tetikleyicini nasıl yapacağımıza bakalım.
Artık cookie’ye değer atadığımız için şimdi o değeri Google Tag Manager’da bir değişkende depolayabiliriz.
Değişkenler (variables) menüsünden yeni bir değişken oluşturun, türünü birincil taraf çerezi (first party cookie) seçin ve oluşturduğumuz cookie’nizin adını yazın.
Bu şekilde sadece 1 kere istediğiniz tag’i tetikletebilirsiniz. Görseldeki gibi koşul sağlamanız yeterli olacaktır.
YouTube kanalımıza abone olun;
https://www.youtube.com/c/boosmart
Instagram hesabımızı takip edin;
https://www.instagram.com/boosmartcom/
Telegram kanalımıza katılın;
Diğer içeriklerimizi de inceleyin: