Google Analytics Hedefler ve Funnel İşlemleri

Güncelleme Yayın

Google Analytics özellikleriyle ilgili konularımıza Hedefler (Goals) ile ilgili biraz daha detay vererek devam edeceim. Daha önce yayınladığım Google Analytics: Hedefler başlıklı yazıyla temel bir şekilde seçenekler ve raporlardan bahsetmiştim. Geçtiğimiz günlerde yayınladığım Google Analytics E-Ticaret Raporları ve Etkinlik Kurulumları başlıklı yazıda ise hem hedef hem de dönüşüm hunisi adımları yer bulmuştu1. Özellikle Google Analytics: Gelişmiş Denetim süreçlerinde genelde bu hedeflemelerin hatalı yapılandırıldığı görmekteyim. Bu yazı tüm bu konuları netleştirmek istiyorum.

Google Analytics: Goals

Öncelikle, Google Analytics tarafında Goals (Hedefler) ne ifade ediyor bunu hatırlayalım. Goals (Hedefler), web siteniz veya uygulamanız üzerinden belirlediğiniz hedeflerin başarısını ölçmenize sağlayan bir ölçüm türüdür. Bu sayede, ziyaretçilerinizin kullanıcı-müşteri haline geldiği süreci adımlar halinde görebilir, sürecin hangi aşamasında sorunlar yaşadığını görebilir ve süreci optimize edebilirsiniz. Hedefler bu yapısı itibariyle, işletmenizin başarısına katkıda bulunan ve dönüşüm adı verilen tamamlanmış işlemleri ifade etmektedir. Bu hedefler satın alma işlemi (e-ticaret sitesi için), bir oyun seviyesini tamamlama (mobil oyun uygulaması için) veya bir formu gönderme (pazarlama veya olası satış yaratma sitesi için) işlemi olabilir.

Hedeflerin doğru bir şekilde tanımlanması, analiz sürecinin de önemli bir parçasını oluşturur. Daha önce yayınladığım KPI (Key Performance Indicator) başlıklı yazıda performans ölçümünün doğru bir şekilde yapılmasının ne kadar önemli olduğundan bahsetmiştim. Google Analytics hedefleri de doğru bir şekilde yapılandırıldığında (makro ve mikro dönüşüm tanımlarınıza bağlı olarak) online işletmenizin veya pazarlama kampanyanızın etkisini değerlendirmeniz ve kaynaklarınızı daha efektif yönetebilmeniz de mümkün hale gelecektir.

Örnek Hedefleme İşlemleri

Bu işlemler için Görünüm altında bulunan Hedefler bölümüne erişebiliyor olmanız gerekmektedir. Erişim ile ilgili bir sorununuz olmadığını varsayarak hazır şablonlarla işlemlere başlayabiliriz.

Hedef Oluşturma

Hedef oluşturma işlemi önceden hazırlanmış şablonlar veya özelleştirilmiş (custom) seçeneği vasıtasıyla gerçekleştirilebilir. Hedef biçiminiz şablonlar altında listelenen seçeneklerden birine uyuyorsa bu seçenek üzerinden hızlı bir şekilde ilerleyebilirsiniz. Diğer durumlarda ise Özel (Custom) seçeneği ile ilerleyebilirsiniz.

Google Analytics Hedef Adımları
Şablonlar

Hedef şablonları (templates) Google Analytics tarafından Gelir (Revenue), Edinme (Acquisition), Sorgu (Inquiry) ve Etkileşim (Engagement) başlıkları altında önceden tanımlanmış durum ve etkinlikleri kapsayan ve kurulum sürecini pratikleştirmeyi sağlayan hazır hedef tanımlarıdır. Buradaki seçeneklere göre Hedef Açıklaması (Goal description) alanı (ad ve hedef türü) güncellenir.

Hedef Açıklaması

Hedefin adı ve türünü bu alanda belirleriz. Ad için sizin için anlamlı bir tanım yapmanız yeterli olacaktır. Tür ise hedefin ne tür bir işlem sonucunda gerçekleşmiş kabul edileceğinin belirlendiği alandır.

Destination
Hedef

