AnalyticaHouse

Pazarlama İpuçları, Gündem ve Daha Fazlası

AnalyticaHouse’un güçlü iş ortaklıklarından beslenen deneyimi ile güncel trendler, stratejik içgörüler ve sektörel derinlik içeren blog yazılarımızı keşfedin.

Yeni Bir Web Sitesi Kurulurken SEO Uyumlulukta Nelere Dikkat Edilmeli?
Eyl 3, 2022 1449 reads

Yeni Bir Web Sitesi Kurulurken SEO Uyumlulukta Nelere Dikkat Edilmeli?

Bir web sitesi yapım aşamasındayken arama motoru uyumluluğu açısından en rahat optimizasyonların ve altyapı kurulumlarının yapılacağı zamandır. Hız, görseller, canonical ve meta düzenlemesi gibi pek çok SEO metriği, web sitesi yapım aşamasındayken rahatlıkla düzenlenerek, belirli kurallar çerçevesinde kodlanabilir ve web sitesi yayına alındıktan sonra büyük kolaylık sağlar.1- Hızsal FaktörlerHız, başarılı bir arama motoru optimizasyonu ve kullanıcı deneyimi için en önemli faktörlerden bir tanesidir. Web sitelerinin büyük çoğunluğunda hızı etkileyen en belirgin faktörler arasında: Görsel & Medya İçerikleri CSS Dosyaları JS Dosyaları Sunucu Kalitesi yer almaktadır. Web sitesi hazırlanırken öncelikle sitedeki tüm görsellerin optimize olması ve verimliliği kaybettirmeyecek boyutlarda olması gerekmektedir. Bunun için görselleri WebP, JPEG2000, JPEG, SVG formatlarında kullanmak önemlidir. WebP formatı Safari tarayıcılarda görünmediği için HTML kısmında “one-error” fonksiyonu kullanılarak Safari tarayıcılarda görselin JPEG versiyonu gösterilirken diğer (Chrome, Mozilla, Opera vb.) tarayıcılarda WebP formatı gösterilebilir. Görsel ve medya içeriklerinin mümkün olabildiğince optimize olması son derece önemlidir. Görsellerin sıkıştırılarak 150 KiB altına düşürülmesi, tarayıcı açılış hızını olumlu yönde etkilemektedir. Görsel ve medya içeriklerinin bulundukları alandan daha yüksek boyutta olmamaları da önemlidir. Örneğin Ana Sayfa’da yer alan bir grid modül içerisinde ortalama 400x400 pixellik alana eklenecek görselin 400px den daha büyük olmaması gerekir. Zira görsel, tarayıcı tarafında 400px’lik alan kaplarken, yüklenme sırasında daha yüksek boyut ve çözünürlük yükleyecektir. Bu da açılış hızını olumsuz etkileyecektir.JS (JavaScript) ve CSS dosyalarında ise yapılan en belirgin hata, hazır JS ve CSS kütüphanelerinin optimize edilmeden kullanılmasıdır. Örneğin jQuery JS kütüphanesi veya Bootstrap CSS kütüphanesi, içerisinde pek çok class ve fonksiyon barındırır. Ancak web sitelerimizde genellikle bu class ve fonksiyonların pek azını kullanırız. Bu yüzden sayfaya include edilmeden önce mutlaka gereksiz class ve fonksiyonlar bu dosyalardan temizlenerek, sıkıştırma işlemleri yapılmalıdır.Web site hızını etkileyen bir diğer faktör ise sunucu kalitesidir. Bir kullanıcı web sayfasını ziyaret ettiği sırada, sayfadaki DOM ögelerinin sunucu tarafından yüklenmesi, Request isteklerinin sunucu taraflı geç yanıtlanması, sayfa performansını olumsuz etkilemektedir. Bu yüzden web sitesinin işlemci, CPU ve RAM bakımından kaliteli bir sunucuda yer alması, bant genişliğinin yüksek olması önemlidir.2- Meta DüzenlemeleriBir web sayfasının olmazsa olmaz metaları bulunmaktadır. Meta title, meta description (Google harici arama motorları için meta keywords) bunlardan başlıcalarıdır. Öncelikle meta title ve description alanlarının mutlaka CMS tarafında düzenlenebilir ve özelleştirilebilir olması gerekmektedir. Ancak bir sayfanın metalarının boş olmaması gerektiğinden ve bazen bazı sayfalar gözden kaçabildiği için, eğer özel bir meta açıklamaları girilmediyse kural tanımlanarak metalar oluşturulabilir. Örneğin:Sayfa H1’i + Site Adı<pre><title>Sayfa H1’i + Site Adı</title> <meta name="”description”" content="”Sayfadaki" ilk="" paragraf="" karakteri=""></pre> Bu sayede unutulan/gözden kaçan sayfalarda meta etiketleri boş gelmek yerine bir kurala bağlı olarak standart oluşacaktır. Meta etiketleri mutlaka sayfanın etiketleri arasında yer almalıdır.3- Canonical İşaretlemesiCanonical etiketleri, bir web sayfasının tarama ve indekslenme kriterini belirten en önemli işaretlemelerden bir tanesidir. Web sitelerinde duplicate (kopya) sayfa sorunu yaşamamak, bir sayfanın aslının kendisi mi yoksa başka bir sayfa mı olduğunu belirtmek için canonical işaretlemesi kullanılmaktadır. Canonical işaretlemesi mutlaka CMS tarafında düzenlenebilir ve özelleştirilebilir olmalıdır. Ancak düzenlenmesi unutulan/gözden kaçan sayfalar olabileceği için tıpkı meta düzenlemelerinde olduğu gibi bir kural tanımlanarak tüm sayfalarda canonical işaretlemesi oluşturulmalıdır. Örneğin:Bu sayede opsiyonel olarak düzenlenmemiş tüm sayfalarda otomatik kendisini işaret eden canonical işaretlemesi yapılmış olacak. Canonical işaretlemesi mutlaka sayfanın etiketleri arasında yer almalıdır.4- H1 Başlık EtiketiH1 başlık etiketi, bir web sayfasının çatı başlığıdır. İlgili sayfanın doğrudan hedeflenen anahtar kelimesini taşımakta ve sayfada yer alan tüm içeriğin başlığını yansıtmaktadır. Her sayfada mutlaka 1 adet H1 etiketi yer almalıdır. H1 etiketleri mutlaka CMS tarafında düzenlenebilir ve özelleştirilebilir olmalıdır. Ancak meta ve canonicalda olduğu gibi, düzenlemesi unutulan sayfalarda boş gelmek yerine bir kural tanımlanabilir. Örneğin:Sayfa AdıHer sayfada en fazla 1 adet H1 başlık etiketi bulunmalıdır. Bu yüzden sayfada farklı H1 etiketlerinin yer aldığı alanlar varsa bu alanlar H1 yerine veya etiketleriyle tanımlanmalıdır.5- Robots.txt DosyasıRobots.txt dosyası, arama motoru botlarının bir web sitesinde ilk ziyaret ettikleri bir çeşit giriş navigasyonudur. Site içerisinde taranması veya taranmaması istenen sayfalar/klasörler, site haritasının yolu, robots.txt dosyasında belirtilmektedir. “Allow” komutu ile başlayan robots.txt satırı, taranabilir web sayfasını ifade ederken “Disallow” komutu ise taranması istenmeyen sayfaları ifade eder. “User-agent” komutu ise hangi botlara yönelik komut verileceğini belirtir. Örneğin bir web sitesi Google botlarına taramaya açık tutulurken screaming frog vb. tarama botlarına kapatılabilir. “*” işareti tüm botlar için komutların geçerli olacağını ifade etmektedir. Yönetici paneli olan bir web sayfası için standart robots.txt dosyası şu şekilde oluşturulabilir:User-agent: * Allow: / Disallow: /admin Sitemap: https://siteadi.com/sitemap.xmlRobots.txt’in Site İçine EtkisiBir robots.txt oluşturulduğu zaman mutlaka tarama bütçesine yardımcı olmak için burada tanımlanan komutların site içerisindeki sayfalara dinamik etkisi olmalıdır.Örneğin robots.txt dosyasında /hesabim URL’ini disallow vererek taramaya kapatıyoruz. Bu durumda arama motoru botlarına yardımcı olabilmek için site içerisinde dinamik bir şekilde /hesabim adresi verilen tüm linklere “nofollow” etiketi eklenmelidir. Aksi halde arama motoru botları robots.txt’de taramaması gereken bir sayfayı site içi linklemeleri takip ederek tarayabilir. Bu durum tarama bütçesini olumsuz etkilemektedir. Nofollow etiketinin yanı sıra yine robots.txt sayfasında disallow edilen bir sayfa varsa doğrudan bu sayfa içerisine meta robots etiketi eklenmelidir. Örnek:Robots.txt dosyasında disallow edilen sayfalar site haritasında da yer almamalıdır. Tüm bu süreç web sitesi hazırlanırken dinamik bir şekilde oluşturulmalıdır. Robots.txt tarafında disallow edilen bir sayfanın, site içerisinde yer aldığı tüm linklerin nofollow edilmesi, sayfa içine meta robots etiketinin eklenmesi dinamik olmalıdır. 6- Site Haritası – Sitemap.xmlSite haritası, web sitesini ziyaret eden arama motoru botlarına, site gezinmesinde ve taramasında kolaylık sağlayan bir çeşit navigasyon dosyalarıdır. Site haritaları manuel değil dinamik oluşturulmalıdır. Bir web sayfasının hizmet, blog, ürün gibi kullanıcıya listelenen tüm sayfaları site haritasında yer almalıdır. Elbette site haritasını dinamik oluştururken mutlaka öncelikli faktör robots.txt dosyası olmalıdır. Robots.txt dosyasında disallow eklenerek taramaya kapatılan bir sayfa/URL varsa, bu sayfa/URL’in site haritasında yer almaması gerekmektedir. Site haritaları mutlaka .xml uzantılı ve okunabilir olmalıdır. Örnek bir site haritası modeli için Google dökümanını ziyaret edebilirsiniz:https://developers.google.com/search/docs/advanced/sitemaps/build-sitemap 7- Pagination & Infinite Scroll KullanımıÖzellikle e-ticaret sitelerindeki ürün listeleme ve blog listeleme sayfalarında pagination (sayfalama) mutlaka kullanılmalıdır. Bir kategori sayfası ziyaret edildiğinde o kategoriye ait tüm ürün/içeriklerin aynı sayfada listelenmesi, tarayıcı performansını ve kullanıcı deneyimini olumsuz etkileyecektir. Bu durumu önlemek ve sayfa verimliliğini arttırmak için sayfada pagination yapısı kullanılmalıdır. Birden çok pagination yapısı bulunmaktadır. Örneğin:Sayfalanarak yapılan pagination:Veya infinite scroll dediğimiz sayfa kaydırıldıkça yüklenen içerik paginationı. Bu pagination çeşitleri arasından günümüzde en yaygın kullanılanı Load More ve Infitine Scroll sayfalamadır. Zira kullanıcılar için doğrudan farklı sayfalara geçmek yerine, sayfa kaydırma işlemi yapıldıkça içeriklerin/ürünlerin yüklenmesi kullanıcı deneyimini arttırmaktadır. Günümüzde Google’da infinite scroll pagination yapısına geçmektedir ve tavsiye etmektedir. Örnek Google dökümanı:https://developers.google.com/search/blog/2014/02/infinite-scroll-search-friendly8- Dil / Hreflang EtiketleriBir web sitesinde birden çok dil seçeneği kullanılıyorsa, hem duplicate sorunu yaşamamak hem de lokasyon bazlı aramalarda daha alakalı sonuçların listelenmesini sağlamak için web sitesinde hreflang etiketi kullanılmalıdır. Bu etiketler her dil sayfasında, alternatif dil sayfalarını işaret etmelidir. Örneğin varsayılan olarak Türkçe dilinde açılan bir web sayfasının İngilizce dilinde versiyonu varsa;Türkçe sayfada yer alacak hreflang:İngilizce sayfada yer alacak hreflang:9- Yapısal Veri İşaretlemeleriStructured Data / Yapısal Veri İşaretlemeleri bir web sayfasının, arama motorları tarafından daha anlaşılabilir yorumlanmasını sağlayan bir çeşit schema işaretlemeleridir. Web sayfaları için pek çok yapısal veri işaret türü bulunmaktadır. En çok kullanılan yapısal veri işaretlemelerine örnek verecek olursak: Organization İşaretlemesiOrganization işaretlemesi web sitesinin sadece ana sayfasında yer alması gereken, web sitenin kartvizitini temsil eden işaretleme türüdür. Bu işaretlemede web sitesinin organizasyonu, iletişim bilgileri vb. yer almaktadır. Organization işaretlemesi şu şekilde yapılabilir:  {"@context": "http://schema.org", "@type": "Organization", "name": "SİTE ADI", "logo": "LOGO ADRESİ”, "url": "https://siteadi.com/", "email": "SİTE E-MAİL", "address": "ŞİRKET ADRESİ", "telephone": "İLETİŞİM TELEFONU" } Breadcrumb İşaretlemesiBreadcrumb işaretlemesi hali hazırda olan breadcrumb yapısının daha düzenli bir şekilde arama botlarına sunulmasına fayda sağlayacağından tüm sayfalarımızda hiyerarşiyi göstermek adına mutlaka kullanılmasını önermekteyiz.Tüm iç sayfalarda yer alacak breadcrumb işaretlemesi, hiyerarşik olarak kendisinden önce gelen tüm kategorileri işaret etmelidir. Örnek: { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [ { "@type": "ListItem", "position": 1, "item": { "@id": "https://siteadi.com/", "name": "Ana Sayfa" } }, { "@type": "ListItem", "position": 2, "item": { "@id": "https://siteadi.com/kategori", "name": "Kategori Adı" } }, { "@type": "ListItem", "position": 3, "item": { "@id": "https://siteadi.com/kategori/urun-adi", "name": "Ürün Adı" } } ]}Product İşaretlemesi (E-Ticaret Siteleri İçin)Product işaretlemesi, ürün sayfaları için kullanılmakta ve doğrudan ürün hakkında bilgileri içermektedir. Örnek: { "@context": "http://schema.org/", "@type": "Product", "name": "ÜRÜN ADI", "url": "ÜRÜN URL", "description": "ÜRÜN AÇIKLAMASI", "sku": "ÜRÜN SKU", "brand": { "@type": "Thing", "name": "MARKA ADI" }, "offers": { "@type": "Offer", "url": "ÜRÜN URL", "priceCurrency": "PARA CİNSİ ÖRN: TRY", "price": "ÜRÜN FİYATI", "availability": "http://schema.org/InStock", "seller": { "@type": "Organization", "name": "MARKA ADI" } } } Service İşaretlemesi (Hizmet Sayfaları İçin)Danışmanlık, eğitim vb. hizmet alanında satış yapan siteler için product yerine service işaretlemesi kullanabilir. Örnek kullanımı: { "@context": "https://schema.org/", "@type": "Service", "provider": { "@type": "Service", "name": "HİZMET ADI", "description": "HİZMET AÇIKLAMASI" }, "providerMobility": "dynamic", "url": "HİZMET URL" } BlogPosting İşaretlemesi (Blog Sayfaları İçin)Web sitesinde yer alan blog sayfaları için blogposting işaretlemesi kullanılmaktadır. Örnek kullanımı: { "@context": "https://schema.org", "@type": "BlogPosting", "mainEntityOfPage": { "@type": "WebPage", "@id": "BLOG URL" }, "headline": "BLOG ADI", "image": [ "ÖNE ÇIKAN GÖRSEL URL’İ" ], "url": "BLOG URL", "datePublished": "PAYLAŞIM TARİHİ", "dateModified": "SON GÜNCELLEME TARİHİ", "author": { "@type": "Organization", "name": "SİTE ADI" }, "publisher": { "@type": "Organization", "name": " SİTE ADI ", "logo": { "@type": "ImageObject", "url": "SİTE LOGO" } }, "description": "BLOG DESCRİPTİON" } FAQ İşaretlemesi (Sıkça Sorulan Sorular Sayfası İçin)FAQ işaretlemesi web sitelerindeki sıkça sorulan sorular sayfaları için kullanılmaktadır. Bu işaretlemenin en önemli faydası Google snippet dediğimiz arama sonuçlarında listelenmesidir. Örnek faq işaretlemesi kullanımı: { "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [{ "@type": "Question", "name": "SORU 1", "acceptedAnswer": { "@type": "Answer", "text": "CEVAP 1" } },{ "@type": "Question", "name": "SORU 2", "acceptedAnswer": { "@type": "Answer", "text": "CEVAP 2" } },{ "@type": "Question", "name": "SORU 3", "acceptedAnswer": { "@type": "Answer", "text": "CEVAP 3" } } ] } 10- Breadcrumb YapısıBreadcrumb site içerisinde gezinmeyi kolaylaştıran header navigasyon çeşididir. Kullanıcıların hangi sayfada olduğunu, ilgili sayfanın hangi kategoriye bağlı olduğunu hiyerarşik bir şekilde görerek kategoriler ve sayfalar arası gezinmesini kolaylaştıran yapıdır. Breadcrumb yapısı dinamik bir şekilde oluşturulması ve sayfanın en üstünde yer almalıdır. Örnek breadcrumb kullanımı şu şekilde olabilir:E-ticaret siteleri için bir örnek:Ana Sayfa > Kategori > Ürün AdıDaha fazla bilgi için w3 dökümanını ziyaret edebilirsiniz:https://www.w3schools.com/howto/howto_css_breadcrumbs.asp 

