Como Integrar Shopify e Google Sheets Usando Google Apps Script
Manter relatórios de pedidos, conferência de estoque e controle financeiro atualizados em tempo real é um desafio recorrente na rotina de quem gerencia lojas Shopify. Muitas operações recorrem à exportação manual de arquivos CSV diariamente ou acabam inflando os custos operacionais com aplicativos de terceiros que cobram mensalidades em dólar apenas para empurrar dados para uma planilha.
Existe, contudo, uma alternativa mais limpa, escalável e de baixo custo: utilizar o Google Apps Script conectado diretamente às APIs e Webhooks do Shopify. Neste artigo, você entenderá a lógica técnica por trás dessa integração e como estruturá-la de ponta a ponta.
Por Que Usar Google Apps Script com Shopify?
O Google Apps Script funciona como um ambiente serverless baseado em JavaScript executado na infraestrutura do Google. Ele permite manipular o Google Sheets programaticamente sem a necessidade de manter servidores dedicados ou pagar ferramentas de automação por volume de tarefas.
Principais vantagens da abordagem:
- Custo zero de infraestrutura: para volumes padrões de lojas virtuais, as cotas gratuitas do Google Apps Script cobrem com folga o tráfego de requisições.
- Atualização em tempo real: disparada por eventos (Webhooks da Shopify) ou por cron jobs programados (Triggers temporais).
- Controle total do esquema de dados: sua equipe define exatamente quais campos de produtos, frete ou clientes são salvos e como são formatados.
Arquitetura da Integração: Webhook Shopify para Apps Script
O método mais eficiente para registrar dados (como novos pedidos) consiste em enviar eventos instantâneos da Shopify para uma URL pública gerada pelo Google Apps Script.
[Evento no Shopify: orders/create]│
▼ (Requisição HTTP POST com JSON)
[Google Apps Script: Web App (doPost)] │
▼ (Tratamento e formatação de arrays)
[Google Sheets: Inserção de Nova Linha]
Passo a Passo Técnico
1. Criando o Web App no Google Sheets
No Google Sheets de destino, acesse Extensões > Apps Script e configure a função doPost(e) responsável por receber a carga útil (payload) enviada pela Shopify:
javascript
function doPost(e) {
try {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var data = JSON.parse(e.postData.contents);
// Mapeamento dos campos do pedido Shopify
var orderId = data.name; // Ex: #1001
var email = data.email || 'Não informado';
var total = data.total_price;
var createdAt = data.created_at;
var statusFinanceiro = data.financial_status;
// Gravação dos dados na última linha disponível
sheet.appendRow([orderId, email, total, statusFinanceiro, createdAt]);
return ContentService.createTextOutput(JSON.stringify({ status: 'success' }))
.setMimeType(ContentService.MimeType.JSON);
} catch (error) {
return ContentService.createTextOutput(JSON.stringify({ status: ‘error’, message: error.toString() }))
.setMimeType(ContentService.MimeType.JSON);
}
}
Após implementar o código:
- Clique em Implantar > Nova implantação.
- Escolha o tipo Aplicativo da Web.
- Defina o acesso para Qualquer pessoa (necessário para que a Shopify consiga disparar o POST sem autenticação do Google Workspace).
- Copie a URL gerada.
2. Configurando o Webhook no Painel Shopify
Com a URL do script em mãos:
- No painel de administração da sua Shopify, vá em Configurações > Notificações.
- Role até a seção Webhooks e clique em Criar Webhook.
- Selecione o Evento desejado (ex:
Criação do pedido). - Formato:
JSON. - Cole o endpoint fornecido pelo Google Apps Script no campo de URL.
- Salve a configuração e clique em Enviar webhook de teste para validar o preenchimento automático das colunas na planilha.
Boas Práticas e Pontos de Atenção
Em implementações Shopify que realizo para lojas com rotatividade alta de transações, alguns cuidados técnicos se tornam indispensáveis para evitar perda de dados ou bloqueios temporários:
- Validação de Assinatura HMAC: o cabeçalho
X-Shopify-Hmac-Sha256deve ser validado para garantir que os dados vieram legitimamente da sua loja, impedindo injeções arbitrárias no endpoint público. - Concorrência e Locks: quando múltiplos pedidos entram no mesmo segundo, duas execuções simultâneas do Apps Script podem tentar acessar a mesma linha da planilha. O uso do serviço
LockService.getScriptLock()previne sobreposições de registros. - Cotas de Execução: para catálogos com dezenas de milhares de SKUs em atualização de estoque, a abordagem via Webhook é superior a scripts pesados de varredura periódica via API REST/GraphQL, pois não atinge o tempo limite de 6 minutos por execução do Google.
Conclusão e Próximos Passos
Criar automações sob medida com Google Apps Script confere independência operacional à sua loja Shopify, eliminando trabalhos manuais repetitivos e reduzindo despesas com softwares de terceiros.
Se a sua operação exige fluxos mais avançados — como conciliação de estoque de múltiplos estoques (locations), integração bidirecional com ERPs ou sanitização de dados fiscais —, ter um desenvolvimento estruturado garante estabilidade e segurança. Entre em contato para avaliar uma consultoria técnica ou o desenvolvimento de integrações personalizadas para o ecossistema da sua loja Shopify.


