• Kitle hedefleme

    İçindekiler tablosu

    Kısa ve tatlı

    Kitle hedefleme ile hangi hedef grubun denemenizin bir parçası olması gerektiğini tanımlarsınız. Örneğin, yalnızca web sitenizi belirli bir kaynaktan ziyaret eden kullanıcıları hedefleyebilirsiniz. Örneğin yalnızca mobil, tablet veya masaüstü trafiğini de hedefleyebilirsiniz. Kullanım alanları neredeyse sınırsızdır.

    Kitle hedefleme JavaScript yardımıyla gerçekleştirilebilir. Ayrıca, tercih ettiğiniz hedeflemeyi uygulamak için kullanabileceğiniz bireysel kullanım durumları için ilgili şablonları da burada sunuyoruz.

    Kitle hedefleme olmadan bir deney başlatmak istiyorsanız, alanda varsayılan değeri (return true;) bırakabilirsiniz

    Adım adım öğretici
    Kitle hedefleme

    Uygulama örnekleri

    Örnek uygulamalara genel bakış

    Ziyaretçiler ve davranışlar

    Dil ve bölge

    Önemli not:
    İki farklı uygulama örneğini birbirine bağlamak istiyor ancak nasıl ilerleyeceğinizden emin olamıyor musunuz? Bizimle iletişime geçmekten çekinmeyin: https://varify.io/kontakt/

    Yalnızca tarayıcılarında tanımlı bir varsayılan dil ayarlamış olan kullanıcıları hedefleyin. Burada desteklenen tüm dilleri bulabilirsiniz ISO dil kodları.

    Kod örneği - Dil İngilizce
    				
    					return navigator.language.startsWith('en');
    				
    			
    Yalnızca belirli bir ülkede bulunan kullanıcıları hedefleyin. Burada tüm desteklenenleri bulabilirsiniz ISO İlçe Kodları.
    Kod örneği - Dil İngilizce & Bölge ABD
    				
    					return navigator.language.startsWith('en-US');
    				
    			

    Yeni / Geri Dönen Ziyaretçiler

    Önemli not:
    İki farklı uygulama örneğini birbirine bağlamak istiyor ancak nasıl ilerleyeceğinizden emin olamıyor musunuz? Bizimle iletişime geçmekten çekinmeyin: https://varify.io/kontakt/

    Yalnızca sitenizi daha önce ziyaret etmiş veya daha önce bir teste katılmış kullanıcıları hedefleyin. Alternatif olarak, sitenizi henüz ziyaret etmemiş veya bir teste katılmamış kullanıcıları da hedefleyebilirsiniz.

    Kod örneği - Belirli bir deneyden test katılımcısını yeniden hedefleme - görülen varyant
    				
    					const EXPERIMENT_ID = 'YOUR_EXPERIMENT_ID';
    
    const storageValue = localStorage.getItem(`varify-experiment-${EXPERIMENT_ID}`);
    return JSON.parse(storageValue)?.variationId === Number(EXPERIMENT_ID);
    				
    			
    Kod örneği - Yalnızca yeni kullanıcıları hedefleyin
    				
    					const EXPERIMENT_ID = 'YOUR_EXPERIMENT_ID';
    
    return !localStorage.getItem(`varify-experiment-${EXPERIMENT_ID}`);
    				
    			

    Ziyaret saati veya günü

    Önemli not:
    İki farklı uygulama örneğini birbirine bağlamak istiyor ancak nasıl ilerleyeceğinizden emin olamıyor musunuz? Bizimle iletişime geçmekten çekinmeyin: https://varify.io/kontakt/

    Yalnızca belirli bir saatten itibaren veya örneğin haftanın belirli bir gününde sitenizde bulunan kullanıcıları hedefleyin. Denemenizin yalnızca belirli bir günde belirli bir saatte başlamasını istiyorsanız aşağıdaki örneği kullanabilirsiniz.

    Kod örneği - Test başlatma zamanlaması
    				
    					const currentDate = new Date();
    const specificDate = new Date('2024-01-01T10:00:00'); // ISO format for 10:00 on 01.01.2024
    
    return currentDate > specificDate;
    				
    			

    Etkinlik hedefleme

    Önemli not:
    İki farklı uygulama örneğini birbirine bağlamak istiyor ancak nasıl ilerleyeceğinizden emin olamıyor musunuz? Bizimle iletişime geçmekten çekinmeyin: https://varify.io/kontakt/

    Yoklama ve asenkron JavaScript

    Promises kullanarak asenkron özellikleri kontrol edin. Buradaki örnekte, sayfada henüz var olmayan bir öğeyi bekliyoruz. Eleman var olur olmaz, hedefleme uygulanır.

    Kod örneği - Yalnızca sayfada bir öğe olduğunda hedefleyin
    				
    					return new Promise(resolve => {
        window.varify.helpers.waitFor('.class', () => resolve(true))
    })
    				
    			
    Kod örneği - Yoklamayı Sözlerle İşleme

    Bu, yanlış (promies olmadan) döndürüldüğünde olduğu gibi sorguyu 2 saniye boyunca başlatır.

    				
    					return new Promise((resolve, reject) => {
        resolve(false)
    });
    				
    			

    Bir sorgu başlatmaz veya mevcut bir sorgu döngüsünü sonlandırır ve bu deneyi atlar

    				
    					return new Promise((resolve, reject) => {
        reject()
    });
    				
    			

    Teknik ve cihaz hedefleme

    Tarayıcı

    Önemli not:
    İki farklı uygulama örneğini birbirine bağlamak istiyor ancak nasıl ilerleyeceğinizden emin olamıyor musunuz? Bizimle iletişime geçmekten çekinmeyin: https://varify.io/kontakt/

    Yalnızca belirli bir tarayıcı kullanan kullanıcıları hedefleyin.

    Kod örneği - Google Chrome
    				
    					return /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor);
    				
    			

    Son cihaz hedefleme (masaüstü, tablet, mobil)

    Önemli not:
    İki farklı uygulama örneğini birbirine bağlamak istiyor ancak nasıl ilerleyeceğinizden emin olamıyor musunuz? Bizimle iletişime geçmekten çekinmeyin: https://varify.io/kontakt/

    Örneğin, yalnızca mobil kullanıcıları hedeflemek için aşağıdaki kodu kullanabilirsiniz.

    Kod örneği - Hedefleme: Yalnızca mobil cihazlar
    				
    					return window.innerWidth < 768;
    				
    			
    Kod örneği - Hedefleme: Yalnızca tablet cihazlar
    				
    					return window.innerWidth > 768 && window.innerWidth < 1024;
    				
    			
    Kod örneği - Hedefleme: Yalnızca masaüstü cihazlar
    				
    					return window.innerWidth > 1023;
    				
    			

    Önemli not:
    İki farklı uygulama örneğini birbirine bağlamak istiyor ancak nasıl ilerleyeceğinizden emin olamıyor musunuz? Bizimle iletişime geçmekten çekinmeyin: https://varify.io/kontakt/

    Yalnızca belirli bir işletim sistemi kullanan kullanıcıları hedefleyin.

    Kod örneği - Android
    				
    					return /Android/i.test(navigator.userAgent);
    
    				
    			

    IP adresi (beta)

    Önemli not:
    İki farklı uygulama örneğini birbirine bağlamak istiyor ancak nasıl ilerleyeceğinizden emin olamıyor musunuz? Bizimle iletişime geçmekten çekinmeyin: https://varify.io/kontakt/

    Bir deneyi yalnızca ziyaretçiler belirli bir koşulu yerine getirdiğinde oynamak veya engellemek istersiniz IP adresi kullanmak.

    Takas IP_ADRESİ deneyi hedeflemek istediğiniz IP adresi ile değiştirmeniz yeterlidir. İşte IP adresinizi öğrenebilirsiniz.

    Bir IP adresi kullanılıyorsa deneyi görüntüle
    				
    					const IP_ADDRESS = '12.345.67.891'; //change ip adress for targeting
    
    async function checkUserIp(matchIp) {
      return fetch('https://api.ipify.org?format=json')
          .then(response => response.json())
          .then(data => data.ip == matchIp)
          .catch(error => false);
    }
    
    return new Promise((resolve) => {
      checkUserIp(IP_ADDRESS).then(isMatch => {
        resolve(isMatch)
      });
    })
    				
    			
    Bir IP adresi kullanılmıyorsa deneyi görüntüle
    				
    					const IP_ADDRESS = '12.345.67.891'; //change ip adress to exclude for targeting
    
    async function checkUserIp(matchIp) {
      return fetch('https://api.ipify.org?format=json')
          .then(response => response.json())
          .then(data => data.ip !== matchIp)
          .catch(error => false);
    }
    
    return new Promise((resolve) => {
      checkUserIp(IP_ADDRESS).then(isMatch => {
        resolve(isMatch)
      });
    })
    				
    			

    Kampanya ve deney yönetimi

    Reklam Kampanyası

    Önemli not:
    İki farklı uygulama örneğini birbirine bağlamak istiyor ancak nasıl ilerleyeceğinizden emin olamıyor musunuz? Bizimle iletişime geçmekten çekinmeyin: https://varify.io/kontakt/

    Yalnızca sitenize belirli bir reklam kampanyasından gelen kullanıcıları hedefleyin.

    Kod örneği - UTM Kaynağı = ad_campaign
    				
    					const AD_CAMPAIGN = 'YOUR_AD_CAMPAIGN_HERE';
    
    return new URL(window.location).searchParams.get('utm_source') === AD_CAMPAIGN;
    				
    			

    Deney veya kampanya güçlendiricisini yalnızca bir kez gösterin

    Önemli not:
    İki farklı uygulama örneğini birbirine bağlamak istiyor ancak nasıl ilerleyeceğinizden emin olamıyor musunuz? Bizimle iletişime geçmekten çekinmeyin: https://varify.io/kontakt/

    Kullanıcıların bir deneyi veya kampanya güçlendiricisini daha önce gördükten sonra tekrar görmelerini engellemek istiyorsanız, kitle hedefleme yardımıyla bunu kolayca uygulayabilirsiniz.

    Bunu yapmak için, oturum başına tek bir oynatma için oturum depolama alanını veya birden fazla oturumda tek bir oynatma için yerel depolama alanını kullanırız. Deney ilk kez oynatıldığında, depolama alanında ilgili bir giriş oluşturulur ve ardından bir sonraki denemede bu girişin zaten var olup olmadığını kontrol ederiz. Eğer durum böyleyse, deney tekrar görüntülenmeyecektir.

    Oturum Depolama - oturum başına tek seferlik oynatma

    Düzenleyiciyi kullanarak bu kodu varyantınızın JavaScript'ine ekleyin. "experiment-seen-1234" adresindeki 1234 deney kimliğini deneyinizin deney kimliğiyle değiştirmek en iyisidir.

    				
    					window.varify.helpers.onDomLoaded(() => {
      sessionStorage.setItem('experiment-seen-1234', 'true');
    });
    				
    			

    Ardından bu kodu deneyin hedef kitlesine ekleyin. Bu, oturum depolama girişinin zaten var olup olmadığını kontrol eder ve deneyi buna göre yürütür veya engeller.

    				
    					// Check if 'experiment-seen-1234' is not in session storage
    return sessionStorage.getItem('experiment-seen-4374') === null;
    				
    			

    Oturum deposunda true değerine sahip experiment-seen-1234 girişi varsa, deney artık oynatılmaz.

    Yerel Depolama - Birkaç oturumda tek seferlik oynatma

    Düzenleyiciyi kullanarak bu kodu varyantınızın JavaScript'ine ekleyin. "experiment-seen-1234" adresindeki 1234 deney kimliğini deneyinizin deney kimliğiyle değiştirmek en iyisidir.

    				
    					window.varify.helpers.onDomLoaded(() => {
      localStorage.setItem('experiment-seen-1234', 'true');
    });
    				
    			

    Ardından bu kodu deneyin hedef kitlesine ekleyin. Bu, yerel depolama girişinin zaten var olup olmadığını kontrol eder ve deneyi buna göre yürütür veya engeller.

    				
    					// Check if 'experiment-seen-1234' is not in local storage
    return localStorage.getItem('experiment-seen-4374') === null;
    				
    			

    Oturum deposunda true değerine sahip experiment-seen-1234 girişi varsa, deney artık oynatılmaz.

    Deneyler için trafik hariç tutma

    Önemli not:
    İki farklı uygulama örneğini birbirine bağlamak istiyor ancak nasıl ilerleyeceğinizden emin olamıyor musunuz? Bizimle iletişime geçmekten çekinmeyin: https://varify.io/kontakt/

    Hedeflenen sayfaya gelen tüm ziyaretçilerin deneye katılması gerekmiyorsa, ziyaretçilerin yalnızca bir kısmını deneye atamak için aşağıdaki kodu kullanabilirsiniz. Örneğin, site ziyaretçilerinden yalnızca 10%'sinin deney katılımcısı olmasını istiyorsunuz.

    Önemli: İlgili deneyin ilgili Experiment_ID'sini girin ve 1234 (satır 1) yerine koyun.

    Önemli: Katılımcı oranını ayarlamak istiyorsanız, bu koddaki 10 (10%) sayısını istediğiniz oranla, örneğin 30 (30%) ile değiştirin. (satır 11)

    Bir ziyaretçi artık belirlenen olasılığa göre deneye atanır veya deneyden çıkarılır. Eğer atanmışlarsa, "true" değeri yerel depolama alanına kaydedilir ve hariç tutulmuşlarsa "false" değeri kaydedilir. Kitle Hedefleme, yalnızca yerel depolama alanında "true" değeri varsa deneyi oynatır ve bu nedenle kullanıcı bir deney katılımcısı olarak tanımlanır.

    				
    					const EXPERIMENT_ID = 1234;
    const STORAGE_KEY_PREFIX = 'varify-experiment-';
    const specificStorageKey = STORAGE_KEY_PREFIX + EXPERIMENT_ID;
    const PARTICIPANT_KEY = 'experiment-participant';
    
    // Retrieve the existing isInAudience value if it exists
    const storedIsInAudience = localStorage.getItem(PARTICIPANT_KEY);
    
    // If the isInAudience value is not set, determine it and store it
    if (storedIsInAudience === null) {
        const isInAudience = Math.floor(Math.random() * 100) < 10;
        console.log("99");
        localStorage.setItem(PARTICIPANT_KEY, isInAudience ? 'true' : 'false');
    } 
    
    // Check if the specific experiment ID entry exists in localStorage
    const isExperimentStored = localStorage.getItem(specificStorageKey) !== null;
    
    if (!isExperimentStored) {
        if (localStorage.getItem(PARTICIPANT_KEY) === 'true') {
    
            // Set the PARTICIPANT_KEY to true once the specificStorageKey is set
            localStorage.setItem(PARTICIPANT_KEY, 'true');
    
            // Return true
            console.log("true");
            return true;
        } else {
            // If the participant is not in the audience, return false
            console.log("false");
            return false;
        }
    } else {
        // If the specific experiment ID entry exists, return true
        console.log("true");
        return true;
    }
    				
    			

    Tarayıcının geliştirici konsolu aracılığıyla istediğiniz gibi çalışıp çalışmadığını kontrol edebilirsiniz. Bunu yapmak için "Uygulama" sekmesinde yerel depolama alanınıza gidin. Deneyi başlattıktan ve deneyin çalıştığı sayfaya geldikten sonra, katılımcı grubunda olup olmadığınıza bağlı olarak yerel depolama alanında aşağıdakileri görmeniz gerekir:

    Katılımcılar:

    • Anahtar: deney-katılımcı Değer: gerçek
    • Deney de görünür olmalıdır: Anahtar: varify-experiment-1234 Değer: {"variationId":1234/Original, "timestamp":12456789}

    Katılımcı olmayanlar:

    • Anahtar: deney-katılımcı Değer: Yanlış
    • Deneye ilişkin değerler Yerel Depo'da bulunmamalıdır

    Çalışıp çalışmadığını tekrar test etmek istiyorsanız, örneğin katılımcı grubuna girmek için, Yerel Depodaki girişleri manuel olarak silmeniz gerekir. Bunu yapmak için, yerel depolama alanındaki tüm girişleri silmek üzere filtrenin sağındaki çarpı işaretli daireye sahip simgeye tıklayın ve ardından sayfayı yeniden yükleyin.

    Deneylerin karşılıklı olarak dışlanması (trafik dağılımı yapılandırılabilir)

    Önemli not:
    İki farklı uygulama örneğini birbirine bağlamak istiyor ancak nasıl ilerleyeceğinizden emin olamıyor musunuz? Bizimle iletişime geçmekten çekinmeyin: https://varify.io/kontakt/

    Bazı durumlarda, belirli bir deneye atanan katılımcıları başka bir deneyin dışında tutmak gerekir. Bu durum özellikle bir web sitesinin aynı sayfalarında iki deney yapıldığında geçerlidir. Buradaki amaç, deneylerin karşılıklı etkisiyle sonuçların tahrif edilmesini önlemektir. Bu nedenle, deneylerden birine katılan kullanıcıların diğerini görüntüleyememesi sağlanmalıdır.

    Bunu başarmak için, her bir deneyin kitle hedeflemesine belirli kodlar eklenebilir.

    Burada verilen kodlar, kullanıcıları yüzde 50 olasılıkla iki deneyden birine atamakta ve aynı zamanda kullanıcı için diğer deneyi hariç tutmaktadır. Bu dağılım aşağıda açıklandığı gibi özelleştirilebilir.

    Aşağıdaki kod, deneylerden birinde kitle hedeflemede uygulanacaktı:

    				
    					const PARTICIPANT_KEY = 'experiment-participant';
    // Retrieve the existing isInAudience value if it exists
    const storedIsInAudience = localStorage.getItem(PARTICIPANT_KEY);
    console.log('storedIsInAudience:', storedIsInAudience);
    if (storedIsInAudience === 'false') {
    return true;
    } else {
    return false;
    }
    				
    			

    İkinci deney için aşağıdaki kodu eklemek gerekir:

    Kodun ilk satırındaki örnek deney kimliği 1234'ün, bu kodun kullanıldığı deneyin gerçek kimliği ile değiştirilmesi gerektiğine dikkat etmek önemlidir.

    Bu kodun varsayılan olarak iki deney arasında 50:50 kullanıcı dağılımına ayarlandığı da unutulmamalıdır. Farklı bir dağılım isteniyorsa, kodun 9. satırındaki 50 değeri ayarlanarak bu yapılabilir (const isInAudience = Math.floor(Math.random() * 100) < 50;). Örneğin, 50 değerini 75 olarak değiştirirseniz, kullanıcıların 75%'si mevcut deneye ve yalnızca 25%'si diğer deneye atanır.

    				
    					const EXPERIMENT_ID = 1234;
    const STORAGE_KEY_PREFIX = 'varify-experiment-';
    const specificStorageKey = STORAGE_KEY_PREFIX + EXPERIMENT_ID;
    const PARTICIPANT_KEY = 'experiment-participant';
    // Retrieve the existing isInAudience value if it exists
    const storedIsInAudience = localStorage.getItem(PARTICIPANT_KEY);
    // If the isInAudience value is not set, determine it and store it
    if (storedIsInAudience === null) {
    const isInAudience = Math.floor(Math.random() * 100) < 50;
    console.log("99");
    localStorage.setItem(PARTICIPANT_KEY, isInAudience ? 'true' : 'false');
    }
    // Check if the specific experiment ID entry exists in localStorage
    const isExperimentStored = localStorage.getItem(specificStorageKey) !== null;
    if (!isExperimentStored) {
    if (localStorage.getItem(PARTICIPANT_KEY) === 'true') {
    // Set the PARTICIPANT_KEY to true once the specificStorageKey is set
    localStorage.setItem(PARTICIPANT_KEY, 'true');
    // Return true
    console.log("true");
    return true;
    } else {
    // If the participant is not in the audience, return false
    console.log("false");
    return false;
    }
    } else {
    // If the specific experiment ID entry exists, return true
    console.log("true");
    return true;
    }
    				
    			

    Bir deneyin orijinal varyant katılımcılarının ikinci bir deneyde hedeflenmesi

    Önemli not:
    İki farklı uygulama örneğini birbirine bağlamak istiyor ancak nasıl ilerleyeceğinizden emin olamıyor musunuz? Bizimle iletişime geçmekten çekinmeyin: https://varify.io/kontakt/

    İkinci bir deneyin yalnızca daha önce ilk deneyin orijinal versiyonunu görmüş olan kullanıcılara gösterilmesini sağlamak için, bu durum aşağıdaki kod kullanılarak kitle hedeflemede hassas bir şekilde kontrol edilebilir. İlk deneyin varyantını daha önce görmüş olan kullanıcılara ikinci deney gösterilmeyecektir.

    Önemli: 1. satırdaki "1234" deney kimliği, yalnızca orijinal varyantın katılımcılarının ikinci deneyi görmesi gereken ilk deneyin ilgili deney kimliği ile değiştirilmelidir.

    				
    					const EXPERIMENT_ID = 1234;
    const STORAGE_KEY_PREFIX = 'varify-experiment-';
    const specificStorageKey = STORAGE_KEY_PREFIX + EXPERIMENT_ID;
    
    // Retrieve the value for specificStorageKey
    const storedValue = localStorage.getItem(specificStorageKey);
    
    if (storedValue) {
        // Parse the stored JSON string
        const storedData = JSON.parse(storedValue);
    
        // Check if variationId is null
        if (storedData.variationId === null) {
            //console.log('True - variationId is null');
            return true;
        }
    }
    
    // Default return if condition is not met
    //console.log('False - variationId is not null or specificStorageKey does not exist');
    return false;
    				
    			

    Ayrıca, kodun uyarlanmasıyla, orijinal varyantın katılımcılarının hariç tutulabileceği ve varyant katılımcılarının dahil edilebileceği de belirtilmelidir.

    Trafik kaynağı ve içeriği

    Yönlendiren URL

    Önemli not:
    İki farklı uygulama örneğini birbirine bağlamak istiyor ancak nasıl ilerleyeceğinizden emin olamıyor musunuz? Bizimle iletişime geçmekten çekinmeyin: https://varify.io/kontakt/

    Yalnızca ilk web sitenize belirli bir yönlendiriciden (kaynaktan) erişen kullanıcıları hedefleyin.

    Kod örneği - Referrer = https://www.google.com/
    				
    					const REFERRER_URL = 'https://www.google.com/'
    
    return document.referrer === REFERRER_URL;
    				
    			

    Trafik kaynağı

    Önemli not:
    İki farklı uygulama örneğini birbirine bağlamak istiyor ancak nasıl ilerleyeceğinizden emin olamıyor musunuz? Bizimle iletişime geçmekten çekinmeyin: https://varify.io/kontakt/

    Yalnızca belirli bir trafik kaynağından, örneğin haber bültenlerinden gelen kullanıcıları hedefleyin.

    Kod örneği - Haber Bülteni
    				
    					const QUERY_PARAM_KEY = 'source'
    const QUERY_PARAM_VALUE = 'newsletter'
    
    const params = new URLSearchParams(window.location.search);
    return params.get(QUERY_PARAM_KEY) === QUERY_PARAM_VALUE;
    				
    			

    Çerez hedefleme

    Önemli not:
    İki farklı uygulama örneğini birbirine bağlamak istiyor ancak nasıl ilerleyeceğinizden emin olamıyor musunuz? Bizimle iletişime geçmekten çekinmeyin: https://varify.io/kontakt/

    Kullanıcılarınızın çerez girişi olup olmadığını kontrol edin ve yalnızca bu kullanıcıları test katılımcısı olarak tanımlayın. 

    Kod örneği - Çerez ayarlandı
    				
    					const COOKIE_KEY = 'YOUR_COOKIE_KEY_HERE';
    const COOKIE_VALUE = 'YOUR_COOKIE_VALUE_HERE';
    
    const cookies = document.cookie.split(/\s*;\s*/)
      .map(cookie => cookie.split('='));
    
    return Object.fromEntries(cookies)[COOKIE_KEY] === COOKIE_VALUE;
    				
    			

    Oturum ve Yerel Depolama Hedefleme

    Önemli not:
    İki farklı uygulama örneğini birbirine bağlamak istiyor ancak nasıl ilerleyeceğinizden emin olamıyor musunuz? Bizimle iletişime geçmekten çekinmeyin: https://varify.io/kontakt/

    Kullanıcılarınızın oturumda veya yerel depolamada ilgili bir girişi olup olmadığını kontrol edin ve yalnızca bu kullanıcıları test katılımcısı olarak tanımlayın. 

    Kod örneği - Oturum Depolama değeri ayarlandı
    				
    					const STORAGE_KEY = 'YOUR_SESSION_STORAGE_KEY';
    const STORAGE_VALUE = 'YOUR_SESSION_STORAGE_VALUE';
    
    return sessionStorage.get(STORAGE_KEY) === STORAGE_VALUE;
    				
    			
    Kod örneği - Yerel Depolama değeri ayarlandı
    				
    					const STORAGE_KEY = 'YOUR_LOCAL_STORAGE_KEY';
    const STORAGE_VALUE = 'YOUR_LOCAL_STORAGE_VALUE';
    
    return localStorage.get(STORAGE_KEY) === STORAGE_VALUE;
    				
    			

    Sorgu parametreleri

    Önemli not:
    İki farklı uygulama örneğini birbirine bağlamak istiyor ancak nasıl ilerleyeceğinizden emin olamıyor musunuz? Bizimle iletişime geçmekten çekinmeyin: https://varify.io/kontakt/

    Yalnızca web sitenize belirli bir sorgu parametresi aracılığıyla erişen kullanıcıları hedefleyin. Örneğin, varyantınızı test etmek için bu kullanım durumunu kullanabilirsiniz. Bu örnekte varyant, URL sorgu parametresi ?varify-testing=true ile çağrılır.

    Kod örneği - ?varify-testing=true
    				
    					const QUERY_PARAM_KEY = 'varify-testing'
    const QUERY_PARAM_VALUE = 'true'
    
    const params = new URLSearchParams(window.location.search);
    return params.get(QUERY_PARAM_KEY) === QUERY_PARAM_VALUE;
    				
    			

    Belirli bir değere sahip JavaScript değişkeni

    Önemli not:
    İki farklı uygulama örneğini birbirine bağlamak istiyor ancak nasıl ilerleyeceğinizden emin olamıyor musunuz? Bizimle iletişime geçmekten çekinmeyin: https://varify.io/kontakt/

    Bir denemenin yalnızca bir JavaScript değişkeni belirli bir değere sahipse oynatılacağını belirtmek için Kitle Hedefleme'de aşağıdaki kodu kullanabilirsiniz. 

    Önemli: "myVariable" ifadesini ilgili değişken adıyla ve "myValue" ifadesini ilgili değişken değeriyle değiştirin. (Ayrıca değerin string, integer, Boolean, vb. olup olmadığına dikkat edin ve gerekirse kontrolü ayarlayın).

    				
    					return window.myVariable === 'myValue';
    				
    			

    CSS sınıf seçici

    Önemli not:
    İki farklı uygulama örneğini birbirine bağlamak istiyor ancak nasıl ilerleyeceğinizden emin olamıyor musunuz? Bizimle iletişime geçmekten çekinmeyin: https://varify.io/kontakt/

    Bir deneyi yalnızca sayfada belirli bir CSS sınıfına sahip bir öğe varsa oynatmak veya engellemek mi istiyorsunuz? Aşağıdaki kod örnekleri size yardımcı olacaktır.

    Takas CSS_CLASS_NAME sadece deneyi hedeflemek istediğiniz ilgili sınıf adı ile.

    CSS sınıfı varsa deneyi göster
    				
    					//Include experiement when CSS class exists on page
    const className = 'CSS_CLASS_NAME';
    return (document.querySelector('.' + className) !== null);
    				
    			
    CSS sınıfı varsa deneyi görüntüleme
    				
    					//Exclude experiement when CSS class exists on page
    const className = 'CSS_CLASS_NAME';
    return !(document.querySelector('.' + className) !== null);
    				
    			

    Uygulama örneklerini birbirleriyle birleştirin

    Farklı uygulama senaryolarını birbirleriyle kolayca birleştirebilirsiniz. Bunu yapmak için öncelikle uygulama örneklerinin dönüş değerlerini kendi değişkenlerinize kaydedersiniz. Daha sonra bu değişkenleri mantıksal bir operatörle (VE, VEYA) genel bir dönüş değerine bağlayabilirsiniz, bu da hedef kitlenin deneyi göstermesini veya engellemesini sağlar.

    Buradaki soru, bağlantılı kullanım senaryolarının kitle hedefleme koşullarının aynı anda mı yerine getirilmesi gerektiği (VE), yoksa yalnızca bir koşulun yerine getirilmesinin yeterli olup olmadığıdır (VEYA). Aşağıda bununla ilgili örnekler bulacaksınız.

    Önemli not:
    İki farklı uygulama örneğini birbirine bağlamak istiyor ancak nasıl ilerleyeceğinizden emin olamıyor musunuz? Bizimle iletişime geçmekten çekinmeyin: https://varify.io/kontakt/

    Tüm koşullar yerine getirilmelidir (VE)

    Bu örnek için klasik bir kullanım durumu, bir deneyin yalnızca mobil kullanıcılar için gerçekleştirilmesi olabilir. Ancak, QA'yı oturum depolama alanı üzerinden de gerçekleştirmek istersiniz.

    Deney yalnızca QA Oturum Deposu mevcutsa oynatılmalıdır VE ekran genişliği bir mobil cihaza karşılık gelir.

    				
    					//Audience Targeting for QA with Session Storage
    const STORAGE_KEY = 'varify-test';
    const STORAGE_VALUE = 'true';
    let isValueMatched = sessionStorage.getItem(STORAGE_KEY) === STORAGE_VALUE;
    
    //Audience Targeting for mobile users
    let mobileWidth = window.innerWidth < 768;
    
    // //Combined with AND operator. Return true if both variables are true.
    return isValueMatched && mobileWidth;
    				
    			
    • Oturum depolamalı QA için uygulama örneğinde dönüş bir değişken oluşturur (let isValueMatched =)
    • Aynı şekilde mobil kitle hedefleme kodunun geri dönüşü için de (let mobileWidth =)
    • Değişken adlarını kendiniz tanımlayabilirsiniz, ancak bunlar farklı olmalıdır
    • "return" ile yeni bir satır eklenmiş olup, burada iki değişken UND koşul bağlantılıdır -> &&

    Deney sadece her iki değişkenin de aşağıdaki değerlere sahip olması durumunda gösterilir gerçek kendi.

    Bir koşul yerine getirilmelidir (VEYA)

    Ancak bazen, tüm koşulların karşılanması gerekmeyen kitle hedefleme senaryolarını da birleştirmek istersiniz. Bu durumda, değişkenler bir OR operatörü ile bağlanır.

    Bir deneyi yalnızca belirli bir kampanyanın veya yönlendirenin ziyaretçilerine oynatmak istemeniz buna bir örnek olabilir. Bunu yapmak için, iki senaryonun bir OR ile bağlanması gerekir.

    				
    					//Audience Targeting for Specific Campaign
    const AD_CAMPAIGN = 'YOUR_AD_CAMPAIGN_HERE';
    let specificCampaign = new URL(window.location).searchParams.get('utm_source') === AD_CAMPAIGN;
    
    
    //Audience Targeting for Specific Referrer
    const REFERRER_URL = 'https://www.google.com/'
    let specificReferrer = document.referrer === REFERRER_URL;
    
    //Combined with OR operator
    return specificCampaign || specificCampaign;
    
    				
    			
    • Bu kitaptan dönüş kampanya senaryosunun bir değişkeni (specificCampaign =) oluşturuldu
    • Bu kitaptan dönüş yönlendiren senaryosunun, değişken (specificReferrer =) oluşturuldu
    • ile her iki değişkenden yeni bir dönüş sorgusu oluşturuldu. VEYA Operatör || yaratıldı

    İki değişkenden en az biri doğru değerini içeriyorsa, deney oynanır.

    Teknik açıklama

    Hedeflemenin geçerli olup olmadığını belirlemek için yürütülen Kitle Hedefleme alanında herhangi bir JavaScript tanımlanabilir. Geri dönüş değeri olduğu sürece Falsy JavaScript her yürütmeden sonra tekrar kontrol edilir. 100ms kadar yürütülür 2000ms ulaşılır. Bundan sonra iptal edilir ve kullanıcı kitle hedeflemesine dahil edilmez. Asenkron özellikler için bir Söz veriyorum geri döner.

    Bir deney kitle hedefleme olmadan oynatılacaksa, ekran görüntüsünde gösterildiği gibi varsayılan değeri (return true;) bırakmalısınız.

  • İlk adımlar

    İzleme ve değerlendirme

    Hedefleme

    Gelişmiş

    Fonksiyona genel bakış