Bir sayfanın görüntülenmesi (form gönderme işleminden sonra yönlendirilen teşekkürler sayfası, üyelik formu doldurulduktan sonra görüntülenen kayıt onay sayfası, alışveriş işlemi sonrasında yönlendirilen ödeme sonuç sayfası, vb.) hedef niteliği taşıyorsa bu seçeneği kullanabilirsiniz. Bu sayfanın kolay bir şekilde erişilemiyor olması hedef performansının ölçümü için kritik bir öneme sahiptir. Doğrudan bir sayfa tanımı yapmak yerine (doğrudan erişilemiyor ise) bir dizi adım ile ilişkilendirilmesini daha uygun olacaktır.

Google Analytics Hedef Adımları
Duration
Süre

Websitenizin veya uygulamanız üzerine gerçekleşen minimum oturum süresini dönüşüm olarak saymak istediğimizde süre seçeneğinden faydalanabiliriz. Saat, Dakika ve Saniye alanları, hedef dönüşüm olarak sayılacak minimum oturum süresini belirtir. Bu süreyi aşan herhangi bir oturum, dönüşüm sayılacaktır. Belirli bir sınırlandırması yoktur. Örneğin, belirtilen sayfalar ya da etkinliklerle sınırlandıramazsınız.

Google Analytics Hedef Adımları
Pages/Screens per session
Oturum Başına Sayfa/Ekran Sayısı

Bir ziyaretçinin, web sitesi veya uygulamaya erişip oturum boyunca görüntülediği sayfa veya ekran sayısını bir hedef olarak değerlendirebiliriz. Belirtilen sayıdan daha fazla sayfa veya ekran görüntüleyen kullanıcılar dönüşüm sağlamış olur.

Event
Etkinlik

Belirli bir kullanıcı etkileşiminin (video oynatma, buton tıklama, sayfa içerisindeki belirli bir elemanı görüntüleme, vb.) hedef olarak tanımlanması için etkinliklerden faydalanırız.

Hedef Ayrıntıları

Hedef ayrıntıları, hedef olarak tanımladığımız durumun oluşturulduğu alandır. Hedef açıklamasında seçilen hedef türüne göre değişkenlik göstermektedir. Aşağıda, hedef türlerine bağlı olarak gerçekleştirilen tanımları görebilirsiniz. Hedeflerin, hedefi oluşturduktan sonra topladığınız verilere uygulanacağını unutmamalısınız.

Hedef

Hedef açıklaması bölümünde de özet bir şekilde belirttiğim gibi, belirli bir sayfanın görüntülenmesi durumunu hedef olarak belirleyebiliriz. Ancak bu sayfanın doğrudan erişilebiliyor olması sayfanın performansını doğru bir şekilde hesaplayabilmemizi engelleyecektir. Bu nedenle, mümkün ise bir işlemin sonrasında ulaşılabilen sayfa tanımlarını kullanmanızı öneririm. Örneğin, bir sayfanın görüntülenebilmesi için kullanıcı girişi, form gönderimi, alışveriş işleminin başarıyla tamamlanması, reklam tıklaması ile ulaşılabilmesi gibi kriterler faydalı olacaklardır. Aşağıdaki görselde /tr/success sayfasının hedef olarak tanımlandığını görebilirsiniz. Bu sayfaya arama motorları erişimine kapalıdır ve sadece form gönderimleri (submit) başarı ile tamamlandığında görüntülenebilmektedir.

Google Analytics Hedef Kurulumu

Sayfa son 7 gün değerlendirildiğinde %0.02 dönüşümüne sahiptir. Bu kurulumunu yaptığınız hedefin tutarlılığını görmek amacıyla kullanabileceğiniz bir bilgidir. Bu dönüşüm oranı tüm sayfalar içerisinde belirtilen sayfanın görüntülenme oranıdır. Ancak, bu değeri Davranış > Site İçeriği > Tüm Sayfalar raporları üzerinden ulaştığınız sayfa görüntüleme ile aynı olmadığını, hedef verilerinin standart Analytics verilerinden farklı şekilde işlendiğini2 unutmamalısınız.

Şimdi, yukarıdaki hedef işlemini birden çok adıma bölerek bir funnel ile görüntülemek istediğimizi varsayalım.

Alışveriş sitemiz için hedef URI tanımmız /success olsun. Yani, tüm adımlar tamamlandıktan, ödeme işlemi başarılı bir şekilde gerçekleştikten sonra ulaşılacak son noktamız. Bu adıma kadar ilerlenmesi gereken adımlarımızın da Sepet > Kargo bilgileri > Ödeme bilgileri > Özet > ... şeklinde olduğunu varsayalım. Bu durumda, Hedef dışındaki 4 adımı da funnel kırılımları olarak değerlendirebiliriz.

