Leodario.com

Leodario.com – Tudo sobre Tecnologia

Aula 61 – Loja Shopify do Zero ao Avançado: Urgência e escassez – técnicas psicológicas de venda

Imagem destacada da aula Shopify

Olá, pessoal! 👋 Sou seu professor experiente de Shopify e estou muito animado para mais uma aula do nosso curso “Loja Shopify do Zero ao Avançado”.

Chegamos à Aula 61, e hoje vamos mergulhar em um tópico que faz o coração do cliente bater mais forte (e a carteira abrir mais rápido! 😉): Urgência e Escassez. Preparem-se para aprender como usar técnicas psicológicas de venda de forma ética e eficaz para impulsionar suas conversões.

Aula 61 – Loja Shopify do Zero ao Avançado: Urgência e escassez – técnicas psicológicas de venda

📚 O que você vai aprender nesta aula

Nesta aula super prática, você vai:

  • Compreender os princípios psicológicos por trás da urgência e escassez e como eles influenciam a decisão de compra.
  • Aprender a identificar os melhores momentos e locais para aplicar essas técnicas em sua loja Shopify.
  • Explorar como implementar a urgência (contadores regressivos, promoções por tempo limitado) e a escassez (estoque baixo, edições limitadas) usando recursos nativos do Shopify, Liquid, HTML, CSS e JavaScript.
  • Descobrir como utilizar aplicativos para potencializar suas estratégias de urgência e escassez, sem precisar codificar tanto.
  • Receber dicas valiosas sobre boas práticas e ética na aplicação dessas técnicas para construir confiança com seus clientes.

🔗 Conectando com aulas anteriores

Nas últimas aulas, estivemos aprimorando cada detalhe da sua loja Shopify: desde a estrutura das coleções e páginas de produtos, passando pela experiência do usuário, até a personalização do checkout. Já falamos sobre como apresentar seus produtos com descrições atraentes, imagens de alta qualidade e chamadas para ação claras.

Agora, vamos um passo além! 🚀 Tendo uma loja bem estruturada e produtos bem apresentados, nosso foco muda para a otimização da conversão. As técnicas de urgência e escassez que abordaremos hoje são ferramentas poderosas para persuadir o cliente a tomar a decisão de compra agora, aproveitando o valor que já construímos nas aulas anteriores. Pensem nisso como o “empurrãozinho final” para transformar visitantes em clientes satisfeitos, complementando todo o trabalho de SEO, marketing de conteúdo e usabilidade que já desenvolvemos.

📖 Conteúdo Principal

As técnicas de urgência e escassez são gatilhos mentais poderosos que exploram a psicologia humana para incentivar a ação imediata. Vamos entender cada uma delas.

🧠 A Psicologia por Trás da Urgência e Escassez

Ambas as técnicas se baseiam no “Medo de Perder” (FOMO – Fear Of Missing Out). Ninguém gosta de ficar de fora de uma boa oportunidade, seja ela um desconto imperdível ou um produto exclusivo.

  • Urgência: Cria a sensação de que o tempo para agir está se esgotando. Oportunidades que duram pouco tempo são percebidas como mais valiosas e levam a uma decisão mais rápida.
  • Escassez: Cria a sensação de que a disponibilidade de um produto é limitada. Itens raros ou com poucas unidades restantes são mais desejados, pois a exclusividade aumenta o valor percebido.

A chave é usar essas técnicas de forma autêntica e ética. Falsa urgência ou escassez pode prejudicar a credibilidade da sua marca a longo prazo.

⏱️ Urgência: Fazendo o Cliente Agir Agora

A urgência pode ser aplicada de diversas formas, sempre com um prazo final claro.

Tipos Comuns de Urgência:

1. Tempo Limitado: Ofertas que expiram em horas ou dias (ex: “Promoção de Natal termina em 24h!”).

2. Evento Limitado: Descontos ou condições especiais atreladas a um evento específico (ex: “Cyber Monday – Últimas Horas!”).

