Connecting Shopify to Power BI for Advanced Analytics

Complete guide to integrating Shopify with Power BI — data connectors, DAX measures, revenue dashboards, inventory analytics, and customer cohort analysis.

E
ECOSIRE Research and Development Team
|19 Mart 202611 dk okuma2.5k Kelime|

Data Analytics & BI serimizin bir parçası

Tam kılavuzu okuyun

Gelişmiş Analiz için Shopify'ı Power BI'ya Bağlama

Shopify'ın yerleşik analizleri temel bilgileri kapsar: satış eğilimleri, trafik kaynakları, en iyi ürünler ve dönüşüm oranları. Ancak mağazalar ölçeklendikçe sorular daha da karmaşıklaşıyor: TikTok aracılığıyla edinilen müşterilerin 12 aylık LTV'si Google'a kıyasla nedir? İade oranları en yüksek ürün kategorileri hangileri? Envanter devir hızı ile promosyon zamanlaması arasında nasıl bir ilişki vardır? Abonelik ve tek seferlik alıcılar için grubu elde tutma eğrisi nedir?

Bu sorular, Shopify'ın ham verilerini eyleme geçirilebilir zekaya dönüştüren araç olan Power BI'yı gerektirir. Bu kılavuz tam entegrasyonu kapsar: veri bağlantısı mimarisi, e-ticaret için temel DAX önlemleri, operasyonel karar alma için gösterge tablosu tasarımı ve Shopify'ın yerel raporlarının sağlayamadığı gelişmiş analiz modelleri.

Önemli Çıkarımlar

  • Shopify'ın resmi Power BI bağlayıcısı (Shopify'ın API'si veya üçüncü taraf bağlayıcılar aracılığıyla) verileri gerçek zamanlı olarak değil, planlanmış aralıklarla yeniler
  • En eksiksiz Shopify verilerini dışa aktarma yolu şudur: Shopify API → Azure Data Factory veya özel ETL → Azure SQL Veritabanı → Power BI
  • Shopify'ın GraphQL Toplu İşlemler API'si, büyük geçmiş verileri dışa aktarma için en etkili yöntemdir
  • DAX, Power BI ölçümlerine yönelik sorgulama dilidir — temel e-ticaret ölçümleri (LTV, CAC, kayıp, AOV) dikkatli DAX tasarımı gerektirir
  • Yıldız şeması veri modeli (olgu tabloları + boyut tabloları), Power BI e-ticaret analitiği için doğru yapıdır
  • Power BI'daki müşteri grubu analizi, bir tarih tablosu, bir grup atama sütunu ve göreli tarih ölçümleri gerektirir
  • Power BI'ın artımlı yenilemesi, tüm geçmiş veri kümelerini yeniden işlemeye gerek kalmadan günlük veri güncellemelerine olanak tanır
  • Shopify'ı reklam platformlarıyla (Meta, Google) birleştiren çok kaynaklı kontrol panelleri, gerçek ilişkilendirme analizine olanak tanır

Power BI için Shopify Veri Mimarisi

Power BI'a bağlanmadan önce Shopify'ın hangi verileri tuttuğunu ve bunları geniş ölçekte nasıl çıkaracağınızı anlayın.

Shopify'ın temel veri nesneleri:

