• Kitle hedefleme

    İçindekiler tablosu

    Kısa ve tatlı

    Kitle hedefleme ile hangi hedef grubun denemenize katılacağını belirlersiniz. Örneğin, yalnızca web sitenize belirli bir kaynak üzerinden gelen kullanıcıları hedefleyebilir veya özellikle mobil, tablet veya masaüstü kullanıcılarını seçebilirsiniz. Seçenekler çok yönlüdür.

    Hedef kitle hedeflemenizi Segment Builder'da oluşturursunuz. Daha karmaşık hedeflemeler için JavaScript kullanabilirsiniz. İstediğiniz hedeflemeyi uygulamak için kullanabileceğiniz, farklı kullanım durumlarına yönelik çeşitli JavaScript şablonlarını burada bulabilirsiniz.

    Adım adım öğretici

    Kitle hedefleme

    Öğreticiyi başlat

    Segment Oluşturucu

    Kitle Hedefleme'deki Segment Oluşturucu ile denemenizde hangi kullanıcı gruplarının yer alacağını belirlersiniz. Herhangi bir ayar yapmazsanız, Sayfa Hedefleme'deki koşulları yerine getiren tüm ziyaretçiler otomatik olarak katılacaktır.

    „Kitle hedefleme“ sekmesinde, denemenizin gerçekleştirileceği yeni koşullar eklemek için „Koşul +“ seçeneğini kullanın. Bunu yapmak için listeden bir koşul seçin. Birden fazla koşulu AND veya OR ile birbiriyle birleştirebilirsiniz.

    Daha önce kaydettiğiniz segmentler varsa, bunları „Kaydedilen segment +“ aracılığıyla tek bir tıklamayla hedef kitle hedeflemesi olarak benimseyebilirsiniz.

    Kitle hedeflemenizi „Kitle Hedeflemesini Kaydet“ aracılığıyla kaydedin, böylece deney için etkin olur. Hedef kitle hedeflemesini istediğiniz zaman düzenleyebilirsiniz.

    Segmentleri kaydetme (isteğe bağlı)

    Hedef kitlenizi oluşturduktan sonra, isteğe bağlı olarak onu bir segment olarak kaydedebilir ve daha sonra başka deneylerde yeniden kullanabilirsiniz. Bu, hedef kitlenizi bir kez tanımlamanıza ve ardından tekrar tekrar segment olarak seçmenize olanak tanır.

    Tanımlanmış bir hedef kitleyi segment olarak kaydetmek için „Hedef kitle hedeflemesini kaydet“ seçeneğinin yanındaki açılır menüyü açın. Ardından hedeflemeyi bir segment olarak kaydetmek için „Hedefleme segmentini kaydet “i seçin.

    Kitle hedefleme koşulları

    Kitle hedeflemede, denemenizi gerçekleştirmek ve segmentler oluşturmak için elinizde çeşitli yöntemler vardır. Bu listede tüm hedefleme yöntemlerine genel bir bakış bulacaksınız. Ayrıca bunları AND veya OR ile birbirleriyle birleştirebilirsiniz.

    Yöntem Açıklama (örnek dahil)
    Tarayıcı Tarayıcıya özgü etkileri veya görüntü farklılıklarını test etmek için bir deneyi yalnızca belirli tarayıcıların kullanıcıları için gösterin.
    Örnek: Safari tarayıcısına sahip kullanıcılar deneyde yer alıyor.
    Tarayıcı Dili Varyantları uygun dilde göstermek için ayarlanan tarayıcı diline göre deneyleri oynatın.
    Örnek: Tarayıcı dili Almanca olan kullanıcılar Almanca versiyonu göreceklerdir.
    Kurabiye Kullanıcı durumlarına bağlı olarak varyantları oynatmak için mevcut çerezleri temel alan deneyleri hedefleyin.
    Örnek: Alışveriş sepeti çerezi olan kullanıcılar, hedeflenmiş alışveriş sepeti teklifleriyle ilgili bir deneme görür.
    Cihaz Her cihaz için optimize edilmiş varyantları test etmek için bir deneyi belirli cihaz türleriyle sınırlayın.
    Örnek: Mobil cihazlardaki kullanıcılar deneye katılıyor.
    Platform Platforma özgü farklılıkları dikkate almak için yalnızca belirli platformlarda/işletim sistemlerinde deney yapın.
    Örnek: Deneye Android kullanıcıları da katılıyor.
    Coğrafi Konum Bölgesel varyantları veya yerelleştirilmiş içeriği test etmek için deneyleri konuma göre hedefleyin.
    Örnek: Deneye Almanya'dan kullanıcılar katılıyor.
    IP Bir deneye belirli IP'leri dahil edin veya hariç tutun, örneğin KG için veya dahili erişimi verilerden hariç tutmak için.
    Örnek: 123.123.123.123 IP adresine sahip kullanıcılar deneyden hariç tutulmuştur.
    Yerel Depolama Yinelenen kullanıcı durumlarından yararlanmak için bir deneyi yalnızca belirli bir yerel depolama değeri mevcutsa çalıştırın.
    Örnek: localStorage değeri experiment=true olan kullanıcılar deneyde yer alır.
    Oturum Depolama Yalnızca geçerli oturum için geçerli olan bir oturum depolama değeri kullanarak bir deneyi hedefleyin.
    Örnek: sessionStorage değeri experiment=true olan kullanıcılar deneyde yer alır.
    URL Sorgu Parametresi Kampanya trafiğini hedefli bir şekilde test etmek için yalnızca belirli URL parametrelerine sahip kullanıcılar için bir deneme oynatın.
    Örnek: campaign=blackfriday olan kullanıcılar deneye katılır.
    URL yönlendiricisi Kullanıcıları trafik kaynağına bağlı olarak farklı şekilde test etmek için yönlendirene bağlı olarak bir deneme gösterin.
    Örnek: Deneye google.com'dan gelen kullanıcılar katılıyor.
    JavaScript Daha karmaşık kitle hedefleme için veya diğer yöntemlerden hiçbiri mümkün değilse JavaScript kullanın.
    Dönüş ifadesi true değerini döndürürse hedefleme etkindir.
    Örnek: Kullanıcılar, belirli bir veri katmanı girişi mevcutsa deneyde yer alırlar (Diğer JavaScript uygulama örnekleri).

    JavaScript Kitle Hedefleme (uzmanlar için)

    Daha karmaşık kitle hedeflemeleri için veya hedeflemeniz Segment Builder'daki diğer yöntemlerle uygulanamıyorsa JavaScript kullanabilirsiniz. Dönüş ifadeniz true değerini döndürürse hedefleme etkindir.

    Aşağıda çeşitli uygulama örnekleri bulacaksınız.

    JavaScript uygulama örnekleri

    Not: Bu uygulama örneklerinden bazılarını Segment Builder'daki diğer hedefleme yöntemlerini kullanarak da kolayca uygulayabilirsiniz.

    Örnek uygulamalara genel bakış

    Ziyaretçiler ve davranışlar

    Dil ve bölge

    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

    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.

    Web sitenizi daha önce ziyaret etmiş olan kullanıcıları tanımak için, önceden yalnızca bu kullanıcıları işaretlemek için kullanılan ayrı bir deneme oluşturmanız gerekir. Daha sonra asıl denemenize yalnızca önceki deneyi görmüş veya görmemiş kullanıcıları dahil edebilirsiniz.

    İlgili kod parçacığını denemenizin hedef kitle hedeflemesine ekleyin ve ayrı denemenin deneme kimliğini 'YOUR_EXPERIMENT_ID' alanına girin.

    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ü

    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

    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()
    });
    				
    			

    Veri katmanı girişi

    Yalnızca veri katmanında belirli bir parametreye veya belirli bir değere sahip kullanıcıları hedeflemek için veri katmanında gezinebilirsiniz. Aşağıdaki örnekte, yalnızca daha önce ID 1111 veya ID 2222 ile belirli bir ürünü görüntülemiş olan kullanıcılar hedeflenir.

    Kod örneği - Veri Katmanı Hedefleme

    				
    					return dataLayer?.some(item => item?.ecommerce?.checkout?.products?.[0]?.id==='1111' || item?.ecommerce?.checkout?.products?.[0]?.id==='2222');
    				
    			

    Teknik ve cihaz hedefleme

    Tarayıcı

    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)

    Ö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;
    				
    			

    Platform / İşletim Sistemi

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

    Kod örneği - Android

    				
    					return /Android/i.test(navigator.userAgent);
    
    				
    			

    Kampanya ve deney yönetimi

    Reklam Kampanyası

    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

    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

    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)

    Bazı durumlarda, belirli bir deneye atanan katılımcıların diğer deneylerden hariç tutulması gerekir. Bu, özellikle bir web sitesinin aynı sayfalarında iki veya daha fazla deney yapıldığında geçerlidir. Bu, deneyler arasındaki karşılıklı etki nedeniyle sonuçların tahrif edilmesini önlemek içindir.

    Aşağıdaki kodda en üstte iki sabit göreceksiniz DENEYLER ve TAHSİSLER.

    • DENEYLERİlgili deneylerin birbirini dışlayan deney kimliklerini girin (örneğin: 10201, 12345, 11456). En az iki deney kimliği girilmelidir, maksimum sayı sınırsızdır.
    • TAHSİSLERBurada deneyler arasındaki trafik dağılımını tanımlarsınız. Bir girdi ile [25, 50, 25] altındaki örnekte olduğu gibi DENEYLER Kullanıcıların 25 %'si 10201 deneyini, 50 %'si 12345 deneyini ve 25 %'si 11456 deneyini görecektir.

    Lütfen aşağıdaki kodu her biri birbirini dışladığı varsayılan deneyler. Sabitini kullandığınızdan emin olun DENEYLER teste başlamadan önce ve her deney için tam olarak aynı kodun eklendiğinden emin olun.

    				
    					const EXPERIMENTS = [205, 206, 207, 208]; // Participating experiments in this cluster
    const ALLOCATIONS = [25, 25, 25, 25]; // Has to sum up to 100 and be the same length as EXPERIMENTS
    const PARTICIPANT_KEY = 'experiment-participant-1'; // should be unique per experiment-cluster
    const STORAGE = window.localStorage; // or window.sessionStorage
    
    const storedIsInAudience = STORAGE.getItem(PARTICIPANT_KEY);
    if (storedIsInAudience === null) {
      let randomNumber = Math.floor(Math.random() * 100);
      const selectedExperiment = EXPERIMENTS.find((_, index) => {
        const allocation = ALLOCATIONS[index];
        if (randomNumber < allocation) {
          return true;
        }
        randomNumber -= allocation;
        return false;
      });
    
      STORAGE.setItem(PARTICIPANT_KEY, selectedExperiment);
    }
    
    const specificStorageKey = `varify-experiment-${experimentId}`;
    const isExperimentStored = STORAGE.getItem(specificStorageKey) !== null;
    if (isExperimentStored) {
      console.log('true');
      return true;
    }
    if (STORAGE.getItem(PARTICIPANT_KEY) === experimentId.toString()) {
      console.log('true');
      return true;
    }
    console.log('false');
    return false;
    				
    			

    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 ayarlanması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. Bir sonraki nokta bunun nasıl yapılacağını göstermektedir.

    Çok Sayfalı Deneyler - Belirli bir varyantın hedeflenmesi - İkinci bir deneyde bir deneyin katılımcıları

    Çok sayfalı deneyleri ayarlamak için aşağıdaki şekilde ilerlemek en iyisidir.

    1. Varyantta bir değişikliğin gerçekleşeceği her web sitesi için bir deney oluşturun.

    2. Birincil deneyin ne olduğunu tanımlayın. Birincil deney, ziyaretçilerinizin hangi sayfada test katılımcısı olması gerektiğine ilişkin deneydir.

    3. Birincil Deney hariç Çok Sayfalı Deneyin tüm deneylerinde kitle hedeflemeye aşağıdaki kodu ekleyin. 

    4. Experiment_ID'yi birincil deneyinizin kimliği olarak değiştirin

    5. targetVariationId'yi birincil deneyinizin varyasyon kimliği olarak değiştirin.

    6. Birincil deney dışındaki tüm deneyler için trafik dağılımını varyantın 100%'sine ayarlayın 

    				
    					const EXPERIMENT_ID = 13013; // Change this to the experiment ID you're interested in
    const STORAGE_KEY_PREFIX = 'varify-experiment-';
    const specificStorageKey = STORAGE_KEY_PREFIX + EXPERIMENT_ID;
    const targetVariationId = 17347; // The specific variation ID to check for
    
    // Retrieve the value for specificStorageKey
    const storedValue = localStorage.getItem(specificStorageKey);
    
    if (storedValue) {
        // Parse the stored JSON string
        const storedData = JSON.parse(storedValue);
    
        // Check if the current user has the specific variation ID
        if (storedData.variationId === targetVariationId) {
            console.log('User has the specific variation ID');
            return true;
        } else {
            console.log('User does not have the specific variation ID');
            return false;
        }
    } else {
        console.log('No data found for this experiment ID');
        return false;
    }
    				
    			

    Trafik kaynağı ve içeriği

    Yönlendiren URL

    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ğı

    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;
    				
    			

    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

    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.getItem(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.getItem(STORAGE_KEY) === STORAGE_VALUE;
    
    				
    			

    Sorgu parametreleri

    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

    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

    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);
    				
    			

    JavaScript 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.

    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