Bu adımlar E-ticaret özelliğini etkileştirmemizin ardından erişebildiğimiz funnel için de benzerlik taşımakta.

Google Analytics Hedef Adımları

İlk adım (örnek temelinde; Sepet) bir zorunluluksa, yani hedefe giden süreç bu adımla başlamak durmunda ise ilgili seçeneğe ait Zorunlu seçeneğini aktifleştirebilirsiniz. Değer tanımı için de ilgili hedefin sizin için olan maliyetini temel alabilirsiniz. Diğer yandan, Analytics'in ROAS (Reklam Harcamasının Getirisi) gibi diğer metrikleri hesaplamak için hedef değer verilerini de kullanmakta. Bu aşamada, parasal ya da sabit değer tanımını göz önünde bulundurabilirsiniz. Eğer hedef değer olarak parasal bir değer kullanmak siteniz veya uygulamanız için uygun değilse, dönüşümlerinizi ağırlıklandırmak ve karşılaştırmak için sabit bir sayısal ölçek kullanabilirsiniz. Örneğin, düşük değerli hedeflere "1", yüksek değerli hedeflere de "10" değerini atayabilirsiniz3.

URL Tanımları

Birçok web sitesi, sayfalar temelinde sabit URI'ler kullanır. Bu sayfaların yapısı, site için kullanılan web teknolojisine göre değişiklik gösterebilir. Aşağıda farklı biçimlerdeki URL'leri görebilirsiniz.

  • http://www.domain.com/2008/category/name-of-blog-post/
  • https://alanadi.com/dogs/food.php
  • http://shop.websitesi.net/cats/food.html

Hedefe ait URI'nin söz konusu sayfaya/hedefe özel olduğundan emin olmalısınız. Örneğin, /tr/success ile /en/success, /cat/foods.php ve /dog/foods.php birbirinden farklı içerikleri ifade eder.

Ardından, istek URI'sini netleştirmelisiniz. İstek URI'si, URL'nin alan adresinden sonra gelen kısmıdır. Yukarıda belirtilen URL örnekleri temelinde ifade etmek gerekirse, İstek URI'leri sırasıyla şu şekilde olacaktır:

  • /2008/category/name-of-blog-post/
  • /dogs/food.php
  • /cats/food.html

Eğer URI'leriniz büyük/küçük harf duyarlı ise, yani /contactus.html ve /CONTACTUS.html şeklinde 2 farklı sayfanız varsa hedefleme sürecinde bu sayfaları birbirinden ayırmak için Büyük/küçük harfe duyarlı seçeneğini seçebilirsiniz. Normal şartlarda, Google Analytics büyük/küçük harf ayrımı yapmamaktadır.

Eğer sayfalar arasında ortaklık varsa bu ortaklığı eşleşme türü ile belirtebilirsiniz. Örneğin, URI'ler sorgu terimleri içeriyorsa veya URI'lerin sonunda sorgu parametreleri varsa, dönüşüm hunisi1 veya hedef URL hedeflerini girerken Şununla başlar veya Normal İfade eşleme türlerini kullanabilirsiniz. Örnek olarak aşağıda dinamik parametreler alan birkaç URL'lere göz atabilirsiniz.

  • https://www.alanadi.org/about/page.html?id=89
  • https://form.websayfasi.com/lead/submit.html?utm_source=BultenOca&utm_medium=email
  • http://shop.domain.net/success.php?transaction=1322

Kimi durumlarda ise URI bazı adımlarda sabit kalır. Özellikle alışveriş sitelerinde işlem adımları (checkout) tab'ler veya accordion UI elemanları ile ve formlar AJAX ve fetch ile dinamik olarak yönetilebilmektedir. Bu durumda URI değişmediği için adımları planlarken sorun yaşayabilirsiniz.

  • Kargo bilgileri: www.domain.com/checkout
  • Ödeme bilgileri: www.domain.com/checkout
  • Taksit seçenekleri: www.domain.com/checkout

Bu gibi durumlarda destination yerine etkinlik hedeflerini ya da sanal sayfa tanımlarını kullanabilirsiniz.

Google Analytics Hedef Adımları
Google Analytics Hedef Adımları

Bu işlemi dosya indirme hedefleri için de gerçekleştirebilirsiniz4.