3 Adımda Markanızı Black Friday’e Nasıl Hazırlayabilirsiniz?
Eyl 3, 2022 864 reads

3 Adımda Markanızı Black Friday’e Nasıl Hazırlayabilirsiniz?

Büyük Kasım indirimleri başlıyor! Peki markanız Black Friday’e Hazır mı? Yazıdaki 3 adımı takip edin, ve bu karmaşık dönemde markanızından olabilecek en verimli sonuçları alın.1. Black Friday Kampanya Takviminin PlanlanmasıBlack Friday başlamadan önceki süreçte planlama aşaması büyük önem taşır. Bu aşamada ilk olarak kampanya takvimini belirleyerek hangi kitleye ne zaman nasıl bir iletişim uygulanacağına dair planlama yapmalısınız. Black Friday öncesinde, black friday döneminde ve sonrasında farklı stratejiler üzerine farklı planlar oluşturmalısınız.2. Bütçeleri ÖngörmekBu aşamada doğru bir tahmin yapabilmek için performans planlayıcı, anahtar kelime planlayıcı, Google Trends gibi araçlardan yararlanabilir, geçmiş dönemdeki Black Friday Google Analytics verilerine bakabilirsiniz. Böylelikle ortalama bir tahminde bulunmak ve bütçenizi yönetmek sizin için daha kolay bir hale gelecektir.Bütçe planı yaparken tüm dinamikleri düşünmeniz gerekir. Mecra planlaması, kanal dağılımı, maksimum görünürlük için marka ve programatik planını tam olarak çıkarmanız ve üçüncü parti kanallarını da plana eklemeniz önemlidir.3. Planları Fazlara AyırmakÖnceki dönemlerden analiz edilen verilere göre alışveriş trendinin kasım ayından önce artmaya başlayıp Black Friday haftasında zirve yaparak ilerlediğini, Black Friday sonrasında ise bir süre daha azalarak devam ettiğini görüyoruz. Bu sebeple planlamaların alışveriş dönemi öncesi, alışveriş dönemi ve alışveriş sonrası dönem olmak üzere 3 faza ayırmanız gerekiyor.a) Black Friday Öncesi DönemAlışveriş döneminde rekabet ve maliyetler arttığı için alışveriş dönemi öncesinde hem yeniden pazarlama kitlesini arttırmak hem de kullanıcılara farkındalık kazandırmak amacıyla kampanya duyurularına önceden başlamanız gerekir. Böylelikle daha az maliyet ile yeni kullanıcıları sayfanıza getirerek verilerini alıp kampanya dönemi başlayınca maliyeti daha az kanallar ile sitenize çekebilir ve reklam tarafında tekrardan hedefleme yapabilirsiniz.Alışveriş dönemi öncesinde tamamlamanız gerekenler arasında görsel ve video kreatifleri de yer alıyor. Özellikle tanıtım döneminde kullanılacak dinamik görseller oldukça önem taşıyor.Geçmiş dönemlerde online offline olarak satın alım yapmış kullanıcıları kaçırmamak için Google Ads ve Facebook tarafında müşteri bilgilerini güncel hale getirerek panelleri segmentlere ayrılmış CRM verileriyle beslemelisiniz.Alışveriş döneminde site trafiğinin zirve yaptığı günlerde kullanıcı yoğunluğu artacağı için site alt yapısında mutlaka optimizasyonlar yapmalısınız. Kampanya sırasında teknik bir problem yaşamamak için Google Tag Manager ve Google Ads’te yer alan dönüşüm kodlarının, Facebook etkinliklerinin kontrolünü alışveriş öncesi dönemde sağlamalısınız.Marka tarafında ise yine alışverişin zirve yaptığı Black Friday döneminde sıkıntı yaşamamak için stok derinliği ve ürün çeşitliliği için hazırlık yapmalısınız. En çok satan ürünlerde ve indirime girmesi planlanan ürün gruplarında yeterli sayıda ürün ve stok derinliği olduğundan emin olmalısınız.b) Black Friday DönemiGoogle Ads tarafında kampanyaların bütçeyle sınırlı uyarısına dikkat etmeniz gerekir. Hacimdeki yüksek artışlardan dolayı özellikle manuel teklif stratejileri ile ilerleyen kampanyaları yakından takip etmelisiniz. Mümkün olduğunca otomatik teklif stratejileri ile ilerlemek markanız için daha sağlıklı olacaktır.Kapsam alanını genişletmek için panellerde kullanacağınız kampanyaları çeşitlendirmeniz gerekir. Üçüncü parti kanallar, ortak kanallar, medya satın alma ve programatiğin yanı sıra Google Ads tarafında Discovery, YouTube ve dinamik arama kanallarını kullanmak ve uzantıları da çeşitlendirmek önemlidir.Facebook tarafında ise pazarlama hunisindeki farkındalık, değerlendirme ve dönüşüm kitlelerini baz alarak farklı amaçlara göre kampanya yapısı kurulmalı ve iletişimleri hedef kitleye uygun bir şekilde farklılaştırmalısınız.Düşük rekabet kategorileri önceliklendirilerek olumsuz rekabet ortamından verim alabilirsiniz. Buna ek olarak arama motoru tarafında “Black Friday”, “Efsane Cuma” gibi niyet belirtmeyen rekabeti çok yüksek olan kelimeler yerine, uzun kuyruklu anahtar kelimelere yönelmelisiniz.Google Ads ve Facebook tarafında ise yeni açılacak kampanyaların alışveriş dönemine girmeden önce açılması ve öğrenimlerini tamamlamış bir şekilde alışveriş dönemine başlaması büyük önem arz ediyor.Bütün kullanıcılara aynı iletişimlerle gitmek yerine reklamlardaki iletişimlerin ve görsellerin çeşitlendirilmesi için Facebook tarafında dinamik kreatif seçeneği kullanılabilir. Google Ads tarafında ise responsive display (duyarlı görüntülü reklamlar) ve responsive search (duyarlı arama ağı reklamları) kullanmalı, uzantıları çeşitlendirmelisiniz.Kampanya döneminde siteden alışveriş yapan kitlenin kampanya sonrasında da sitenize gelmesi çok muhtemeldir. Bu yüzden kampanya dönemi içinde siteye gelen kullanıcıları davranışlarına göre segmentlere ayırıp Google Analytics üzerinden kampanya tarihleri arasında özel kitleler oluşturmalısınız. Örnek vermek gerekirse; Black Friday sonrasındaki faz için bu dönemde gelip sepetini terk eden kitlelere özel indirimler oluşturabilirsiniz.c) Black Friday Sonrası DönemEn başta söylediğimiz gibi Black Friday sonrası dönemde alışveriş trendinin bir süre daha azalarak devam ettiğini daha önceki senelerden gözlemliyoruz. Dolayısıyla alışveriş devam ettiği için planlama aşamasında bu dönem için de strateji çalışmalısınız. Alışveriş dönemi sonrasındaki iletişim için kampanya stratejinizi ve kreatiflerinizi önceden hazırlamış olmanız gerekiyor.Bu süreçte en çok yapılan hatalardan birinin Black Friday dönemi sonrasında açık unutulan kampanyalar olduğunu görüyoruz. Bu sebeple panellerdeki açma kapama kurallarını kullanmanızı ve geçmiş dönemden kalan iletişimleri tekrardan gözden geçirmenizi öneririz.

