Alternatif Durumlarda URL Parametre Ekleme & Taşıma İşlemi
E-ticaret sitelerinde reklam kampanyalarına ve/veya affiliation bağlantılarına ait URL sorgu parametrelerinin (query parameter) alan adları ve genelde SPA'larda (kimi zaman da teknik bir problemden dolayı) karşımıza çıkan sayfanın kendi kendine yenilenmesi (self-referral) sebebiyle izlenemeden kaybolması sıklıkla karşılaşılan durumlardan biri. Genelde bu tür durumlara yönelik olarak izleme (trackings) araçları çeşitli çözümler de sunabilmekteler.
GTM - Dönüşüm Bağlayıcı (Conversion Linker) başlıklı yazıda değinilen Conversion Linker bu çözümlerden biri. Bu yazıda ise Conversion Linker dışında kalan ve yine benzer şekilde URL'in taşınmasına yardımcı olacak basit bir çözümden bahsedeceğim.
URL Parametrelerinin Taşınması
Web sitenize veya uygulamanıza gelen ziyaretçiler pek çok farklı kaynakla etkileşime girerek sunduğunuz içeriklere veya ürünlere ulaşmış olabilirler. Bu kaynaklar reklamlar veya affiliation platformları olabilir. GDPR uygulamaları, sayfanın kendi kendine yenilenmesi ve URL bilgisini silmesi, siteler ve/veya uygulamalar arasında geçiş gibi pek çok nedenle URL'deki bu bilgiler değerlendirilemeden kaybolabilirler. Bu durumda, ziyaretçinin trafiği daha önce ilişkilendirildiği bir başka kaynakla veya Direct olarak değerlendirilebilir. Bu tür durumlarda, alan adları ve/veya sayfalar arasında ilgili parametrelerin (en azından Google nezdinde _gl
anahtarı gibi) taşınması için Google Tag Manager (GTM) bağlamında Conversion Linker (Dönüşüm Bağlayıcı) ve Global Site Tag (GTAG) bağlamında ise linker
parametresi sunulmaktadır. Bu yöntemlerden hangisi tercih edilirse edilsin temel amaç birinci taraf ölçüm çerezlerinin kaynak alan adıyla hedef alan adı arasında paylaşılmasıdır1. GTM - Dönüşüm Bağlayıcı (Conversion Linker) başlıklı yazıda bu bağlamda çeşitli bilgiler yer almaktadır. Ancak bu çözüm tek başına yeterli olmayabilir. Çünkü ilgili çözüm query veya fragment olarak ilgili bilginin bağlantılar ve formlara taşınmasını sağlamaktadır2. Ancak, pek çok websitesi ve e-ticaret mağazası dil, para birimi ve lokasyon tanımları için çeşitli yönlendirme işlevlerine sahip çözümler kullanmakta. Bu çözümler ise nadiren bağlantılardan ve formlardan faydalanmaktadır.
Aşağıdaki örnek senaryoda bir web sitesine ulaştığınız anda karşınıza dil ve lokasyon seçimi içeren bir popup çıksın. Bu esnada görüntülenen URL'in ise https://ceaksan.com/?utm_source=google&utm_campaign=discount&ref=XXXX&gclid=YYYY
şeklinde olduğunu varsayalım.
İlgili dropdown seçimi için redirect_to
name değerine sahip bir hidden element ya da data-url
attribute'una sahip bir buton kullanıldığında Conversion Linker bu yönlendirme işlemi için işlev sağlayamayacaktır.
<button type="button" class="button_class" data-url="https://ceaksan.com/location">Click Me!</button>
Bu tür durumlarda ilgili bir ya da daha fazla parametrenin yönlendirme işlemi sırasında kaybolmaması için ilgili bilginin localStorage veya bir cookie' aktarılması, ilgili bilginin ayrı bir form elemanına atanması ve form bilgisi ile gönderilmesi, JavaScript ile ilgili bilginin alınması ve element'e eklenmesi gibi pek çok yöntem izlenebilir. Bu yazı bağlamında ben JavaScript ile ilgili bilginin alınması ve belirtilen element'e eklenmesi ile ilgili bir örneğe yer vereceğim.
Örnek Parametre Ekleme İşlemi
Probleme sebebiyet veren durumun sitenin farklı bölümlerinde veya ziyaretçiyi karşılayan popup içerisinde yer alan buton olduğunu varsayalım ve yukarıdaki bağlantı örneği ile birleştirelim. Amaç siteye varıldığında sahip olunan ?utm_source=google&utm_campaign=discount&ref=XXXX&gclid=YYYY
bilgisinin button'ın sahip olduğu data-url
içeriğindeki https://ceaksan.com/location
URL'ine eklenmesi ve yönlendirmenin /location?utm_source=google&utm_campaign=discount&ref=XXXX&gclid=YYYY
ile gerçekleştirilmesi.
Bu tür bir duruma çözüm olarak aşağıdaki kod parçacığı kullanılabilir.
Bu işlemle birlikte kullanıcı form aracılığı ile farklı bir alan adı ya da alt alan adına geçiş yaptığında ilgili parametreleri de taşımış olacaktır. İlgili kod parçacığı paramsToAppend
dizisindeki parametreler URL'den toplanıp dataUrl
içerisinde belirtilen data-url
attribute'a ekler. Elbette ilgili parametreler çoğaltılabilir ve data-url
yerine href
veya redirect_to
name'ine sahip bir form element'i tanımlanabilir.
İlgili kod parçacığı doğrudan web sitesine, ilgili sayfaya eklenebilir. Ancak, önerim kodun Custom HTML etiket biçiminde Google Tag Manager aracılığı ile ilgili sayfa(lar)da çalışacak şekilde eklenmesidir.
Yukarıdaki örnek basit bir örnek senaryoyu temel almakta ve buna yönelik bir çözüm içermektedir. Elbette consent çözümleri bağlamında izlenmesi gereken yöntemler biraz daha çetrefilli olduğu gibi uyulması gereken bazı kuralları da içermektedir.