Google Analytics ve Shopify'ı Birleştirme: BigQuery'de bir e-Ticaret Veri Ambarı Oluşturma

Yayınlanan: 2023-02-15

Google Analytics, web sitenizi ziyaret edenlerin kullanıcı davranışlarını anlamanıza olanak tanıyan harika bir araçtır. Oysa Shopify, bir e-Ticaret perspektifinden ayrıntılı performans kapsamı sağlamada harikadır. Her ikisi de yaptıkları işte harikadır, ancak Shopify ve Google Analytics'ten (GA) alınan verilerin ayrı ayrı isteyebileceğiniz daha derin bilgileri sağlayamadığı bir nokta vardır. Her biri güçlü bilgi sağlama yeteneğine sahip olsa da, verileri birleştirerek elde edilebilecek çok daha büyük bir içgörü düzeyi vardır.

Bu özel örnekte, doğal ve sağlıklı köpek maması üreten İngiltere merkezli bir şirket olan Pooch & Mutt'taki arkadaşlarımız için bunu nasıl başardığımızı ele alacağız. Google Analytics'te toplanan verileri alıp Shopify'ın e-Ticaret verilerinin yanı sıra Recharge'ın abonelik verileriyle birlikte kullanarak ve bunu Bold'un eski abonelik verileriyle birleştirerek içgörüleri geliştirmek istedik. Bu çeşitli veri kaynaklarını kullanarak daha zengin, daha eksiksiz bir resim oluşturabiliriz.

Bu blog, bu verileri nasıl bir araya getirdiğimize dair bir genel bakış sağlamaya çalışacak ve ardından bu veri odaklı içgörüleri çıkarmak ve görselleştirmek için bunları birleştirmenin ardındaki düşünce süreçlerini ana hatlarıyla açıklayacaktır. Spesifik olarak, aşağıdaki üç soruyu nasıl yanıtladığımızı açıklayacağız;

  1. Hangi kanallar abonelik kayıtlarını artırıyor?
  2. GA'nın ötesinde sepet kombinasyonları; aboneler ve abone olmayanlar için en popüler sepetler hangileri ve en karlı olanlar hangileri?
  3. Bir kullanıcının abone olması ortalama olarak ne kadar sürer ve ne kadar satın alır?

Metodoloji

Bu soruları yanıtlamaya başlamadan önce, ilgili platformlardaki tüm verileri merkezi bir konumda nasıl topladığımızı ve bu verileri harmanlamak için kullanabileceğimiz bir tablo oluşturduğumuzu ele alalım.

Veri yapısı

Çok yönlülüğü ve veri kümelerinin kombinasyonunu yönetme yeteneği nedeniyle verileri merkezileştirmek için BigQuery'yi (BQ) kullanmayı seçtik. Aşağıdaki akış şeması, veriler ile bunun başarılma şekli arasındaki genel bağlantıları vurgulamaktadır:

Dikiş

Stitch, verileri ayıklamanıza ve önceden oluşturulmuş veri ambarlarına yüklemenize olanak tanıyan uygun fiyatlı bir araçtır.

İstediğimiz tabloları kolayca seçtiğimiz Stitch aracılığıyla Shopify ve Recharge'a kolayca bağlandık. Bu durumda en önemli tablolar Recharge'dan "müşteriler" ve "abonelikler" ve Shopify'dan "siparişler"dir.

Bu bilgiler daha sonra Stitch'in otomatik planlama süreci aracılığıyla her 6 saatte bir BQ ile senkronize edilir.

Gözü pek

Geçmiş abone verileri için son bir dışa aktarma işlemi gerçekleştirdik ve bunu Google E-Tablolar aracılığıyla BQ'ya yükledik.

Google Analytics

Stitch bunun için de kullanılabilse de, bu verileri BQ'ya aktarmak için RStudio kullanmayı tercih ettik. Bunu nasıl yapabileceğiniz hakkında daha fazla bilgi edinmek istiyorsanız, kendi R Studio uzmanımız Danny Smith tarafından GA API'nin R ile nasıl kullanılacağına ilişkin bir blog okuyabilirsiniz.

Ana Tablo Oluşturma

BQ'da gerekli tüm verilere sahip olduğumuzda, bunları birleştirmeye başlayabiliriz. Bunun için izlediğimiz adımlar şu şekilde:

  1. Bold'un eski abone verilerini Recharge'ın mevcut abone verileriyle birleştirip uyumlu hale getirdik.
  2. Daha sonra sipariş kimliklerini (örn. SPFYXXXXX) ve kaynak, aracı ve kanalı içeren GA'dan e-Ticaret verilerini inceledik.
  3. Shopify sipariş verilerine katılmadan önce GA tablolarına ve birleşik abone verilerine dayalı yeni sütunlar oluşturduk. Bu durumda, bu ek sütunlardan bazıları;
    1. 'Aktif' abone tanımlayıcısı
    2. Orijinal abonelik tarihi
    3. Siparişin kaynağı, aracısı ve kanalı
    4. İlk veya tekrar müşteri siparişi
  4. Ardından, bu yeni verileri birleştirmek istediğimiz Shopify sipariş verilerinden ilgili alanları seçtik. Bazı önemli örnekler;
    1. Müşteri Kimliği
    2. Sipariş Kimliği
    3. Sipariş tarihi
    4. SKU
    5. Öğe Miktarı
    6. Ürün fiyatı
    7. Toplam Sipariş Fiyatı
    8. İndirim kodu
    9. İndirim tutarı
    10. Etiket (Aboneleri ve abone olmayanları kategorize etmek için ek bir yöntem olarak kullanılır)
  5. Buradaki son aşama, aynı sıradaki farklı öğeler için yinelenen satırlarla daha kolay başa çıkmak için birkaç ek sütun oluşturmaktı;
    1. Ortalama fiyat
    2. Ortalama indirim
    3. Abone Durumu (Bold & Recharge tablosunda mevcutsa etiketler +)