React ve Google Analytics: GA4 React'a Nasıl Entegre Edilir?
Eyl 3, 2022 33622 reads

React ve Google Analytics: GA4 React'a Nasıl Entegre Edilir?

React ve Google Analytics’in web analist topluluğu arasında en popüler araçlardan ve kütüphanelerden biri olduğu inkâr edilemez bir gerçektir. Google Analytics, kullanıcılarınızı kolayca takip etmenizi ve yeniden hedeflemenizi sağlayan en yaygın kullanılan web analiz aracıdır.Google Analytics 4 (GA4), web ve mobil uygulamanızı bir araya getirerek kişiselleştirilmiş raporlar ve yapay zekâ destekli analizler gibi daha kapsamlı ölçüm yöntemleri sunar. Dahası, Universal Analytics (UA)’a kıyasla dijital pazarlama stratejileriniz hakkında daha iyi içgörüler sağlar.Hızlı ve basit olmasıyla bilinen React, web geliştirme alanında en popüler front-end JavaScript kütüphanesidir. React tabanlı web sitenizde Google Analytics kullanmanın size sağlayacağı faydalar şunlardır: Kullanıcılarınızın hangi ülkeden trafik getirdiğini ve hangi demografik özelliklere sahip olduğunu öğrenebilirsiniz. Kullanıcılarınızın hangi sayfalarda ne kadar zaman geçirdiğini görebilirsiniz. Gelişmiş E-ticaret ve özel etkinlikleri ölçebilirsiniz. React uygulamanızdaki hataları raporlayabilirsiniz. Uygulamanızda A/B testleri için kullanıcı davranışını ölçebilirsiniz. Google Analytics 4 hesabınız ve React tabanlı bir web siteniz olduğunu varsayarsak, adım adım sağlıklı bir React Google Analytics kurulumu nasıl yapılır görelim.Öncelikle mevcut Universal Analytics hesabınız içinde bir GA4 mülkü oluşturmanız gerekir. Bunun için GA4 Property Setup Assistant’ı kullanabilirsiniz. Başlat’a tıklayın, önceden herhangi bir yapılandırmaya gerek kalmadan anında kurulacaktır.Connected Property bölümünden GA4 kurulumunun başarılı olduğunu görebilirsiniz.Google Analytics 4 Ölçüm Kimliğiİşimizin yarısı bitti. Artık React tabanlı web sitemize GA4 kurulumunu tamamlayabilmemiz için en önemli parça olan, G- ile başlayan GA4 Ölçüm Kimliğini aldık.React Google Analytics EntegrasyonuDijital pazarlama dünyasında React ekosisteminde genellikle sayfa yönetimi, eklenti desteği, CMS, site hızı ve SEO uyumluluğu gibi konular için Gatsby ve NextJS gibi Statik Site Üreticileri (SSG) kullanılır.Şimdi olası entegrasyon yöntemlerine bakalım.Gtag Script EklemeÖncelikle uygulamanıza react-ga paketini kurmanız gerekir.yarn add react-gaDaha sonra react-ga paketini index.js veya app.js dosyanıza eklemeniz gerekir.import ReactGA from 'react-ga'; const TRACKING_ID = "UA-12341234-1"; // YOUR_OWN_TRACKING_ID ReactGA.initialize(TRACKING_ID);React uygulamalarında en sık karşılaşılan sorunlardan biri render yöntemlerinde ortaya çıkar, özellikle CSR (Client Side Rendering) ve SSR (Server Side Rendering). Render yöntemleri hakkında detaylı bilgiye buradan ulaşabilirsiniz.SPA (Single Page Application) uygulamalarınızda, bu render sorunlarını önlemek için react-router-dom kullanarak history.listen ile etkinliklerinizi göndermeniz gerekir.import React from 'react' import { withRouter } from 'react-router-dom'; import ReactGA from 'react-ga'; const RouteChangeTracker = ({ history }) => { history.listen((location, action) => { ReactGA.set({ page: location.pathname }); ReactGA.pageview(location.pathname); }); return ; }; export default withRouter(RouteChangeTracker);Gatsby GTAG EklentisiEğer web sitenizde Gatsby motorunu kullanıyorsanız, gatsby-plugin-google-gtag eklemeniz tavsiye edilir.Öncelikle gatsby-plugin-google-gtag eklentisini kurmanız gerekir.yarn add gatsby-plugin-google-gtagDaha sonra gatsby-config.js dosyanızı şu şekilde güncellemelisiniz:Gördüğünüz gibi farklı framework’lere göre farklı Google Analytics 4 entegrasyon yöntemleri bulunmaktadır.Ancak, hangi React framework’ünü kullanıyor olursanız olun, öncelikle Google Analytics’in herhangi bir web uygulamasından verileri nasıl çektiğini anlamanız gerekir. Bu, web sitenizde olası ölçüm ve entegrasyon hatalarını önleyecektir.Google Analytics 4’ün Gtag script üzerinden nasıl çalıştığına dair kaynağa buradan ulaşabilirsiniz.