// ga kütüphanesi kullanıyorsanız
// 1. Adım
ga('send', 'pageview', '/funnel/checkout/1');
// 2. Adım
ga('send', 'pageview', '/funnel/checkout/2');
// 3. Adım
ga('send', 'pageview', '/funnel/checkout/3');

// gtag kütüphanesi kullanıyorsanız / pageview olarak
// 1. Adım
gtag('config', 'UA-12345678-9', {'page_path': '/funnel/checkout/1'});
// 2. Adım
gtag('config', 'UA-12345678-9', {'page_path': '/funnel/checkout/2'});
// 3. Adım
gtag('config', 'UA-12345678-9', {'page_path': '/funnel/checkout/3'});

// gtag kütüphanesi kullanıyorsanız / event olarak
// https://developers.google.com/analytics/devguides/collection/gtagjs/pages
// 1. Adım
gtag('event', 'page_view', {'page_path': '/funnel/checkout/1'});
// 2. Adım
gtag('event', 'page_view', {'page_path': '/funnel/checkout/2'});
// 3. Adım
gtag('event', 'page_view', {'page_path': '/funnel/checkout/3'});

Yukarıda da pek çok biçimde detaylandırmaya çalıştığım URI tanımları sanırım netlik kazanmıştır. Gelelim bir diğer önemli konuya; eşleşme türü

Hedef URI'si girerken Eşittir, Şununla başlar ve Normal ifade seçimleri üzerinden ilerleriz.

Eşittir
Standart, sabit URL'ler için kullanılır. Web sitesi veya uygulamaya ait URI'ler oturum tanımlayıcıları veya sorgu parametreleri gibi dinamik (değişen) bilgiler bulundurmuyorsa kullanılabilir. Dönüşüm hunisi veya hedef için kullanılan URI'lerin raporlarda gösterilen URI'lerle tam olarak eşleşmesi gerekmektedir, aksi durumda hedef veri almamış olur. Aynı şekilde, URI tanımında boşluklar bulunmaması ve yazım hatası olmaması da önemlidir5.

Örnek bir tanım: /alisveris/tesekkurler.html

Şununla başlar
Bu eşleme, dizenin başlangıcından, belirttiğiniz dizenin son karakterine kadar olan (son karakteri de dahil) özdeş karakterleri eşleştirir. Sayfa/ekran URI'leri genel olarak değişkenlik göstermiyor, ancak URLI'lerin sonunda hariç tutulması istenen ek parametreler olabiliyorsa bu seçenek kullanılabilir5.

Örneğin, http://www.example.com/transaction/success?id=9982251615 ve http://www.example.com/transaction/success?id=233223 ile eşleşecek tanım: /transaction/success

Normal ifade
Normal ifade, joker karakter ve esnek eşlemeyi6 etkinleştirmek için özel karakterleri kullanır. Bu eşleştirme, kökün veya izleme parametrelerinin ya da ikisinin birden aynı web sayfasının URL'lerinde değişkenlik gösterebildiği durumlarda yararlıdır. Örneğin, islem.aspx\?page=1 sayfası, http://food.example.com/islem.aspx?page=1&id=002 sayfasının yanı sıra http://spor.example.com/islem.aspx?page=1&language=fr&id=119 sayfasıyla da eşleşir. Başka bir örnek vermek gerekirse, ^/spor/ alt dizinindeki herhangi bir sayfaya giden kullanıcılar için bir hedef oluşturmak üzere normal ifadeler kullanılabilir5.

Dönüşüm hunisi adımları için, Hedef URL ile aynı eşleme türü kullanılır. Örneğin, Hedef URL için bir normal ifade seçeneğini kullandıysanız, tüm dönüşüm hunisi adımları da aynı ifadeyle eşleşmelidir7.

Süre

Saat, dakika ve saniye olarak tanım yapılabilir. Belirlenen süre "şundan büyük" olarak tetiklenecektir. Yani, 10 saniye tanımı yaptığınızda hedef 10 saniyeden büyük oturumlarda başalarılı (tr: dönüşüm, en: conversion) kabul edilir7.

Oturum Başına Sayfa/Ekran Sayısı

Ziyaretçinin başlattığı oturum boyunca görüntülediği sayfa veya ekran sayısı üzerinden işlem gerçekleştirilir, "şundan büyük" olarak tetiklenecektir. Yani, oturum başına sayfa/ekran sayısı için 10 tanımı yapıldıysa, 10'dan büyük görüntülemeler başarılı (tr: dönüşüm, en: conversion) kabul edilir7.

