Parte da nossa série Data Analytics & BI
Leia o guia completoConectando o Shopify ao Power BI para análises avançadas
A análise integrada do Shopify cobre o básico: tendências de vendas, fontes de tráfego, principais produtos e taxas de conversão. Mas à medida que as lojas crescem, as questões ficam mais complexas: qual é o LTV de 12 meses dos clientes adquiridos através do TikTok versus Google? Quais categorias de produtos têm as taxas de devolução mais altas? Como o giro de estoque se correlaciona com o momento promocional? Qual é a curva de retenção de coorte para assinantes versus compradores ocasionais?
Essas questões exigem o Power BI, a ferramenta que transforma os dados brutos da Shopify em inteligência acionável. Este guia cobre a integração completa: arquitetura de conexão de dados, principais medidas DAX para comércio eletrônico, design de painel para tomada de decisões operacionais e padrões analíticos avançados que os relatórios nativos do Shopify não podem fornecer.
Principais conclusões
- O conector oficial do Power BI da Shopify (por meio da API da Shopify ou de conectores de terceiros) atualiza os dados em intervalos programados, não em tempo real
- O caminho mais completo de exportação de dados do Shopify é: API do Shopify → Azure Data Factory ou ETL personalizado → Banco de dados SQL do Azure → Power BI
- A API GraphQL Bulk Operations da Shopify é o método mais eficiente para grandes exportações de dados históricos
- DAX é a linguagem de consulta para medidas do Power BI — as principais medidas de comércio eletrônico (LTV, CAC, rotatividade, AOV) exigem um design DAX cuidadoso
- O modelo de dados de esquema em estrela (tabelas de fatos + tabelas de dimensões) é a estrutura correta para análise de comércio eletrônico do Power BI
- A análise de coorte de clientes no Power BI requer uma tabela de datas, uma coluna de atribuição de coorte e medidas de datas relativas
- A atualização incremental do Power BI permite atualizações diárias de dados sem reprocessar conjuntos de dados históricos inteiros
- Painéis de múltiplas fontes que combinam Shopify com plataformas de publicidade (Meta, Google) permitem uma verdadeira análise de atribuição
Arquitetura de dados do Shopify para Power BI
Antes de se conectar ao Power BI, entenda quais dados o Shopify contém e como extraí-los em escala.
Principais objetos de dados do Shopify:
| Objeto | Campos de interesse | Volume |
|---|---|---|
| Encomendas | id, criado_em, status_financeiro, status_de cumprimento, preço_total, preço_subtotal, descontos_totais, ID_do_cliente, nome_da_fonte, tags | 1-100 mil por ano para a maioria das lojas |
| Encomendar itens de linha | order_id, product_id, variante_id, quantidade, preço, total_discount, sku | Contagem de pedidos de 2 a 5x |
| Produtos | id, título, tipo de produto, fornecedor, criado_em, publicado_em, tags | 100-100 mil SKUs |
| Variantes | id_do_produto, sku, preço, compare_at_price, quantidade_de_inventário | Igual aos produtos × variantes |
| Clientes | id, e-mail, criado_em, número de pedidos, total_spent, tags, aceita_marketing | Base acumulada de clientes |
| Reembolsos | order_id, criado_em, total_reembolsado, reabastecer | 3-20% da contagem de pedidos |
| Níveis de estoque | inventário_item_id, location_id, disponível | Instantâneo no momento do pull |
| Fontes de tráfego | Google Analytics / GA4 (não na API Admin do Shopify) | Via exportação de dados GA4 |
Limites de taxa da API Shopify para extração de dados:
API REST: 2 solicitações por segundo (grupo de 40). Para exportações de dados históricos de mais de 50.000 pedidos, isso leva horas e é impraticável para atualizações noturnas.
API GraphQL com operações em massa: processa todo o conjunto de dados de forma assíncrona e retorna um arquivo JSONL. Recomendado para todas as extrações de dados históricos.
Opções de arquitetura de extração de dados:
Opção 1: conector direto do Shopify no Power BI (mais simples)
Disponível em Obter dados > Serviços online > Shopify do Power BI ou por meio de conectores de terceiros, como Coupler.io ou Windsor.ai.
Prós: Configuração rápida (1-2 horas), sem necessidade de código Contras: profundidade limitada de dados históricos, junções de tabelas limitadas, atualização mais lenta, sem transformação personalizada
Opção 2: ETL por meio de pipeline de dados de terceiros (recomendado para lojas de receita acima de US$ 1 milhão)
Fivetran, Stitch, Airbyte ou Windsor.ai extraem dados do Shopify para um data warehouse (BigQuery, Snowflake, Azure SQL) de acordo com uma programação. O Power BI se conecta ao warehouse.
Prós: dados históricos completos, consultas mais rápidas, associações de várias fontes (Shopify + anúncios + avaliações), transformações personalizadas Contras: Custo adicional (US$ 99-500+/mês para serviço ETL), tempo de configuração (1-2 semanas)
Opção 3: ETL personalizado com Azure Data Factory (controle máximo)
Crie uma extração personalizada usando a API GraphQL Bulk Operations da Shopify, transforme dados com o Azure Data Factory, carregue no banco de dados SQL do Azure, conecte o Power BI via DirectQuery ou Import.
Prós: controle total, máxima integridade dos dados, menor custo por consulta em escala Contras: Tempo de engenharia (4-8 semanas), manutenção contínua
Modelo de dados do Power BI para comércio eletrônico do Shopify
Um modelo de dados bem estruturado é a base de uma implementação de Power BI de alto desempenho. Para comércio eletrônico, use um esquema em estrela.
Esquema estrela para Shopify:
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)
Esquema da tabela FactOrders:
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)
);
Tabela DimDate (dimensão do calendário — obrigatória para inteligência de tempo):
-- 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
);
Principais medidas DAX para análise de comércio eletrônico
DAX (Data Analysis Expressions) é a linguagem de fórmula do Power BI. Essas medidas constituem o núcleo de qualquer implementação analítica do Shopify.
Medidas de receita:
-- 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étricas do cliente:
-- 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]
)
Análise de retenção de coorte:
-- 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)
Medidas de estoque:
-- 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)
Design do painel: Visão geral da receita
Layout do painel de visão geral da receita:
Linha 1 — Cartões KPI:
- Receita Bruta (período atual)
- Receita Líquida (período atual)
- Total de pedidos -AOV
- Novos clientes
- Repita a taxa do cliente
Linha 2 — Série temporal:
- Receita ao longo do tempo (alternância diária/semanal/mensal)
- Pedidos ao longo do tempo
- Tendência AOV
Linha 3 - Divisão:
- Receita por tipo de produto (gráfico de barras horizontal)
- Receita por origem do canal (torta ou donut)
- Receita por local (se for multilocal)
Linha 4 - Comparação:
- Tabela de desempenho mês a mês
- Comparação ano a ano (mesmo período do ano atual vs. ano anterior)
Configuração do fatiador:
- Segmentação de intervalo de datas (com períodos predefinidos: este mês, último mês, este trimestre, este ano, personalizado)
- Filtro de tipo de produto
- Filtro de origem do canal
- Filtro de segmento de cliente (novo vs. recorrente)
Painel de coorte de clientes
O painel de retenção de coorte é o relatório mais valioso analiticamente para a tomada de decisões de comércio eletrônico. Mostra, para cada mês de aquisição, qual o percentual de clientes que voltaram a comprar nos meses subsequentes.
Design de tabela de coorte no Power BI:
Crie uma visualização de matriz:
- Linhas: Mês da coorte (mês da primeira compra)
- Colunas: Mês 0, Mês 1, Mês 2, ... Mês 12 (relativo à primeira compra)
- Valores: Taxa de retenção (porcentagem da coorte original que comprou naquele mês)
Escala de cores: vermelho (baixa retenção) → amarelo → verde (alta retenção)
Esta visualização revela instantaneamente:
- Quais meses de aquisição têm a melhor retenção a longo prazo (quais campanhas adquiriram os melhores clientes)
- Qual retenção mês a mês cai mais acentuadamente (momento ideal para campanhas de recuperação)
- Se a retenção está melhorando ou diminuindo ao longo do tempo (qualidade do produto, sinais de atendimento ao cliente)
Construindo o modelo de dados de coorte:
A análise de coorte requer estes campos em FactOrders:
customer_cohort_month: O AAAA-MM do primeiro pedido do cliente (constante por cliente, independentemente de quando o pedido atual foi feito)order_sequence: Número sequencial do pedido deste cliente (1 = primeiro pedido, 2 = segundo, etc.)months_since_first_order: Número de meses entre a data do primeiro pedido e a data deste pedido
Esses campos são melhor calculados durante o ETL (fora do Power BI) por motivos de desempenho.
Análise de múltiplas fontes: Shopify + dados de publicidade
O uso mais poderoso do Power BI para comércio eletrônico é combinar dados do Shopify com dados da plataforma de publicidade para medir o verdadeiro ROI do canal.
Fontes de dados a serem integradas:
| Fonte | Dados | Método de Integração |
|---|---|---|
| Shopify | Encomendas, clientes, produtos | Conector nativo ou ETL |
| Anúncios do Google | Gastos, cliques, impressões, conversões | Conector do Google Ads |
| Meta-anúncios | Gastos, alcance, conversões, ROAS | Conector de anúncios do Facebook |
| Anúncios TikTok | Gastos, visualizações, cliques | API personalizada ou Funnel.io |
| Google Analytics4 | Sessões, tráfego, eventos | Exportação do GA4 BigQuery |
| Klaviyo | Métricas de e-mail, atribuição de receita | Klaviyo → Fivetran |
Painel de eficiência de marketing:
| Métrica | Cálculo |
|---|---|
| Canal CAC | Gastos com publicidade do canal/Novos clientes do canal |
| ROAS do canal | Receita do canal/gastos com publicidade do canal |
| Relação LTV/CAC do canal | LTV de 12 meses do canal / canal CAC |
| CAC misto | Gasto total com marketing / total de novos clientes |
| Período de retorno | CAC do Canal / Receita Líquida Mensal por Cliente |
Conectar gastos com publicidade aos dados do pedido do Shopify requer correspondência de parâmetros UTM – os dados da sessão GA4 conectam o clique publicitário ao pedido do Shopify.
Atualização agendada e implantação de produção
Configuração do serviço Power BI para Shopify:
- Publique seu arquivo do Power BI Desktop no serviço do Power BI (app.powerbi.com)
- Configure um gateway de dados se sua fonte de dados for local (geralmente não é necessário para nuvem Shopify → nuvem SQL)
- Agende a atualização de dados: a maioria dos painéis analíticos do Shopify funcionam bem com atualização noturna (4h UTC, quando o tráfego é mais baixo)
- Configure a atualização incremental para tabelas grandes (pedidos): processe apenas os últimos 30 dias em cada atualização, retenha 2 anos de dados históricos
- Configure notificações por e-mail de falha de atualização
Configuração de atualização incremental:
-- 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
)
No serviço Power BI, configure:
- Armazenar linhas nos últimos: 2 anos (retenção histórica)
- Atualizar linhas nos últimos: 30 dias (janela incremental)
Isso significa que cada atualização consulta apenas os dados do Shopify dos últimos 30 dias – reduzindo drasticamente as chamadas de API e o tempo de atualização em comparação com a atualização completa do conjunto de dados.
Perguntas frequentes
Qual é o melhor conector para transferir dados do Shopify para o Power BI?
Para lojas com receita inferior a US$ 1 milhão ou menos de 10.000 pedidos: Coupler.io, Windsor.ai ou o conector Shopify Power BI nativo do Microsoft AppSource funcionam bem e exigem configuração mínima. Para lojas maiores onde a integridade dos dados e a confiabilidade da atualização são importantes: Fivetran ou Stitch fornecem um pipeline ETL robusto para um data warehouse, com o Power BI conectado ao warehouse. A abordagem de warehouse adiciona custos (US$ 200-1.000 +/mês), mas fornece qualidade de dados significativamente melhor, consultas mais rápidas e a capacidade de unir dados do Shopify com outras fontes de dados de negócios.
O Power BI pode mostrar dados do Shopify em tempo real?
Não através do modo de importação padrão. O modo de importação do Power BI carrega um instantâneo de dados que é atualizado de acordo com uma agenda (máximo de 8 vezes por dia no Power BI Pro, 48 vezes no Premium). Para dados do Shopify quase em tempo real, use o modo DirectQuery do Power BI conectado a um banco de dados que recebe eventos de webhook do Shopify em tempo real. Isso requer mais infraestrutura, mas permite painéis que mostram dados minutos após a realização do pedido. Para a maioria das decisões de comércio eletrônico (que não exigem atualização de dados em menos de uma hora), a atualização diária é suficiente.
Como atribuo a receita do Shopify a campanhas publicitárias específicas no Power BI?
A atribuição requer a conexão de três fontes de dados: dados da plataforma de publicidade (Google Ads, Meta Ads - gasto por campanha), dados de sessão GA4 (sessões com parâmetros UTM de campanha → conversões) e dados de pedidos do Shopify (pedidos com parâmetros UTM em tags de clientes ou atributos de pedido). Use parâmetros UTM de pedido (capturados por meio do campo landing_site do Shopify) para atribuir pedidos a campanhas. Junte isso aos dados de gastos com publicidade para calcular o CAC e o ROAS no nível da campanha. A atribuição completa requer aceitar que o rastreamento UTM captura 60-80% das conversões – o restante é direto ou entre dispositivos.
Quais funções DAX são mais úteis para análise de comércio eletrônico?
As funções DAX mais valiosas para comércio eletrônico: CALCULATE (aplicar filtros a qualquer medida), FILTER (criar contexto filtrado), SUMX / AVERAGEX (iterar sobre tabelas com cálculo em nível de linha), DATESINPERIOD / DATEADD / SAMEPERIODLASTYEAR (inteligência de tempo), DIVIDE (divisão segura que lida com denominadores zero), RANKX (classificação de produtos/clientes/canais), DISTINCTCOUNT (contagem de clientes/produtos exclusivos) e RELATED (acessar colunas de tabelas de dimensões relacionadas). Dominar essas 10 funções cobre 80% dos requisitos analíticos do comércio eletrônico.
Como lidar com as diversas moedas da Shopify no Power BI?
As lojas Shopify multimoedas apresentam um desafio: os pedidos são registrados na moeda da transação, mas os relatórios precisam de uma única moeda base. Durante o ETL, converta todos os valores do pedido para sua moeda base usando: (1) os campos presentment_money vs shop_money do Shopify (o Shopify já converte pela taxa de câmbio no momento do pedido) ou (2) uma tabela de taxas de câmbio com taxas diárias, aplicando a taxa para a data de cada pedido. Use os campos shop_money da Shopify (que representam os valores na moeda base da sua loja) como valores de relatório no Power BI para evitar a complexidade da taxa de câmbio manual.
Próximas etapas
Conectar o Shopify ao Power BI para análises avançadas requer conhecimento em engenharia de dados, fluência em DAX e habilidades de design de painel que fornecem insights acionáveis em vez de despejos de dados.
Os serviços Power BI e serviços Shopify da ECOSIRE incluem arquitetura de integração de dados Shopify, desenvolvimento de painel Power BI para análise de comércio eletrônico, implementação de análise de coorte, atribuição de marketing de várias fontes e suporte analítico contínuo.
Agende uma consulta de análise do Shopify para discutir a construção de uma pilha de análise do Power BI para sua loja do Shopify.
Escrito por
ECOSIRE Research and Development Team
Construindo produtos digitais de nível empresarial na ECOSIRE. Compartilhando insights sobre integrações Odoo, automação de e-commerce e soluções de negócios com IA.
Artigos Relacionados
Building Financial Dashboards with Power BI
Step-by-step guide to building financial dashboards in Power BI covering data connections to accounting systems, DAX measures for KPIs, P&L visualisations, and best practices.
Case Study: eCommerce Migration to Shopify with Odoo Backend
How a fashion retailer migrated from WooCommerce to Shopify and connected it to Odoo ERP, cutting order fulfillment time by 71% and growing revenue 43%.
Case Study: Power BI Analytics for Multi-Location Retail
How a 14-location retail chain unified their reporting in Power BI connected to Odoo, replacing 40 spreadsheets with one dashboard and cutting reporting time by 78%.
Mais de Data Analytics & BI
Building Financial Dashboards with Power BI
Step-by-step guide to building financial dashboards in Power BI covering data connections to accounting systems, DAX measures for KPIs, P&L visualisations, and best practices.
Case Study: Power BI Analytics for Multi-Location Retail
How a 14-location retail chain unified their reporting in Power BI connected to Odoo, replacing 40 spreadsheets with one dashboard and cutting reporting time by 78%.
GoHighLevel + Power BI: Advanced Reporting and Analytics
Connect GoHighLevel to Power BI for advanced marketing analytics. Build executive dashboards, track multi-channel ROI, and create automated reports that go beyond GHL's native reporting.
GoHighLevel Reporting and Analytics: Measuring What Matters
Master GoHighLevel reporting and analytics. Learn to build custom dashboards, track ROI across channels, measure funnel conversion, and make data-driven marketing decisions.
Odoo Events Module: Planning, Registration, and Analytics
Complete guide to Odoo 19 Events: create events, manage registrations, sell tickets, track attendance, and analyze event ROI with native ERP integration.
Odoo + Power BI: Complete Analytics Integration Guide
Connect Odoo 19 to Power BI for enterprise analytics. Covers DirectQuery, Import mode, data modeling, DAX measures, live dashboards, and deployment architecture.