Otomatik İşlerimiz İçin Yeni Bir Araç Uyarlıyoruz: Apache Airflow
Eyl 3, 2022 1216 reads

Otomatik İşlerimiz İçin Yeni Bir Araç Uyarlıyoruz: Apache Airflow

Performans pazarlaması, reklamcılık ve yeniliği birleştirerek perakendecilerin ve bağlı kuruluşların işlerini her açıdan büyütmelerine yardımcı olur. Her perakendecinin kampanyası dikkatle hedeflenir, böylece herkesin başarı ve kazanç şansı olur. Tüm taraflardaki işlemler doğru yapıldığında, performans pazarlaması hem perakendeciler hem de bağlı kuruluşlar için kazançlı sonuçlar sunar. Biz, Tech Team olarak, yazılım mühendisliği becerilerimizle oluşturduğumuz dijital pazarlama projeleri hakkında yeni bloglar yazma kararı aldık. Farklı markalar için yeni çözümler üretiyor ve ana hedefimiz, veri analizi ve otomasyon projeleriyle performanslarını artırmak. Bu doğrultuda, projelerimizle ilgili yeni bloglar yayımlamaya karar verdik. Takım olarak neler üretiyoruz? Tech Team olarak modern performans pazarlaması anlayışını benimsedik ve bunun bir sonucu olarak müşterilerimiz için ürün raporlarını zamanlı olarak oluşturacak bir Airflow otomasyon projesi geliştirdik. Ürün raporlarımızda, benzersiz kodlar, stok durumu, indirimli fiyatlar, indirim yüzdeleri ve URL’leri ziyaret ederek elde edilen diğer özellikler gibi ürün bilgilerini topluyoruz. Ayrıca, otomasyon projelerimize izleme ve raporlama gücü katmak için Google Sheets entegrasyonu sağladık. Dağıtım aşamasındaki olası sorunlara karşı Airflow ortamını sanal olarak izole eden Docker konteyner teknolojisini de kullandık. Özetle, Airflow; farklı amaçlar için veri iş akışları (pipeline) oluşturmayı sağlayan bir otomasyon aracıdır. Cron işlerine kıyasla Airflow’un sunduğu kullanıcı arayüzü sayesinde süreçlerimizi neredeyse gerçek zamanlı izleyebiliyoruz. Platformdaki log analizi ise hataları yakalamamıza ve düzeltmemize büyük katkı sağlıyor. Ayrıca, hata oluştuğunda yapılandırma dosyası aracılığıyla e-posta bildirimleri alabiliyor, anında müdahale edebiliyoruz. Temel akışımız veri kazıma (scraping) üzerine kurulu ve ölçeklendirilebilirliği sağlamak için iş parçacıklarını (thread) paralel ve eşzamanlı çalıştırıyoruz; böylece binlerce URL’den veriyi dakikalar içinde toplayabiliyoruz. Google Cloud üzerinde birden çok sanal makine şablonu oluşturduk ve görevleri sırayla çalıştıracak şekilde yapılandırdık. En kritik kısım, veriyi rapor süreçlerine tek bir şablon üzerinden iletmek. Airflow Nedir? Airflow’un yapısını daha iyi anlamak için “Bir DAG (Directed Acyclic Graph), Görevler (Task) arasındaki bağımlılıkları ve bunların hangi sırayla yürütülüp yeniden denenmesi gerektiğini tanımlar; Görevler ise veri çekme, analiz çalıştırma veya diğer sistemleri tetikleme gibi işlemleri yapar”[1]. Aslında Airflow’u, cron işlerinin çok daha yetenekli bir versiyonu olarak düşünebiliriz. Airflow’da işleri gerçekleştiren birimlere “worker” denir. Airflow’da her şey, “DAG” adı verilen yapı içerisinde tanımlanır. Örnek: with DAG( "SirketX_Urun_Raporu", schedule_interval='@daily', catchup=False, default_args=default_arguments ) as dag: 1- Context Manager ile DAG tanımlayabiliriz. DAG, zaman çizelgesi, adlandırma ve hata durumunda yeniden deneme ayarları gibi pek çok özellik barındırır. Örneğin: default_arguments = { 'owner': 'AnalyticaHouse', 'start_date': days_ago(1), 'sla': timedelta(hours=1), 'email': ['analyticahouse@analyticahouse.com'], 'email_on_failure': True, } 2- Süreci oluşturan görevleri fonksiyonlarla ayırıyoruz. Örneğin: url_task >> scrape_task >> write_to_sheet_task >> find_path_task >> parse_message_task >> write_message_task 3- Her bir görevi, ilgili fonksiyonu çalıştıran PythonOperator ile tanımlıyoruz. Örneğin: url_task = PythonOperator( task_id='get_url_data', python_callable=get_url_data, ) Bu operatörler, görevleri sırasıyla istif mantığıyla (stack) çalıştırır. Bir görev hata verirse (exception oluşursa), tüm akış durur ve Airflow bizi bilgilendirir. Airflow Mimarisi ile Docker’ı Birleştirmek Docker, uygulamaları oluşturmak, dağıtmak ve çalıştırmak için kullanılan açık kaynaklı bir platformdur. Airflow geliştirme ortamını izole etmek ve dağıtım aşamasındaki sürüm uyuşmazlıklarını önlemek için Apache’ın resmi Docker imajını temel alarak kendi konteyner imajımızı oluşturduk[3]. Ağ yapılandırması ve port yönlendirmelerini kolayca yapabildik. Docker sayesinde geliştirme sırasında karşılaştığımız paket uyumsuzluklarını ve versiyon problemlerini konteyneri yeniden oluşturup dağıtarak hızla aşıyoruz. Avantajlar: Geliştirme aşamasındaki beklenmedik hatalarda zaman tasarrufu Ağ ve veri depolama yapılandırmalarının kolayca yönetilmesi Hataların izole ortamda yakalanıp çözümlenmesi Benzersiz konteyner yapısının her dağıtımda tutarlı olması Geliştirme Sırasında Karşılaşılan Zorluklar Projeye başlamadan önce çok sayıda beyin fırtınası yaparak kritik noktaları belirledik. İlk tasarımlarımıza ek özellikler ekledikçe yapı karmaşıklaştı. Başlangıçta Google Cloud VM üzerinde çalıştırdık; ancak birden fazla projemiz olduğunda yönetim ve dağıtım zorlaştı. Bu nedenle Docker’a geçmeye karar verdik. Ayrıca, Airflow veya sunucu hatalarında konteyneri silip yeniden dağıtarak gelişim hızını koruduk. Otomasyon projemizde hata yakalama modülleri eklemek önemliydi; çünkü müşterilerimiz günlük ürün raporu almak istiyor ve herhangi bir hata, teslimin gecikmesine yol açıyordu. Referanslar [1],[2] – https://airflow.apache.org/docs/apache-airflow/stable/concepts/overview.html [3] – https://hub.docker.com/r/apache/airflow