Google Analytics Hedef Adımları
Etkinlik

Etkinlik alanında Kategori, Etiket, İşlem ve Değer tanımları yer almaktadır. Bu alanlardan en az 1 tanesinin tanımlı olması gerekir. Alan tanımları yine eşleşme türü (eşittir, şununla başlar, normal ifade ve değer için şundan büyük) seçeneklerine göre yönetilebilmektedir.

Google Analytics Hedef Etkinlik Tanımı

Bir veya daha fazla koşul belirtilerek, web sayfası veya uygulamada gerçekleştirilen etkinlikleri hedef olarak tanımlayabiliriz. Bir Etkinlik tetiklendiğinde belirtilen tüm koşullar doğruysa dönüşüm olarak kabul edilir8.

Örneğin, web sayfamda yer alan eğitim videolarının izlenme oranlarını hedef tanımı içerisinde değerlendirebilirim. Bir video izlenmeye başladığında, etkinlik kategorisi (event category) olarak Video Interest değerini alır. Etkinlik işlemi (event action) ise videonun izlenen dilimine bağlı olarak start, progress ve complete değerlerine sahiptir. Etkinlik etiketi (event label) ise videonun etkileşim aldığı sürelere sahiptir. Dolayısıyla, etkinlik hedefime bağlı olarak dönüşüm tanımımı şu şekilde yapabilirim.

  • Kategori eşittir Video Interest
  • İşlem eşittir complete
  • Etiker eşittir 100

Kurulumlarla ilgili bu aşamaya kadar sanırım her şey yolunda. Bir sonraki aşama artık düzenli aralıklarla hedeflerin gerçekleşip gerçekleşmediğini takip etmek ve saymayan bir hedef var ise yukarıdaki bilgiler ışığında hedef planlamasını düzenlemek olmalı. Huni görselleştirme ve hedef akışı arasındaki farklılıklar ile ilgili olarak Google tarafından paylaşılan Dönüşüm Hunisi Görselleştirme ve Hedef Akışı tablosuna göz atabilirsiniz.

Gelelim son konumuza; üçüncü taraf siteler ile olan etkileşimi nasıl hedef tanımı içerisinde değerlendirebiliriz?

Bir hedef veya dönüşüm hunisi adımı işlemini izleyebilmeniz için, ilgili sayfada/ekranda Analytics izleme kodunun bulunması ve sorunsuz bir şekilde çalışabiliyor olması gerekir. Ancak, ürünlerimizin kendi sitemiz üzerinde değil de bir başka site üzerinden satıldığını varsayalım. İlgili web sayfasındaki Google Analytics koduna erişimimiz yok ise ancak biz bu sitedeki kullanıcı etkinliğini izlemek ve bu sayfalarda hedefler oluşturmak istiyorsak giden bağlantı ile bir hedef veya dönüşüm hunisi adımı oluşturabiliriz9. Elbette bu kesin bir bilgi kaynağı değildir ancak fikri sahibi olmamızı sağlar.

Bu işlemi etkinlik kurulumu ile gerçekleştirebilirsiniz10. Bu amaçla kullanabileceğiniz11 bir örnek kodu12 aşağıda görebilirsiniz.

function makeExternal(link) {
  const url = link.getAttribute('href'),
  host      = window.location.hostname.toLowerCase(),
  regex     = new RegExp('^(?:(?:f|ht)tp(?:s)?\:)?//(?:[^\@]+\@)?([^:/]+)', 'im'),
  match     = url.match(regex),
  domain    = ((match ? match[1].toString() : ((url.indexOf(':') < 0) ? host : ''))).toLowerCase();

  if (domain != host) {
    let captureOutboundLink = url => {
        // ga kütüphanesi kullanıyorsanız
        ga('send', 'event', 'outbound', 'click', url, {
            'transport': 'beacon',
            'hitCallback': () => document.location = url;
        });
        // gtag kütüphanesi kullanıyorsanız
        gtag('event', 'click', {
            'event_category': 'outbound',
            'event_label': url,
            'transport_type': 'beacon',
            'event_callback': () => document.location = url;
        });
    }
  }
}

const links = Array.from(document.getElementsByTagName('a'));

links.forEach(link => {
 link.addEventListener('click', () => {
  makeExternal(link);
 });
});

Evet, kod örneği ile birlikte Google Analytics hedef oluşturma adımlarını tamamladık.