3. Frete Grátis por Tempo Limitado: Estimula a finalização da compra rapidamente.

Benefícios:
  • Reduz a procrastinação na compra.
  • Aumenta a taxa de conversão.
  • Cria um senso de empolgação e excitação em torno da oferta.
Riscos:
  • Perda de Credibilidade: Se você constantemente “esticar” prazos ou usar contadores falsos, os clientes perceberão e perderão a confiança.
  • Ansiedade no Cliente: Embora um pouco de ansiedade seja boa, muita pode afastar o cliente.

📦 Escassez: Aumentando o Desejo pelo Produto

A escassez foca na disponibilidade limitada do produto ou na sua exclusividade.

Tipos Comuns de Escassez:

1. Estoque Limitado: Exibir o número de unidades restantes (ex: “Restam apenas 3 unidades!”).

2. Edição Limitada: Produtos exclusivos, sazonais ou colecionáveis (ex: “Edição de Colecionador – Apenas 100 unidades produzidas”).

3. Exclusividade: Acesso a produtos ou ofertas apenas para membros, primeiros compradores, etc.

Benefícios:
  • Aumenta o valor percebido do produto.
  • Estimula a compra por impulso.
  • Cria um senso de exclusividade e oportunidade única.
Riscos:
  • Falsa Escassez: Anunciar que algo é “limitado” quando não é. Novamente, credibilidade em jogo.
  • Desapontamento: Se um cliente se sente enganado, ele não voltará.

📍 Onde Aplicar Urgência e Escassez na Sua Loja Shopify

Essas técnicas podem ser estrategicamente posicionadas para maximizar o impacto:

  • Páginas de Produto: Ideal para mostrar estoque baixo ou contadores regressivos para promoções do produto.
  • Páginas de Coleção: Pode-se destacar produtos com poucas unidades ou em promoção por tempo limitado.
  • Carrinho de Compras: Mensagens como “Seu carrinho expira em X minutos” ou “Garanta seu frete grátis antes que a oferta termine”.
  • Barras de Notificação (Header/Footer): Para promoções globais de tempo limitado (ex: “FRETE GRÁTIS nas próximas 24h!”).
  • Pop-ups: Para capturar atenção com ofertas urgentes ou de escassez no momento certo.
  • Emails de Abandono de Carrinho: Reforçar a urgência ou escassez para produtos no carrinho.

💻 Exemplos Práticos

Vamos colocar a mão na massa e ver como podemos implementar essas técnicas usando Liquid, HTML, CSS e JavaScript no seu tema Shopify.

Pré-requisito: Para editar os códigos, vá em Loja Virtual > Temas > Ações > Editar Código. Lembre-se de sempre fazer um backup do seu tema antes de qualquer alteração significativa!

Exemplo 1: Contador Regressivo para uma Promoção (Urgência) ⏳

Vamos adicionar um contador regressivo em uma página de produto para uma promoção específica. Suponha que você tenha produtos que entram em uma “promoção relâmpago”.

Passo 1: Definindo a data final da promoção (Metaobjeto ou Tag)

A forma mais robusta seria usar um Metaobjeto para gerenciar as promoções, mas para simplificar, vamos usar uma tag de produto e uma data hardcoded no JS, ou você pode ter um campo customizado no produto via Metafields.

Para este exemplo, vamos imaginar que queremos que o contador apareça apenas em produtos que tenham a tag promocao-relampago e que a data final seja gerenciada diretamente no código JavaScript. Em um cenário real, você buscaria essa data de um metafield do produto ou de um metaobjeto de promoção para maior flexibilidade.

Passo 2: Adicionando o HTML na página do produto

Abra o arquivo sections/main-product.liquid ou similar (dependendo do seu tema, pode ser snippets/product-card.liquid ou templates/product.liquid). Encontre um local adequado, como abaixo do preço do produto ou da descrição.

html