İçeriğinizi Kişiselleştirmenin Anahtarı: Dijital Pazarlama İçin Persona Oluşturma
Eyl 3, 2022 1088 reads

İçeriğinizi Kişiselleştirmenin Anahtarı: Dijital Pazarlama İçin Persona Oluşturma

Klasik pazarlamanın yıllar içinde nasıl kişiselleştirilmiş pazarlamaya evrildiğini merak ettiyseniz, bu blog yazısı konunun temel taşlarından birini sunuyor. Dijital çağ, pazarlama uygulamalarının sürekli geliştiği bir ortam sunuyor. Bazı markalar bu değişimlere esnek ve çevik bir şekilde ayak uydururken, bazıları adaptasyon konusunda zorluk yaşıyor. Derinlemesine incelememiz, klasik pazarlamanın nasıl kişiselleştirilmiş pazarlamaya evrildiğini açıklamakla başlayacak, ardından doğru performans göstergelerinizle uyumlu “persona”lar oluşturmanın önemini anlatacak. Klasik Pazarlama vs. Kişiselleştirilmiş Pazarlama 1928’de Edward Bernays’in Propaganda çalışmaları yayınlandığından beri, kitleleri yönetme yöntemlerini gözlemliyoruz. İnsanların ortak bir hedef etrafında harekete geçirilme yollarını detaylandıran bu fikir, dijital kavramdan çok önce klasik pazarlamanın temelini oluşturdu. Eskiden ürünler, kişiler ürünlere sahip olmadıklarında bir şeyleri kaçırdıklarına inandıran bir heyecan yaratarak sunulurdu. Fakat günümüzde sayısız ürün ve hizmet varken, tek bir tür heyecanın tüm bireyleri aynı şekilde motive etmesi mümkün mü? İşte bu noktada kişiselleştirilmiş pazarlama devreye girer. Modern toplumda, aynı ihtiyaçlarla motive olan bireyler yok denecek kadar az. Elbette farklı kişilerin ortak noktaları olabilir, ama daha önce var olmayan pek çok çeşitlilik de ortaya çıktı. İster dünya çapında tanınan bir marka olun, ister yeni başlıyor olun, şu gerçek herkes için geçerli: Markamızın çekebileceği birden çok farklı hedef kitle olduğunu kabul etmeliyiz. Sonra bu kitlelerin satın alma motivasyonlarını keşfeder, reklam kreatiflerimizi buna göre şekillendiririz. Persona Nedir? Bir “persona”, pazarlama çalışmalarında hedef kitlemizi tanımak için oluşturduğumuz kurgusal bir karakterdir. Personasını oluştururken demografik bilgiler, ilgi alanları, davranışlar, motivasyonlar, korkular ve hedefler gibi özellikleri tanımlarız. Bu özellikler, markamızın değer önerisiyle örtüşmelidir. Persona oluşturmak, kitlemize yönelik etkileşimlerimizi tasarlamak gibidir: Karşımızdakinin motivasyonunu anladıkça, ona nasıl hitap edeceğimizi de değiştiririz. Markalar da aynı şekilde, belirli persona mesajlarına uygun bir iletişim dili kullanır. Pazarlama Operasyonları için Persona Nasıl Oluşturulur? Personalar, nüfusun belli bir yüzdesini temsil eden kurgusal karakterlerdir. Ama bunları rastgele değil, araştırma ve veri toplama süreçlerine dayandırarak oluşturmalıyız. Yerleşik bir markaysanız, mevcut müşterilerinizi analiz edip belirli kriterlere göre gruplayarak başlayabilirsiniz. Ancak yeni markalar veya farklı bir kitleye ulaşmak isteyenler için en başta pazar araştırması yapmalısınız. Örneğin, ürününüz pahalıysa, öncelikle yüksek gelirli kitleye hitap edeceğini düşünebilirsiniz. Ancak herkesin, belirli hayallerini gerçekleştirmek için biriktirdiği o anlar olabilir. İşte en büyük zorluk, bu “niyet anlarını” tespit etmektir. Persona oluştururken motivasyonlar, korkular ve ilgi alanları gibi unsurlar demografiden çok daha belirleyicidir. Audiencemızın hangi anlarda ürünümüze ilgi duyacağını anlamak için web sitesi çerezleri veya genel araştırma verileri gibi kaynaklardan yararlanmalıyız. Başlamak için: Google Trends ile ilgi arama terimlerini keşfedin. Statista gibi sitelerden sektör araştırmalarına göz atın. Keyword Planner ile ilgili anahtar kelimeleri bulun. Her persona için yeterince farklı motivasyon ve korku belirlediğinizde, bunları ayrı karakter olarak tanımlayabilirsiniz. Ardından kreatif yapınızı bu personelara uygun şekilde kurmaya başlayın. Farklı Personelara Özel İletişim Nasıl Kurulur? Personalarınızı tanımladıktan sonra onlara nasıl hitap edeceğimizi planlamalıyız. Hangi görselleri kullanacağız, sorular mı soracağız, yoksa doğrudan faydalarımızı mı vurgulayacağız? Cevaplar, persona tanımlarınıza ve bu kişilerin motivasyonlarına bağlı. Örneğin Spotify, herkese müzik dinleme hizmeti sunar ama farklı premium paketleri için farklı kreatifler kullanır. Ekran görüntülerindeki her bir görsel, belirli bir motivasyona hitap eder: “Tüm Müziğin Bir Arada”—her şeyi bulabileceğiniz geniş kütüphane “Kendi Zevkine Göre”—kişisel müzik tercihlerinize vurgu “Moduna Uygun”—o anki duygu durumunuza hitap eden şarkılar “Avantajlı Fiyat”—ekonomik fayda odaklı iletişim Gün içindeki ruh halinize göre farklı görseller sizi farklı şekillerde etkiler. Kişiselleştirilmiş pazarlama, bu çeşitli motivasyon noktalarını hedefleyerek doğru mesajı doğru kişiye ulaştırır.