Daha sonra bu sorguyu günde bir kez çalışacak şekilde planladık ve sonucu ek sorgular için ana tablo olarak kullandık. Bunu yapmak, Looker Studio Panosu aracılığıyla her istek yapıldığında değil, yalnızca planlandığında güncellenen statik bir tablo olduğundan, tam sorguyu birden çok kez çalıştırmamız gerekmediği anlamına geliyordu.

içgörüler

Metodolojiyi ele aldığımıza ve ihtiyacımız olan tüm verileri elde etmek için atılan adımları özetlediğimize göre, sorularımızı yanıtlamak için bu verileri nasıl kullandığımızı tartışmaya geçebiliriz.

Hangi kanallar abonelik kayıtlarını artırıyor?

  1. Bunu hesaplamak için, ilk sipariş tarihine göre 'İlk' veya 'Tekrar' döndüren ana tabloda oluşturduğumuz alanı kullanarak müşteriler tarafından verilen ilk siparişlere baktık.
  2. Ana tablodaki kanal gruplandırması ve abone durumu ek sütunlarını kullanarak, ilk satın alımda veya tekrar satın almada abone olan kişilerin ilk siparişlerine ve bunların GA'da hangi kanalla ilişkilendirildiğine bakabiliyoruz. .
  3. Yalnızca abonelere bakma adımını kaldırırsak, hangi kanalların ağırlıklı olarak ilk satın alımları sağladığını da görebiliriz.

GA'nın ötesinde sepet kombinasyonları; aboneler ve abone olmayanlar için en popüler sepetler nelerdir ve en karlı olanlar hangileridir?

  1. STRING_AGG işlevini kullanarak, tek bir siparişteki farklı ürünleri ' | ile ayırarak tek bir satırda birleştirebildik. '. Bu, esasen her sipariş için bir sepet oluşturur.
  2. Bu bilgilerin yanı sıra, ilgili tüm bilgileri içeren sipariş başına bir satır olması amacıyla, bu öğelerin her birinin gelirini 'Sepet Toplamı' olarak topladık.
  3. Elbette ürünler arasında çok fazla fark vardır (lezzet, boyut vb.) Bu nedenle, temel ürün sepeti kombinasyonlarına bakmak için bu farkı ortadan kaldıran bir sütun ekledik.
  4. Daha sonra, her siparişe sıralı değerler atamak için 'ROW_NUMBER() OVER (PARTITION BY BY Transaction_ID) AS Identifier' öğesini kullandık. Bu daha sonra gösterge tablosunda hala tüm bilgileri içeren tek satırları izole etmek için bir filtre olarak kullanıldı.

Bir kullanıcının abone olması ortalama olarak ne kadar sürer ve ne kadar satın alır?

  1. Ana tablomuzu kullanarak, abone olduğunu bildiğimiz tüm müşteri kimliklerini çıkardık ve ilk abonelik tarihlerini aldık.
  2. Daha sonra minimum sipariş tarihini aldık ve bu tarihler arasındaki farkı "gün" olarak hesaplamak için DATE_DIFF işlevini kullandık.
  3. Son adım, kanalı ve abone olmadan önceki ortalama gün sayısını çekti; bu, müşterilerin tipik olarak abone olmadan önceki ortalama gün sayısını gösteren bir tabloyla sonuçlandı.
  4. Müşterilerin abone olmadan önce verdikleri ortalama sipariş sayısını hesaplamak için benzersiz sipariş kimliklerinin sayısını, 'Abone' oldukları ve minimum abonelik tarihinden daha kısa sipariş tarihlerine sahip oldukları benzersiz müşteri kimliklerinin sayısına böldük.

Bunlar, bu raporları kullanarak oluşturduğumuz görünümlerin yalnızca bazı yüzeysel örnekleridir. Verilerle sonsuz olasılık vardır - bu projedeki diğer örnekler arasında müşteri yaşam boyu değerine çeşitli açılardan bakmak ve indirim kodlarının kullanımının ve bunların müşterilerin yaşam boyu davranışları üzerindeki etkisinin değerlendirilmesi yer alır. Bu içgörülerle, iş kararlarını desteklemek için kullanılabilirler. Örneğin, abone olmanın ortalama 3 sipariş gerektirdiğini bilerek, 2 satın alımdan sonra müşterileri abone olmaya teşvik eden teklif ve teşvikleri paylaşmaya bakabilirsiniz. Bunun sonuçları daha sonra ölçülebilir.

Özet

Bu vaka çalışması, GA'dan Shopify'a ve ötesine kadar çok sayıda veri kaynağının kombinasyonu yoluyla elde edilebilecek, inanılmaz derecede değerli, veriye dayalı içgörülerin potansiyelini göstermektedir. Bu altyapı oluşturulduktan sonra dinamik olarak sürdürülebilir ve işin çok sayıda farklı yönünü raporlamak için kullanılabilir.

Bu blogda cevapladığımız sorular, kendi işletmeniz için ilginizi çekebilecek sorulara benziyorsa, iletişim formumuzu doldurarak bizimle iletişime geçebilirsiniz.