Yönlendirme ve Split URL Testi
Kısaca
Yönlendirme özelliği ile, gelen kullanıcıları bir veya birden fazla sayfadan başka bir sayfaya yönlendirebilirsin. Bu özelliği bir A/B testinde kullanırsan, bir „yönlendirme testi“ çalıştırabilirsin. Bu, örneğin, mevcut sayfanı farklı bir URL üzerinden erişilebilen sayfanın yeni bir sürümüne karşı test etmeni sağlar.
Prensipte, bir yönlendirme testi gerçekleştirmek için sana iki yöntem sunulur.
Yöntem 1: Editörde yönlendirme testi oluşturma
Bu yöntem yalnızca tam olarak bir web sitesini başka bir web sitesine yönlendirmek istediğinizde uygundur.
Yeni bir varyant oluşturun ve “Redirect URL” simgesine tıklayın. Ardından URL giriş alanına, gelen kullanıcıların yönlendirileceği URL'yi girin. Yeni hedef URL'ye yönlendirme yapılırken, çağrılan orijinal URL'nin mevcut URL parametreleri (UTM parametreleri gibi) korunur ve yeni yönlendirme URL'sine eklenir.
Önemli Not: URL'yi girerken, tam, mutlak URL'yi girdiğinizden emin olun.
-> „https://www.demoshop.com/new-home“ ve „demoshop.com/new-home“ değil
Sorularınız varsa bizimle iletişime geçin: https://varify.io/contact/
Yöntem 2: JavaScript ile yönlendirme tanımlama
Daha karmaşık yönlendirmeler için JavaScript kullanabilirsiniz. Ancak, hedef sayfada da izlemenin tetiklenmesi ve doğru sonuçları ölçmeniz için doğru deney ID'si ve varyasyon ID'sini içeren va-red parametresini de URL'ye eklemeniz önemlidir. İşte daha karmaşık deneyler için bir izleme örneği dahil iki kullanım senaryosu:
Her URL'nin kendisine yönlendirilmesi - ek URL parametresiyle
Aşağıdaki koddaki experimentId ve variationId sabitlerini deneyinizin ve varyasyonunuzun değerlerine göre değiştirin. Ayrıca needsViewParam sabitinin değerini istediğiniz URL parametresini girerek ayarlayın.
Örnek:
Orijinal sayfa:
https://www.test.com/products/product1
https://www.test.com/products/product2
Varyasyon:
https://www.test.com/products/product1?view=2
https://www.test.com/products/product2?view=2
(function () {
const experimentId = 21952;
const variationId = 32490;
const needsViewParam = 'view'; // <-- definiere hier den gewünschten Parameter-Namen
function isInEditor() {
const p = new URLSearchParams(location.search);
return p.has('varify-variation-name') || p.has('varify-variation-id');
}
if (isInEditor()) return;
const params = new URLSearchParams(window.location.search);
const paramAsBase64 = btoa(`${experimentId}:${variationId}`).replace(/=/g, '');
const needsView = params.get(needsViewParam) !== '2';
const needsVa = params.get('va-red') !== paramAsBase64;
if (needsView || needsVa) {
params.set(needsViewParam, '2');
params.set('va-red', paramAsBase64);
const newUrl = `${window.location.origin}${window.location.pathname}?${params.toString()}${window.location.hash || ''}`;
window.location.href = newUrl;
}
})();
Önemli: Varyantın sonsuz bir döngüye düşmesini önlemek için sayfa hedeflemesinin yine de ayarlanması gerekir. Bunu nasıl yapacağınızı burada bulabilirsiniz: URL split testlerinde sonsuz döngülerden kaçının
Tüm URL'lerin ek bir alt yol ile aynı URL'ye yönlendirilmesi
Aşağıdaki koddaki experimentId ve variationId sabitlerini deneyinizin ve varyasyonunuzun değerlerine göre değiştirin. Ayrıca newPathSuffic sabitinin değerini, istediğiniz alt dizini girerek ayarlayın.
Örnek:
Orijinal sayfa:
https://www.test.com/products/product1
https://www.test.com/products/product2
Varyasyon:
https://www.test.com/products/product1/new
https://www.test.com/products/product2/new
…
(function () {
const experimentId = 21952;
const variationId = 32490;
const newPathSuffix = '/new'; // <-- ändere diesen Wert, um das neue Pfad-Suffix festzulegen
function isInEditor() {
const p = new URLSearchParams(location.search);
return p.has('varify-variation-name') || p.has('varify-variation-id');
}
if (isInEditor()) return;
const params = new URLSearchParams(location.search);
const basePath = location.pathname.replace(/\/+$/, '');
const endsWithNew = basePath.endsWith(newPathSuffix);
const vaValue = btoa(`${experimentId}:${variationId}`).replace(/=/g, '');
const hasVa = params.get('va-red') === vaValue;
if (endsWithNew && hasVa) return;
params.set('va-red', vaValue);
const newPath = endsWithNew ? basePath : basePath + newPathSuffix;
const newUrl = `${location.origin}${newPath}?${params.toString()}${location.hash || ''}`;
location.href = newUrl;
})();
Tüm URL'lerin farklı bir alt alan adına sahip aynı URL'ye yönlendirilmesi
Aşağıdaki koddaki experimentId ve variationId sabitlerini deneyinizin ve varyasyonunuzun değerlerine göre değiştirin.
Ayrıca targetSubdomain sabitinin değerini istediğiniz alt alan adını girerek ayarlayın.
Örnek:
Orijinal sayfa:
https://www.test.com/products/product1
https://www.test.com/products/product2
Varyasyon:
https://subdomain.test.com/products/product1
https://subdomain.test.com/products/product2
…
(function () {
const experimentId = 21952;
const variationId = 32490;
const targetSubdomain = 'subdomain'; // <-- configure your subdomain here
function isInEditor() {
const p = new URLSearchParams(location.search);
return p.has('varify-variation-name') || p.has('varify-variation-id');
}
if (isInEditor()) return;
const params = new URLSearchParams(window.location.search);
const paramAsBase64 = btoa(experimentId + ':' + variationId).replace(/=/g, '');
const needsVa = params.get('va-red') !== paramAsBase64;
const hostNoWww = location.hostname.replace(/^www\./, '');
const parts = hostNoWww.split('.');
const registrable = parts.length >= 2 ? parts.slice(-2).join('.') : hostNoWww;
const targetHost = targetSubdomain + '.' + registrable;
const needsHost = location.hostname !== targetHost;
if (needsVa || needsHost) {
params.set('va-red', paramAsBase64);
params.delete('view');
const port = location.port ? ':' + location.port : '';
const newUrl =
location.protocol + '//' + (needsHost ? targetHost : location.hostname) + port +
location.pathname +
(params.toString() ? ('?' + params.toString()) : '') +
(location.hash || '');
if (needsHost) {
window.location.href = newUrl;
} else {
history.replaceState(null, '', newUrl);
}
}
})();
Sayfa hedeflemeyi ayarla
Yönlendirme URL'sini görsel editörde oluşturup kaydettikten sonra, Varify.io kontrol panelinde split testi için ayarları tanımlayabilirsin.
- Page Targeting bölümünde, deneyinin gerçekleşmesi gereken URL'yi gir. Bu, yönlendirme URL'sine yönlendirmek istediğin URL'dir. -> Yönlendirme URL'sini GİRMEYİN!
- Eşleştirme türünü "Simple Match" olarak ayarla
- Varyantın için istenen trafik dağılımını ayarla
- Yönlendirme deneyini başlat
Örnek: Ekran görüntüsü, https://www.demoshop.com/ adresine gelen kullanıcıların %50'sinin, oluşturulan varyantta Redirect URL altında daha önce girilmiş olan URL'ye yönlendirildiği ayarı gösteriyor.
Deneyi başlatmadan önce, yönlendirmenin doğru çalıştığını ve sonsuz döngü oluşturmadığını kontrol et.
Yönlendirme varyantı sonsuz döngü oluşturuyor
Belirli koşullar altında, sayfa hedefleme yönlendirilen kullanıcılar için sonsuz bir döngü oluşturabilir. Ancak yeni oluşturduğun sayfanın kendine ait bir URL'si varsa bu durum yaşanmaz.
Örneğin, yönlendirme URL'in orijinal URL'e sadece bir ek parametre içeriyorsa:
Orijinal: https://www.demoshop.com
Yönlendirme: https://www.demoshop.com?page=newlp
Bu sorunu nasıl kolayca çözebileceğini burada öğrenebilirsin: Avoid endless loops in url split tests
Split URL testinin değerlendirilmesi
Varify.io'da değerlendirme
Varify.io Google Analytics 4 Bağlantısı ile sonuçlarınızı doğrudan Varify.io panonuzda kolayca görüntüleyebilirsiniz. Bunu nasıl yapacağınızı buradan öğrenebilirsiniz: Varify.io'da sonuç değerlendirmesine git
GA4'te Değerlendirme
A/B testinizin varyasyonlarının verilerini GA4'te Explorative Data Analysis ile analiz edebilirsiniz. Daha fazla bilgiyi burada bulabilirsiniz: GA4'te sonuçları değerlendirmeye git