Nesneİlgi AlanlarıCilt
Siparişlerkimlik, oluşturulan_at, finansal_durum, yerine getirme_durumu, toplam_fiyat, alt toplam_fiyat, toplam_indirimler, müşteri_kimliği, kaynak_adı, etiketlerÇoğu mağaza için yılda 1-100.000
Satır Öğelerini Sipariş Etsipariş_kimliği, ürün_kimliği, varyant_kimliği, miktar, fiyat, toplam_indirim, stok kodu2-5x sipariş sayısı
Ürünlerkimlik, başlık, ürün_türü, satıcı, oluşturulan_at, yayınlanan_at, etiketler100-100.000 SKU
Çeşitleriürün_kimliği, sku, fiyat, karşılaştırma_fiyatı, envanter_miktarıÜrünlerle aynı × çeşitler
Müşterilerkimlik, e-posta, created_at, sipariş_sayısı, toplam_spent, etiketler, kabul edilen_pazarlamaKümülatif müşteri tabanı
İadelerorder_id, created_at, total_refunded, stok yenilemeSipariş sayısının %3-20'si
Envanter Seviyelerienvanter_öğesi_kimliği, konum_kimliği, mevcutÇekme zamanındaki anlık görüntü
Trafik KaynaklarıGoogle Analytics / GA4 (Shopify Yönetici API'sinde değil)GA4 veri aktarımı yoluyla

Veri çıkarma için Shopify API ücret sınırları:

REST API: Saniyede 2 istek (40'lık paket). 50.000'den fazla siparişin geçmiş veri aktarımı için bu işlem saatler alır ve gecelik yenilemeler için pratik değildir.

Toplu İşlemlerle GraphQL API: Tüm veri kümesini eşzamansız olarak işler, bir JSONL dosyası döndürür. Tüm geçmiş veri çekimleri için önerilir.

Veri çıkarma mimarisi seçenekleri:

Seçenek 1: Power BI'da Doğrudan Shopify bağlayıcısı (En Basit)

Power BI'nın Veri Al > Çevrimiçi Hizmetler > Shopify aracılığıyla ya da Cowler.io ya da Windsor.ai gibi üçüncü taraf bağlayıcılar aracılığıyla kullanılabilir.

Artıları: Hızlı kurulum (1-2 saat), kod gerektirmez Eksileri: Sınırlı geçmiş veri derinliği, sınırlı tablo birleştirmeleri, daha yavaş yenileme, özel dönüşüm yok

Seçenek 2: Üçüncü taraf veri hattı aracılığıyla ETL (1 Milyon ABD dolarının üzerinde gelir sağlayan mağazalar için önerilir)

Fivetran, Stitch, Airbyte veya Windsor.ai, Shopify verilerini bir zamanlamaya göre bir veri ambarına (BigQuery, Snowflake, Azure SQL) çıkarır. Power BI depoya bağlanır.

Artıları: Eksiksiz geçmiş veriler, daha hızlı sorgular, çok kaynaklı birleştirmeler (Shopify + reklamlar + incelemeler), özel dönüşümler Eksileri: Ek maliyet (ETL hizmeti için 99-500$+/ay), kurulum süresi (1-2 hafta)

Seçenek 3: Azure Data Factory ile Özel ETL (Maksimum kontrol)

Shopify'ın GraphQL Toplu İşlemler API'sini kullanarak özel ayıklama oluşturun, Azure Data Factory ile verileri dönüştürün, Azure SQL Veritabanına yükleyin, DirectQuery veya İçe Aktarma aracılığıyla Power BI'a bağlanın.

Artıları: Tam kontrol, maksimum veri bütünlüğü, geniş ölçekte sorgu başına en düşük maliyet Eksileri: Mühendislik süresi (4-8 hafta), devam eden bakım


Shopify E-ticaret için Power BI Veri Modeli

İyi yapılandırılmış bir veri modeli, performanslı bir Power BI uygulamasının temelidir. E-ticaret için yıldız şeması kullanın.

Shopify için yıldız şeması:

Fact Tables (transactional data):
├── FactOrders          (one row per order)
├── FactOrderLineItems  (one row per line item)
├── FactRefunds         (one row per refund)
└── FactInventorySnapshots (periodic snapshots)

Dimension Tables (descriptive data):
├── DimDate             (calendar table — essential)
├── DimCustomers        (one row per customer)
├── DimProducts         (one row per product template)
├── DimVariants         (one row per variant)
├── DimLocations        (one row per Shopify location)
└── DimChannels         (traffic sources / acquisition channels)

FactOrders tablo şeması:

CREATE TABLE FactOrders (
    order_id BIGINT PRIMARY KEY,
    created_date_key INT,              -- FK to DimDate
    customer_id BIGINT,               -- FK to DimCustomers
    financial_status VARCHAR(20),
    fulfillment_status VARCHAR(20),
    gross_revenue DECIMAL(10,2),
    discounts DECIMAL(10,2),
    shipping DECIMAL(10,2),
    taxes DECIMAL(10,2),
    net_revenue DECIMAL(10,2),
    order_number VARCHAR(20),
    channel_source VARCHAR(50),
    customer_cohort_month VARCHAR(7),  -- Derived: YYYY-MM of first order
    is_first_order BIT,
    order_sequence INT,                -- 1 = first order, 2 = second, etc.
    tags VARCHAR(500)
);

DimDate tablosu (takvim boyutu — zaman zekası için zorunludur):

-- Generate dates from 2020-01-01 to 2030-12-31
CREATE TABLE DimDate (
    date_key INT PRIMARY KEY,          -- YYYYMMDD
    full_date DATE,
    year INT,
    quarter INT,
    month INT,
    month_name VARCHAR(12),
    week INT,
    day_of_week INT,
    day_name VARCHAR(12),
    is_weekend BIT,
    is_holiday BIT,
    fiscal_year INT,
    fiscal_quarter INT,
    fiscal_month INT
);

E-ticaret Analitiği için Temel DAX Önlemleri

DAX (Veri Analizi İfadeleri), Power BI'ın formül dilidir. Bu önlemler herhangi bir Shopify analiz uygulamasının temelini oluşturur.

Gelir önlemleri:

-- Total Gross Revenue
Gross Revenue = SUM(FactOrders[gross_revenue])

-- Total Net Revenue (after discounts)
Net Revenue = SUM(FactOrders[net_revenue])

-- Total Discount Amount
Total Discounts = SUM(FactOrders[discounts])

-- Discount Rate
Discount Rate = DIVIDE([Total Discounts], [Gross Revenue])

-- Average Order Value
AOV = DIVIDE([Net Revenue], [Total Orders])

-- Revenue Growth (Year-over-Year)
Revenue YoY Growth =
VAR CurrentRevenue = [Net Revenue]
VAR PriorYearRevenue = CALCULATE([Net Revenue], SAMEPERIODLASTYEAR(DimDate[full_date]))
RETURN DIVIDE(CurrentRevenue - PriorYearRevenue, PriorYearRevenue)

Müşteri ölçümleri:

-- Total Unique Customers (in selected period)
Total Customers = DISTINCTCOUNT(FactOrders[customer_id])

-- New Customers (first-time buyers)
New Customers = CALCULATE(
    DISTINCTCOUNT(FactOrders[customer_id]),
    FactOrders[is_first_order] = 1
)

-- Returning Customers
Returning Customers = [Total Customers] - [New Customers]

-- Repeat Customer Rate
Repeat Customer Rate = DIVIDE([Returning Customers], [Total Customers])

-- Average Customer Lifetime Value (LTV)
Customer LTV =
AVERAGEX(
    VALUES(DimCustomers[customer_id]),
    CALCULATE(SUM(FactOrders[net_revenue]))
)

-- Purchase Frequency (orders per customer per year)
Purchase Frequency =
DIVIDE(
    [Total Orders],
    [Total Customers]
)

Kohort elde tutma analizi:

-- Cohort Month (month of customer's first purchase)
-- This is a calculated column in FactOrders, set during ETL

-- Cohort Retention Rate at Month N
Cohort Retention Month 1 =
VAR CohortMonth = SELECTEDVALUE(FactOrders[customer_cohort_month])
VAR CohortCustomers =
    CALCULATE(
        DISTINCTCOUNT(FactOrders[customer_id]),
        FactOrders[customer_cohort_month] = CohortMonth,
        FactOrders[is_first_order] = 1
    )
VAR Month1Returners =
    CALCULATE(
        DISTINCTCOUNT(FactOrders[customer_id]),
        FactOrders[customer_cohort_month] = CohortMonth,
        FactOrders[order_sequence] >= 2,
        -- Orders within 30-60 days of first order
        DATESINPERIOD(
            DimDate[full_date],
            DATE(LEFT(CohortMonth,4), RIGHT(CohortMonth,2), 1),
            2, MONTH
        )
    )
RETURN DIVIDE(Month1Returners, CohortCustomers)

Envanter önlemleri:

-- Current Total Inventory Value
Inventory Value =
SUMX(
    DimVariants,
    DimVariants[available_quantity] * DimVariants[cost]
)

-- Inventory Turnover Rate (annual)
Inventory Turnover =
DIVIDE(
    [Gross Revenue], -- Or COGS if available
    [Inventory Value]
)

-- Days of Inventory Remaining (at current sales velocity)
Days of Inventory =
VAR DailySalesRate = DIVIDE([Net Revenue], 365)
VAR CurrentInventoryValue = [Inventory Value]
RETURN DIVIDE(CurrentInventoryValue, DailySalesRate)

Kontrol Paneli Tasarımı: Gelire Genel Bakış

Gelir Genel Bakış Kontrol Paneli düzeni:

Satır 1 – KPI Kartları:

  • Brüt Gelir (cari dönem)
  • Net Gelir (cari dönem)
  • Toplam Siparişler
  • AOV
  • Yeni Müşteriler
  • Müşteri Oranını Tekrarla
  1. Satır — Zaman serisi:
  • Zaman içinde gelir (günlük/haftalık/aylık geçiş)
  • Zaman içindeki siparişler
  • AOV trendi

Satır 3 - Dağılımı:

  • Ürün türüne göre gelir (yatay çubuk grafik)
  • Kanal kaynağına göre gelir (pasta veya çörek)
  • Konuma göre gelir (çoklu konum varsa)
  1. Sıra — Karşılaştırma:
  • Aydan aya performans tablosu
  • Yıldan yıla karşılaştırma (mevcut ve önceki yılın aynı dönemi)

Dilimleyici yapılandırması:

  • Tarih aralığı dilimleyici (önceden ayarlanmış dönemlerle: Bu Ay, Geçen Ay, Bu Çeyrek, Bu Yıl, Özel)
  • Ürün tipi filtresi
  • Kanal kaynağı filtresi
  • Müşteri segmenti filtresi (yeni ve geri dönen)

Müşteri Grubu Kontrol Paneli

Grubu elde tutma kontrol paneli, e-ticarette karar alma konusunda analitik açıdan en değerli rapordur. Her satın alma ayı için, sonraki aylarda satın alma işlemine geri dönen müşterilerin yüzdesini gösterir.

Power BI'da grup tablosu tasarımı:

Bir matris görselleştirmesi oluşturun:

  • Satırlar: Kohort Ayı (ilk satın almanın yapıldığı ay)
  • Sütunlar: Ay 0, Ay 1, Ay 2, ... Ay 12 (ilk satın alma işlemine göre)
  • Değerler: Elde Tutma Oranı (o ay satın alma işlemini gerçekleştiren orijinal grubun yüzdesi)

Renk skalası: kırmızı (düşük tutma) → sarı → yeşil (yüksek tutma)

Bu görselleştirme anında şunu ortaya koyuyor:

  • Hangi edinim ayları uzun vadede en iyi elde tutma oranına sahiptir (hangi kampanyalar en iyi müşterileri kazandı)
  • Elde tutma oranının aydan aya en keskin düşüş gösterdiği yer (geri kazanma kampanyaları için en uygun zamanlama)
  • Elde tutmanın zaman içinde artıp artmadığı (ürün kalitesi, müşteri hizmetleri sinyalleri)

Grup veri modelinin oluşturulması:

Kohort analizi, FactOrders'ta şu alanları gerektirir:

  1. customer_cohort_month: Müşterinin ilk siparişinin YYYY-AA'sı (mevcut siparişin ne zaman verildiğine bakılmaksızın müşteri başına sabit)
  2. order_sequence: Bu müşteriye ait sıralı sipariş numarası (1 = ilk sipariş, 2 = ikinci sipariş vb.)
  3. months_since_first_order: İlk sipariş tarihi ile bu sipariş tarihi arasındaki ay sayısı

Bu alanlar, performans nedenleriyle en iyi şekilde ETL sırasında (Power BI dışında) hesaplanır.


Çok Kaynaklı Analiz: Shopify + Reklam Verileri

Power BI'ın e-ticaret için en güçlü kullanımı, gerçek kanal yatırım getirisini ölçmek için Shopify verilerini reklam platformu verileriyle birleştirmektir.

Entegre edilecek veri kaynakları:

KaynakVeriEntegrasyon Yöntemi
ShopifySiparişler, müşteriler, ürünlerYerel bağlayıcı veya ETL
Google ReklamlarıHarcama, tıklamalar, gösterimler, dönüşümlerGoogle Ads bağlayıcı
Meta ReklamlarHarcama, erişim, dönüşümler, ROASFacebook Reklamları bağlayıcı
TikTok ReklamlarıHarcama, görüntülemeler, tıklamalarÖzel API veya Funnel.io
Google Analytics 4Oturumlar, trafik, etkinliklerGA4 BigQuery'yi dışa aktarma
KlaviyoE-posta ölçümleri, gelir ilişkilendirmeKlaviyo → Fivetran

Pazarlama verimliliği kontrol paneli:

MetrikHesaplama
Kanal CACKanal Reklam Harcaması / Kanaldan Yeni Müşteriler
Kanal ROAS'ıKanal Geliri / Kanal Reklam Harcaması
Kanal LTV/CAC OranıKanal / Kanal CAC'den 12 Aylık YBD
Harmanlanmış CACToplam Pazarlama Harcaması / Toplam Yeni Müşteriler
Geri Ödeme SüresiKanal CAC / Müşteri Başına Aylık Net Gelir

Reklam harcamalarını Shopify sipariş verilerine bağlamak, UTM parametre eşleştirmesini gerektirir — GA4 oturum verileri, reklam tıklaması ile Shopify siparişi arasında köprü oluşturur.


Planlanmış Yenileme ve Üretim Dağıtımı

Shopify için Power BI Hizmeti yapılandırması:

  1. Power BI Desktop dosyanızı Power BI Hizmetinde (app.powerbi.com) yayımlayın
  2. Veri kaynağınız şirket içindeyse bir veri ağ geçidi yapılandırın (genellikle bulut Shopify → bulut SQL için gerekli değildir)
  3. Veri yenilemeyi planlayın: Shopify analitik kontrol panellerinin çoğu, gecelik yenilemeyle iyi çalışır (trafik en düşük olduğunda 04:00 UTC)
  4. Büyük tablolar (siparişler) için artımlı yenilemeyi yapılandırın: her yenilemede yalnızca son 30 günü işleyin, 2 yıllık geçmiş verileri koruyun
  5. Yenileme hatası e-posta bildirimlerini ayarlayın

Artımlı yenileme yapılandırması:

-- Power Query: Define RangeStart and RangeEnd parameters
-- Set type: Date/Time, required

-- Filter table during import using these parameters:
#"Filtered Rows" = Table.SelectRows(
    Source,
    each [created_at] >= RangeStart and [created_at] < RangeEnd
)

Power BI Hizmetinde şunları yapılandırın:

  • Sondaki satırları saklayın: 2 yıl (geçmişsel saklama)
  • Sondaki satırları yenile: 30 gün (artan pencere)

Bu, her yenilemenin yalnızca son 30 güne ait Shopify verilerini sorguladığı anlamına gelir; bu da tam veri kümesi yenilemeye kıyasla API çağrılarını ve yenileme süresini önemli ölçüde azaltır.


Sıkça Sorulan Sorular

Shopify verilerini Power BI'a aktarmak için en iyi bağlayıcı nedir?

Geliri 1 milyon doların altında veya 10.000'in altında siparişler için: Coupler.io, Windsor.ai veya Microsoft AppSource'un yerel Shopify Power BI bağlayıcısı iyi çalışır ve minimum düzeyde kurulum gerektirir. Veri bütünlüğünün ve yenileme güvenilirliğinin önemli olduğu daha büyük mağazalar için: Fivetran veya Stitch, Power BI'ın depoya bağlanmasıyla veri ambarına güçlü bir ETL hattı sağlar. Depo yaklaşımı maliyet ekler (200-1.000 ABD Doları+/ay) ancak önemli ölçüde daha iyi veri kalitesi, daha hızlı sorgular ve Shopify verilerini diğer iş veri kaynaklarıyla birleştirme yeteneği sağlar.

Power BI, Shopify verilerini gerçek zamanlı olarak gösterebilir mi?

Standart içe aktarma modu aracılığıyla değil. Power BI içeri aktarma modu, belirli bir zamanlamaya göre yenilenen verilerin anlık görüntüsünü yükler (Power BI Pro'da günde en fazla 8 kez, Premium'da 48 kez). Gerçek zamanlıya yakın Shopify verileri için Shopify webhook etkinliklerini gerçek zamanlı olarak alan bir veritabanına bağlı Power BI DirectQuery modunu kullanın. Bu, daha fazla altyapı gerektirir ancak sipariş verildikten birkaç dakika sonra verileri gösteren kontrol panellerine olanak tanır. Çoğu e-ticaret kararı için (saatten az veri güncelliği gerektirmeyen) günlük yenileme yeterlidir.

Shopify gelirini Power BI'daki belirli reklam kampanyalarıyla nasıl ilişkilendiririm?

İlişkilendirme üç veri kaynağının bağlanmasını gerektirir: reklam platformu verileri (Google Ads, Meta Reklamlar — kampanya başına harcama), GA4 oturum verileri (kampanya UTM parametreleri içeren oturumlar → dönüşümler) ve Shopify sipariş verileri (müşteri etiketlerinde veya sipariş özelliklerinde UTM parametreleri bulunan siparişler). Siparişleri kampanyalarla ilişkilendirmek için sipariş UTM parametrelerini (Shopify'ın landing_site alanı aracılığıyla yakalanan) kullanın. Kampanya düzeyinde CAC ve ROAS'ı hesaplamak için bunu reklam harcaması verileriyle birleştirin. Tam ilişkilendirme, UTM izlemenin dönüşümlerin %60-80'ini yakaladığını kabul etmeyi gerektirir; geri kalanı doğrudan veya cihazlar arasıdır.

E-ticaret analitiği için en yararlı DAX işlevleri hangileridir?

E-ticaret için en değerli DAX işlevleri: CALCULATE (herhangi bir ölçüme filtre uygulayın), FİLTRE (filtrelenmiş bağlam oluşturun), SUMX / AVERAGEX (satır düzeyinde hesaplama ile tablolar üzerinde yineleme), DATEINPERIOD / DATEADD / SAMEPERIODLASTYEAR (zaman zekası), BÖL (sıfır paydaları işleyen güvenli bölüm), RANKX (ürünleri/müşterileri/kanalları sıralama), DISTINCTCOUNT (benzersiz müşterileri/ürünleri say), ve İLGİLİ (ilgili boyut tablolarındaki sütunlara erişim). Bu 10 fonksiyonda uzmanlaşmak, e-ticaret analitik gereksinimlerinin %80'ini kapsar.

Shopify'ın birden fazla para birimini Power BI'da nasıl yönetirim?

Çoklu para birimi kullanan Shopify mağazaları bir zorlukla karşı karşıyadır: Siparişler işlem para biriminde kaydedilir ancak raporlama için tek bir temel para birimi gerekir. ETL sırasında, aşağıdakilerden birini kullanarak tüm sipariş tutarlarını temel para biriminize dönüştürün: (1) Shopify'ın presentment_money ve shop_money alanları (Shopify zaten sipariş sırasındaki döviz kuru üzerinden dönüşüm yapar) veya (2) Her sipariş tarihi için kuru uygulayan günlük kurları içeren bir döviz kuru tablosu. Manuel döviz kuru karmaşıklığından kaçınmak için Power BI'daki raporlama rakamları olarak Shopify'ın shop_money alanlarını (mağazanızın temel para birimindeki tutarları temsil eden) kullanın.


Sonraki Adımlar

Gelişmiş analizler için Shopify'ı Power BI'ya bağlamak, veri dökümü yerine eyleme dönüştürülebilir öngörüler sağlayan veri mühendisliği uzmanlığı, DAX akıcılığı ve kontrol paneli tasarım becerileri gerektirir.

ECOSIRE'ın Power BI hizmetleri ve Shopify hizmetleri, Shopify veri entegrasyonu mimarisini, e-ticaret analitiği için Power BI kontrol paneli geliştirmeyi, grup analizi uygulamasını, çok kaynaklı pazarlama ilişkilendirmesini ve sürekli analiz desteğini içerir.

Shopify mağazanız için bir Power BI analiz yığını oluşturmayı görüşmek üzere Shopify analiz danışmanlığı planlayın.

E

Yazan

ECOSIRE Research and Development Team

ECOSIRE'da kurumsal düzeyde dijital ürünler geliştiriyor. Odoo entegrasyonları, e-ticaret otomasyonu ve yapay zeka destekli iş çözümleri hakkında içgörüler paylaşıyor.

WhatsApp'ta Sohbet Et