{% if product.tags contains 'promocao-relampago' %}

Oferta termina em:

00d

00h

00m

00s

{% endif %}

Passo 3: Adicionando o CSS para estilização

No arquivo assets/theme.css ou assets/base.css (ou onde seu CSS principal estiver), adicione:

css

.countdown-timer {

margin-top: 20px;

padding: 15px;

background-color: #f8f9fa;

border: 1px solid #e2e6ea;

border-radius: 8px;

text-align: center;

font-family: Arial, sans-serif;

}

.countdown-timer p {

font-size: 1.1em;

font-weight: bold;

color: #333;

margin-bottom: 10px;

}

.countdown-timer .timer-display {

display: flex;

justify-content: center;

gap: 10px;

font-size: 1.8em;

color: #d9534f; / Cor de destaque para urgência /

font-weight: bold;

}

.countdown-timer .timer-display span {

background-color: #fff;

padding: 5px 10px;

border-radius: 5px;

box-shadow: 0 2px 5px rgba(0,0,0,0.1);

}

.countdown-timer .timer-display small {

font-size: 0.5em; / Para o "d", "h", "m", "s" /

align-self: center;

color: #555;

margin-left: -5px; / Ajuste para aproximar o texto /

margin-right: 5px;

}

Passo 4: Adicionando o JavaScript para a lógica do contador

Crie um novo arquivo em assets chamado countdown.js e adicione o seguinte código:

javascript

document.addEventListener('DOMContentLoaded', function() {

const countdownElement = document.getElementById('countdown-timer');

if (countdownElement) {

// Definir a data e hora final da promoção (substitua pela sua data!)

// Exemplo: 31 de Dezembro de 2024, 23:59:59

const endDate = new Date('December 31, 2024 23:59:59').getTime();

const countdownFunction = setInterval(function() {

const now = new Date().getTime();

const distance = endDate - now;

const days = Math.floor(distance / (1000 60 60 * 24));

const hours = Math.floor((distance % (1000 60 60 24)) / (1000 60 * 60));

const minutes = Math.floor((distance % (1000 60 60)) / (1000 * 60));

const seconds = Math.floor((distance % (1000 * 60)) / 1000);

document.getElementById('days').textContent = String(days).padStart(2, '0');

document.getElementById('hours').textContent = String(hours).padStart(2, '0');

document.getElementById('minutes').textContent = String(minutes).padStart(2, '0');

document.getElementById('seconds').textContent = String(seconds).padStart(2, '0');

if (distance < 0) {

clearInterval(countdownFunction);

countdownElement.innerHTML = "

A oferta terminou!

";

}

}, 1000);

}

});

Passo 5: Incluindo o JavaScript no seu tema

No arquivo layout/theme.liquid, antes do fechamento da tag , adicione:

{{ 'countdown.js' | asset_url | script_tag }}

Screenshot/Visualização:

Imagine a página de um produto “Tênis Esportivo Pro X”. Abaixo do preço, você veria:

!Screenshot de Contador Regressivo

Dica Pro: Para uma data de término dinâmica por produto (o que é o ideal!), você criaria um Metafield para o produto (tipo date_and_time) chamado data_final_promocao. No JavaScript, você acessaria essa data usando {{ product.metafields.custom.data_final_promocao | date: '%Y/%m/%d %H:%M:%S' }}. Ex:

javascript

// ...

// Substitua 'custom.data_final_promocao' pelo namespace e chave do seu metafield

const rawEndDate = '{{ product.metafields.custom.data_final_promocao | date: '%Y/%m/%d %H:%M:%S' }}';

const endDate = new Date(rawEndDate).getTime();

// ...

Exemplo 2: Indicador de Estoque Baixo (Escassez) 📉

Vamos exibir uma mensagem de “Poucas unidades!” quando o estoque de um produto (ou sua variante selecionada) estiver abaixo de um certo limite.

Passo 1: Adicionando o HTML e Liquid na página do produto

