Se você vende no Shopify, a maioria dos seus concorrentes provavelmente também vende, e os preços, descontos e níveis de estoque deles ficam visíveis para qualquer pessoa que abra a loja. Apps de monitoramento transformam isso em painéis, mas você pode coletar os mesmos dados por conta própria, exatamente para as lojas e produtos que importam, e guardar o histórico. Isso é inteligência de preços na escala de um único lojista, e o Shopify torna o primeiro passo mais fácil do que a maioria das plataformas.
Este guia mostra onde estão os dados, o que registrar por produto, como comparar mercados por país e como manter tudo funcionando de forma confiável.
Por que construir você mesmo
Apps são rápidos de começar, mas têm limites. Costumam limitar o número de concorrentes ou produtos, atualizam no próprio cronograma e guardam o histórico bruto dentro do app. Um pequeno coletor próprio oferece:
- Sua lista de rivais, incluindo lojas pequenas que nenhum app acompanha.
- Seu cronograma, por exemplo a cada poucas horas durante uma promoção e uma vez por dia no resto do tempo.
- Seus dados, em uma planilha ou banco de dados que você pode cruzar com suas próprias vendas e margens.
Em troca, é preciso um pouco de configuração e manter as requisições educadas e constantes, e é aí que entram os proxies.
Onde estão os dados: o JSON público de produtos
A maioria das lojas Shopify publica o catálogo público em um formato legível por máquinas:
/products.jsonlista os produtos com suas variantes, em páginas. Adicione?limit=250&page=2e assim por diante para percorrer um catálogo grande./products/<handle>.jsonretorna um único produto, em que o handle é a última parte da URL do produto./collections/<handle>/products.jsonlista os produtos de uma coleção, útil quando você acompanha só uma categoria.
Cada variante traz os campos de que você precisa: price, compare_at_price (o preço riscado “de”), available, sku e marcações de tempo. Isso é muito mais leve do que carregar a página de produto renderizada com imagens e scripts, e não muda quando a loja troca de tema.
Nem toda loja deixa isso aberto. Algumas retornam um erro ou uma página com senha, e lojas headless podem nem expor esse recurso. Nesses casos, leia os dados estruturados embutidos na página do produto; explicamos esse caminho em extrair JSON-LD em vez de analisar HTML.
O que registrar por produto
Acompanhe variantes, não produtos. Uma camiseta em cinco tamanhos são cinco variantes, e um concorrente muitas vezes dá desconto só nos tamanhos que não vendem.
Por variante, a cada verificação:
- Loja, handle do produto, ID da variante, SKU e título da variante (tamanho, cor).
priceecompare_at_price.available(em estoque ou não).- O horário da verificação, o país de onde você verificou e a moeda exibida.
Sinais a extrair:
- Profundidade do desconto: a diferença entre
compare_at_priceeprice, e quando um desconto começa e termina. - Mudanças de preço: cada vez que o preço de uma variante muda, com o valor antigo e o novo.
- Rupturas de estoque: variantes que passam a indisponíveis, muitas vezes sinal de demanda forte ou de problemas de fornecimento.
- Produtos novos e removidos: o que o concorrente lança e o que retira em silêncio.
Guarde só as mudanças mais um retrato diário, e o histórico continua pequeno mesmo com dezenas de lojas.
Mercados: a mesma loja, preços diferentes por país
O Shopify Markets permite que uma loja venda em muitos países com moedas locais e, muitas vezes, preços diferentes. O mercado que um visitante recebe geralmente depende da localização dele, às vezes com uma subpasta de país como /en-ca/ ou um seletor de moeda.
Isso importa para o monitoramento. Se você coleta tudo de um servidor em um único país, só verá aquele mercado. Para comparar o que compradores nos Estados Unidos, no Reino Unido e na Alemanha pagam:
- Acesse a loja a partir de um IP em cada país onde você vende, para que a loja escolha o mercado que um comprador local recebe.
- Registre a moeda e o preço recebidos, não um valor convertido.
- Confira um produto à mão por mercado na primeira vez, comparando com a página renderizada, para confirmar que o JSON coletado mostra o preço local daquela loja.
A segmentação por país basta para a maioria das comparações no Shopify. A segmentação por cidade só importa quando uma loja muda opções de entrega ou estoque por região.
Um coletor mínimo
O script abaixo lê o catálogo de uma loja por meio de um proxy e imprime o preço e o estoque de cada variante. Execute-o por loja e por país em um cronograma e grave as linhas no seu banco de dados.
import time
import requests
PROXY = "http://customer-USERNAME-country-us:PASSWORD@p.shifter.io:443"
STORE = "https://competitor-store.example"
def fetch_catalogue(store):
page = 1
while True:
r = requests.get(
f"{store}/products.json",
params={"limit": 250, "page": page},
proxies={"http": PROXY, "https": PROXY},
timeout=30,
)
r.raise_for_status()
products = r.json().get("products", [])
if not products:
break
yield from products
page += 1
time.sleep(2) # stay polite between pages
for product in fetch_catalogue(STORE):
for v in product["variants"]:
print(product["handle"], v["id"], v["title"],
v["price"], v["compare_at_price"], v["available"])
Troque country-us no nome de usuário para coletar a mesma loja como um comprador de outro mercado a vê.
Configuração de proxies
| Tarefa | Rotação | Segmentação |
|---|---|---|
| Retrato diário do catálogo | Por requisição | País do mercado |
| Verificações frequentes de produtos-chave durante uma promoção | Por requisição | País do mercado |
| Conferir o carrinho ou o total do checkout | Sessão sticky | País do mercado |
As lojas Shopify limitam a velocidade com que um endereço pode pedir páginas, e um servidor de monitoramento que visita as mesmas lojas todo dia chama atenção rápido. Proxies residenciais com um IP novo por requisição distribuem as verificações entre conexões domésticas reais no país escolhido, e a loja responde como responderia a um comprador local.
Alguns hábitos mantêm a coleta estável:
- Faça uma pausa de um ou dois segundos entre páginas da mesma loja e distribua as lojas ao longo do dia.
- Verifique os produtos-chave com frequência e o catálogo completo uma vez por dia; a maioria dos preços não muda de hora em hora. Nosso estudo sobre a velocidade com que os preços online mudam ajuda a escolher uma frequência sensata.
- Trate uma resposta HTML ou uma página de desafio como falha, não como dado, e tente de novo mais tarde.
Como isso se encaixa em uma estrutura maior
Lojas Shopify costumam ser só uma parte do cenário. Se você também acompanha fornecedores e marketplaces, nosso guia de proxies para dropshipping cobre pesquisa de produtos e monitoramento de fornecedores junto com as lojas concorrentes.
Resumindo
Você não precisa de um app para acompanhar lojas Shopify da concorrência. Leia o JSON público de produtos, registre o preço, o preço “de” e o estoque de cada variante com o horário e o país da verificação, e guarde só as mudanças. Colete cada mercado a partir de um IP naquele país e use proxies residenciais rotativos para que um cronograma diário rode sem bloqueios.