Markanızın Sosyal Medya Varlığını Geliştirmek İçin Yapılacak En İyi 10 Şey
Eyl 3, 2022 1178 reads

Markanızın Sosyal Medya Varlığını Geliştirmek İçin Yapılacak En İyi 10 Şey

Markanızın dijital pazarlama faaliyetlerinin temellerinden biri olduğu tartışmasız bir gerçek olan sosyal medya varlığını doğru kullanıyor muyuz? Seçebileceğimiz bu kadar çok sosyal medya kanalı varken strateji oluştururken kendimizi kaybediyor muyuz yoksa sadece en popüler platformlarda var olmaya mı çalışıyoruz? Kabul edelim, sosyal medyada içerik kirliliği de söz konusu olabilir. Her bireyin söyleyecek bir şeyi olduğu bir dünyada, markalar nasıl daha yüksek sesle konuşabilir? Gen-Z, seçiciliği ve yaratıcı içerik üretimiyle çevrimiçi varlığını dinamik olarak domine ederken, markalar da zorluklarla karşılaşıyor. İşte markanızın sosyal medya varlığını iyileştirmek için yapmanız gereken 10 adım. Unutmayın, bu 10 faktör bir nevi yatırımdır ve istediğiniz sonuçları almak zaman gerektirir! 1) Kanal Seçimi Şaşırtıcı olmasa da, markanızın her sosyal medya platformunda hesabı olması gerekmez. Bir kanalı seçmek, içerik üretimine hangi kanalda tüm çabalarınızı yatıracağınızı belirler; bu yüzden yatırımınıza değmelidir. Önce markanızın görsel duruşunu tespit edin: Görsel ağırlıklı mı? İllüstratif bir yaklaşım mı benimsiyorsunuz? Video varlıklarınız var mı? Estetik içerik üretimine ne kadar uygunsunuz? Örneğin bir giyim markasıysanız Instagram olmazsa olmaz görünebilir. Ancak bu, hedef kitlenize ulaşmak için Pinterest SEO’yu gözden kaçırmanız gerektiği anlamına gelmez. Hedef kitlenizi iyi tanıyın ve hangi platformlarda bulunduklarını belirleyin. 2) İçerik Karışımı Markanız çeşitli kanallarda var olmak istese de, her mecrada aynı içeriği paylaşmak yanlış olur. Her kanalın kendi algoritması vardır ve buna uygun içerik üretmemek, o kanalı markanız için verimsiz kılabilir. Bu nedenle, girmek istediğiniz her kanal için bir “içerik karışımı” hazırlayın. Hangi içerik türünün hangi kanalda paylaşılacağını planlayın. Örneğin bir etkinlik ajansı, Meta’da duyuru yapıp, Instagram’da etkinlik fotoğraflarını paylaşırken, TikTok’ta canlı yayın ile tanıtım yapabilir. 3) Gönderi Sıklığı Tüm sosyal medya algoritmalarının ortak noktası: Daha sık paylaşım yapan hesapları desteklemek. Kısacası, ne kadar çok paylaşırsanız, markanız o kadar çok kişi tarafından görülür. Bu elbette kolay bir iş değil; her platform için önerilen gönderi sıklığı farklılık gösterir. Pinterest’te bu daha az karmaşıkken, Instagram’da hikâye, Reels ve statik gönderi sıklıkları ayrı ayrı önem taşır. Günde yalnızca bir gönderi ve bir hikâye paylaşmak, yüksek organik erişim beklemenizi pek gerçekçi kılmaz. 4) Takipçilerin Aktif Olduğu Zamanlar Markaların en çok merak ettiği konulardan biri de ne zaman paylaşım yapmaları gerektiğidir. Bunun en iyi cevabı: Takipçilerinizin en aktif olduğu zamanlar. Platform analitiklerine bakarak kitlenizin hangi saatlerde çevrimiçi olduğunu tespit edin ve paylaşımlarınızı bu zamanlara denk getirin. 5) Video İçerik Vurgusu TikTok neden 2021’in en çok indirilen uygulaması oldu? Sadece Gen-Z mi, yoksa video içerik ihtiyacı mı? Aslında 24–35 yaş arasındaki kullanıcılar da TikTok’ta büyük paya sahip. Video içerikler, statik içeriklere göre çok daha fazla etkileşim alıyor. Araştırmalar, videonun ilk 3–4 saniyesinin izlenip izlenmeyeceğine karar verildiğini gösteriyor. YouTube bile “YouTube Shorts” ile kısa videolara ağırlık verdi. Markanız için de videoyu tercih edin: Mesajınızı ilk saniyelerde net şekilde verin. 6) Kullanıcı Üretimli İçerik Kullanıcı üretimli içerik (UGC), takipçilerinizin sizin markanızı tanıtan özgün içeriklerini paylaşmasıdır. Trendleri yakalayarak doğal içerikler üretebilir, kitlenizin paylaşımlarını repost ederek topluluğunuzun sesini duyurabilirsiniz. Bu, marka yaşam döngüsünü uzatır ve kullanıcı bağlılığını artırır. 7) Influencer Pazarlama Influencer pazarlama hâlâ en çok tercih edilen yöntemlerden biri ancak yanlış anlaşılmaları da var. Sadece tıklama odaklı iş birlikleri eskisi kadar etkili değil; insanlar influencer’ların her ürünü gerçekten kullandığına inanmıyor. Bilinirliği artırmak için, influencer iş birliklerinizi organik ve samimi kılacak modeller seçin, tek seferlik değil sürdürülebilir kampanyalar planlayın. 8) Görsel ve Yazılı İletişim Sosyal medyada markanızı tanınır kılmak için tutarlı bir tasarım dili şart. Renk paletiniz, font seçiminiz ve tasarım öğeleriniz her paylaşımda tekrarlansın. Aynı şekilde yazılı iletişimde de tek bir ton kullanın (resmi veya samimi) ve bu dili her mecrada koruyun. 9) Hashtag Kullanımı Hashtag sayısı ne kadar fazla o kadar iyi diye bir kural yok. Çok yüksek yoğunluk güvenilirliği azaltır, çok düşük yoğunluk bulunmayı güçleştirir. Hedef kitlenize uygun 5–10 hashtag seçin ve bunları düzenli kullanın. Ayrıca markanıza özel benzersiz bir hashtag oluşturun ve paylaşımlarınızı bu etiket altında toplayın. 10) Analitik ve İzleme Araçları Hiçbir strateji sabit kalmaz; algoritmalar ve trendler sürekli değişir. Hangi adımların işe yaradığını görmek için düzenli olarak sosyal medya analitiklerinizi kontrol edin. Geniş perspektif için Sociality, Brandwatch, Social Blade veya Monday gibi izleme araçlarıyla raporlamanızı otomatikleştirerek, hızlıca aksiyon alın. İşte markanızın sosyal medya varlığını güçlendirmenin 10 adımı! Başlangıç seviyesi olun veya etkileşimde tıkanma yaşayın, stratejinizi bu rehbere dönüp değerlendirerek sosyal medyada bir sonraki seviyeye taşıyabilirsiniz.