No mesmo arquivo sections/main-product.liquid (ou similar), localize onde você quer exibir a mensagem (ex: perto do botão “Adicionar ao Carrinho”).

html

{% comment %}

Verifica o estoque da variante selecionada ou do primeiro variante se não houver seleção

{% endcomment %}

{% assign current_variant = product.selected_or_first_available_variant %}

{% if current_variant.inventory_management == 'shopify' and current_variant.inventory_quantity <= 5 and current_variant.inventory_quantity > 0 %}

🚨 Restam apenas {{ current_variant.inventory_quantity }} unidades! Garanta já o seu!

{% elsif current_variant.inventory_management == 'shopify' and current_variant.inventory_quantity == 0 %}

🚫 Produto esgotado! Avise-me quando voltar.

{% endif %}

Explicação do Liquid:

  • product.selected_or_first_available_variant: Pega a variante que o usuário selecionou ou a primeira disponível se nenhuma for selecionada.
  • inventory_management == 'shopify': Garante que estamos gerenciando o estoque pelo Shopify (e não por um sistema externo).
  • inventory_quantity <= 5 and inventory_quantity > 0: Exibe a mensagem de escassez apenas se houver entre 1 e 5 unidades.
  • inventory_quantity == 0: Exibe mensagem de esgotado.

Passo 2: Adicionando o CSS para estilização

No seu arquivo CSS principal, adicione:

css

.stock-alert {

margin-top: 15px;

padding: 10px 15px;

border-radius: 5px;

font-weight: bold;

font-size: 1em;

text-align: center;

background-color: #fff3cd; / Amarelo claro /

color: #856404; / Texto marrom escuro /

border: 1px solid #ffeeba;

}

.stock-alert.stock-out {

background-color: #f8d7da; / Vermelho claro /

color: #721c24; / Texto vermelho escuro /

border: 1px solid #f5c6cb;

}

Screenshot/Visualização:

Imagine a página de um produto “Camiseta Básica Premium”. Abaixo da seleção de tamanho e acima do botão “Adicionar ao Carrinho”:

!Screenshot de Alerta de Estoque Baixo

Dica Pro: Se seu produto tem múltiplas variantes (cores, tamanhos), você precisará de JavaScript para atualizar essa mensagem de estoque quando o cliente selecionar uma variante diferente. Isso envolve ouvir o evento de mudança do seletor de variantes e atualizar o texto usando a API Storefront. (Conteúdo para aulas mais avançadas sobre JavaScript e Shopify!)

Exemplo 3: Barra de Notificação Fixa Global (Urgência/Escassez) 📢

Vamos adicionar uma barra no topo da página que exibe uma mensagem de urgência global (ex: “Frete Grátis nas próximas X horas”).

Passo 1: Adicionando o HTML e Liquid

No arquivo layout/theme.liquid, geralmente logo após a tag de abertura, adicione:

html

{% assign enable_promo_bar = true %} {# Defina como 'false' para desativar a barra #}

{% assign promo_message = '🚚 FRETE GRÁTIS em TODOS os pedidos! Válido por tempo limitado!' %}

{% assign promo_link = '/collections/all' %} {# Link para onde a barra deve levar #}

{% assign promo_bar_countdown_end = 'December 31, 2024 23:59:59' %} {# Data final da promoção, formato JS #}

{% if enable_promo_bar %}

{% endif %}

Dica Pro: Para gerenciar essa barra de forma mais fácil, você pode adicionar configurações no seu tema (config/settings_schema.json) que permitem habilitar/desabilitar a barra, mudar a mensagem, o link e até a data final diretamente pelo personalizador do tema, sem mexer no código!

Passo 2: Adicionando o CSS para estilização

No seu arquivo CSS principal, adicione:

css

.promo-bar {

background-color: #4CAF50; / Verde vibrante /

color: white;

padding: 10px 0;

text-align: center;

font-size: 1.1em;

font-weight: bold;

position: sticky; / Fixa no topo ao rolar /

top: 0;

z-index: 1000; / Garante que fique acima de outros elementos /

display: flex;

justify-content: center;

align-items: center;

}

.promo-bar a {

color: white;

text-decoration: none;

display: flex; / Para alinhar o texto e o timer /

align-items: center;

gap: 10px;

}

.promo-bar .promo-bar-timer {

font-family: monospace;

background-color: rgba(0,0,0,0.2);

padding: 3px 8px;

border-radius: 4px;

}

.promo-bar .close-promo-bar {

background: none;

border: none;

color: white;

font-size: 1.5em;

margin-left: 20px;

cursor: pointer;

padding: 0 10px;

}

.promo-bar .close-promo-bar:hover {

opacity: 0.8;

}

body.promo-bar-active {

padding-top: 40px; / Ajusta o padding do body para a barra não cobrir o conteúdo /

}

Passo 3: Adicionando o JavaScript para o contador e fechar a barra

Crie um novo arquivo em assets chamado promo-bar.js e adicione:

javascript

document.addEventListener('DOMContentLoaded', function() {

const promoBar = document.getElementById('promo-bar');

const closeButton = document.getElementById('close-promo-bar');

const promoBarTimer = document.getElementById('promo-bar-timer');

// Verifica se a barra já foi fechada pelo usuário em sessões anteriores

if (localStorage.getItem('promoBarClosed') === 'true' && promoBar) {

promoBar.style.display = 'none';

document.body.classList.remove('promo-bar-active');

} else if (promoBar) {

document.body.classList.add('promo-bar-active'); // Adiciona classe para ajustar o body

// Configura o contador regressivo para a barra de promoção

const endDate = new Date('{{ promo_bar_countdown_end }}').getTime(); // Data do Liquid

const countdownFunction = setInterval(function() {

const now = new Date().getTime();

const distance = endDate - now;

const days = Math.floor(distance / (1000 60 60 * 24));

const hours = Math.floor((distance % (1000 60 60 24)) / (1000 60 * 60));

const minutes = Math.floor((distance % (1000 60 60)) / (1000 * 60));

const seconds = Math.floor((distance % (1000 * 60)) / 1000);

if (promoBarTimer) {

promoBarTimer.textContent = ${String(days).padStart(2, '0')}d ${String(hours).padStart(2, '0')}h ${String(minutes).padStart(2, '0')}m ${String(seconds).padStart(2, '0')}s;

}

if (distance < 0) {

clearInterval(countdownFunction);

if (promoBar) promoBar.style.display = 'none';

document.body.classList.remove('promo-bar-active');

}

}, 1000);

}

if (closeButton) {

closeButton.addEventListener('click', function() {

if (promoBar) {

promoBar.style.display = 'none';

document.body.classList.remove('promo-bar-active');

localStorage.setItem('promoBarClosed', 'true'); // Salva que a barra foi fechada

}

});

}

});

Passo 4: Incluindo o JavaScript no seu tema

No arquivo layout/theme.liquid, antes do fechamento da tag , adicione (junto ao countdown.js se já o adicionou):

{{ 'promo-bar.js' | asset_url | script_tag }}

Screenshot/Visualização:

No topo de todas as páginas da sua loja:

!Screenshot de Barra de Promoção Fixa

Dica Pro: Se o seu tema já tem uma barra de notificação nas configurações, é melhor usá-la. Este exemplo é para temas que não possuem ou para uma customização mais profunda.

Considerações sobre Apps de Shopify

Implementar essas funcionalidades manualmente é ótimo para aprendizado e controle total. No entanto, para quem busca mais recursos, facilidade de uso e teste A/B, existem excelentes aplicativos na Shopify App Store:

  • Aplicativos de Urgência/Escassez:
  • Sales Pop / Urgency & Scarcity Pro: Exibe vendas recentes, “pessoas visualizando este item”, contadores regressivos, etc.
  • Loox / Fera: Foca em prova social (avaliações), mas muitos também oferecem recursos de escassez (ex: “X pessoas compraram este item recentemente”).
  • Countdown Timer & Sales Pop Up: Apps dedicados para contadores, barras e pop-ups.

Prós dos Apps:

  • Fácil instalação e configuração (sem código).
  • Geralmente incluem recursos avançados (teste A/B, segmentação).
  • Suporte técnico.

Contras dos Apps:

  • Custo (muitos são pagos).
  • Podem adicionar scripts extras que impactam levemente a velocidade do site.
  • Menos controle sobre o design e integração perfeita com o tema.

Recomendo começar com as soluções customizadas para entender a lógica e, se a sua loja escalar e precisar de mais complexidade, considerar os apps.

🎯 Exercícios e Desafios

Hora de praticar o que aprendemos! 💪

1. Desafio 1: Personalizar o Contador Regressivo.

  • Objetivo: Modificar o contador regressivo do Exemplo 1 para ter uma cor de fundo e texto diferente, além de exibir a mensagem “Última chance!” quando faltarem menos de 24 horas para o fim da promoção.
  • Dica: Adicione uma classe CSS condicional no HTML e/ou JS para essa condição de “última chance”.

2. Desafio 2: Indicador de Escassez para Coleções.

  • Objetivo: Na página de uma coleção (sections/main-collection-product-grid.liquid ou similar), adicione um pequeno selo “Poucas unidades!” em cada produto que tenha menos de 10 unidades em estoque.
  • Dica: Você precisará iterar sobre collection.products e, dentro do loop de cada produto, verificar product.variants[0].inventory_quantity (ou o product.first_available_variant.inventory_quantity para simplificar).

3. Desafio 3: Barra de Notificação com Preferência do Usuário.

  • Objetivo: Modifique a barra de notificação do Exemplo 3 para que, se o usuário fechar a barra, ela não apareça novamente por 24 horas (usando localStorage no JavaScript). Atualmente, ela não aparece nunca mais após fechada.
  • Dica: Adapte a lógica do localStorage.setItem('promoBarClosed', 'true') para guardar também um timestamp e verificar se 24h se passaram antes de reexibir.

📝 Resumo da Aula

Nesta aula, desvendamos os segredos da urgência e escassez, duas das mais poderosas técnicas psicológicas de venda. Aprendemos que:

  • Ambas se baseiam no medo de perder (FOMO) e aumentam o valor percebido do produto.
  • A urgência foca no tempo limitado (contadores, promoções por tempo certo).
  • A escassez foca na disponibilidade limitada (estoque baixo, edições limitadas).
  • Vimos como implementar exemplos práticos dessas técnicas em sua loja Shopify usando Liquid, HTML, CSS e JavaScript, desde contadores regressivos até alertas de estoque.
  • Discutimos a importância da ética e da autenticidade para manter a credibilidade da sua marca.
  • Exploramos a opção de usar aplicativos para maior funcionalidade e facilidade.

Dominar essas técnicas, quando usadas com sabedoria, pode ser um divisor de águas para suas taxas de conversão e para o sucesso da sua loja!

🚀 Preparação para próxima aula

Com o entendimento de como criar senso de urgência e escassez, na nossa próxima aula (Aula 62), vamos dar um passo adiante na otimização de vendas. Abordaremos “Personalização e Segmentação: Entregando Ofertas Relevantes”.

Vamos aprender como usar os dados dos seus clientes para criar experiências de compra altamente personalizadas e ofertas segmentadas, tornando suas campanhas de marketing e promoções (incluindo as de urgência e escassez!) ainda mais eficazes e com maior probabilidade de conversão. Prepare-se para conhecer o poder do marketing one-to-one!

📚 Recursos Adicionais

Até a próxima aula! Mãos à obra e boas vendas! 🛒✨

🚀 Pronto para a próxima aula?

Continue sua jornada Shopify!

Ver todas as aulas