SEO Playbook · Element

Caixas de Oferta: Validade, Elegibilidade e Regras de Negociação

Construa uma caixa de oferta com prazo real ou regra de elegibilidade, termos completos, urgência honesta, status acessível e dados estruturados que as máquinas possam verificar.

16 min read

Uma caixa de oferta apresenta um benefício comercial limitado no tempo ou condicional juntamente com as regras necessárias para obtê-lo. Ela dá ao comprador o valor, elegibilidade, prazo, método de resgate e próxima ação em uma unidade delimitada; nunca fabrica urgência onde não existe uma restrição real.

A oferta renderizada é deliberadamente completa mesmo quando removida de sua página: o benefício tem uma unidade, o público é explícito, o código é texto, as exclusões estão próximas, o prazo inclui um fuso horário e o link diz o que acontece em seguida. A marca, código, datas e valores são ilustrativos e não uma promoção ativa da AmICited.

Por que este elemento é importante

Uma oferta altera o momento ou a economia de uma decisão. Os leitores portanto fazem duas perguntas ao mesmo tempo: “Isso é valioso para mim?” e “Posso realmente obtê-lo?” Uma caixa reduz o esforço de responder a ambas, mas apenas quando o benefício e a restrição são igualmente visíveis. Uma linha grande de “40% off” seguida de elegibilidade em letras minúsculas atrai atenção ao ocultar o fato que determina se a promessa se aplica. Isso é persuasão por ambiguidade, não urgência útil.

A urgência real ajuda um leitor a evitar perder uma opção. A urgência falsa pressiona um leitor enquanto preserva a opção do vendedor de continuar a promoção indefinidamente. Nunca use “só hoje”, “última chance”, uma contagem regressiva que reinicia ou “tempo limitado” a menos que uma fonte aprovada defina o fim genuíno. Quando a promoção é estendida, a fonte, o prazo visível, os caches e os dados estruturados devem ser atualizados como uma única mudança controlada. Mover repetidamente o prazo ensina os visitantes recorrentes que o cronômetro é decorativo.

A capacidade de extração por máquina é a capacidade de um rastreador, agente de compras, motor de busca ou sistema de sindicalização de reter as relações entre a oferta, seu item, efeito no preço, elegibilidade e validade. “Economize 40” não é um fato completo: a unidade pode ser moeda ou percentual, e a economia pode se aplicar por pedido, por item ou por mês. Uma oferta bem formada expõe uma declaração estável como “Novos clientes economizam USD 40 em um plano anual Growth com o código GROW40 até 31 de agosto de 2026 às 23:59 Europe/Bratislava.”

A expiração é dado operacional, não apenas texto. Se um sistema de publicação renderizar o prazo mas não puder alterar o estado ativo depois que ele passar, a página acabará fazendo uma afirmação falsa. O modelo de conteúdo deve dar ao renderizador um carimbo de data/hora legível por máquina e um estado expirado seguro antes do lançamento da campanha.

Quando usar

Use uma caixa de oferta quando uma promoção alterar materialmente a transação normal e pelo menos um limite se aplicar: uma hora de início ou fim, um público elegível, um gasto mínimo, uma restrição de produto ou plano, um limite geográfico, um teto de resgate ou um requisito de cupom. Usos comuns incluem um desconto sazonal, um crédito na primeira compra, frete grátis acima de um valor, um item bônus com uma compra qualificada ou uma atualização temporária para clientes existentes.

Use-a apenas quando o leitor puder agir sobre a oferta a partir desta página ou entender exatamente onde o resgate ocorre. Uma menção editorial de que “o vendedor às vezes faz promoções” não é uma oferta. Um preço padrão disponível para todos indefinidamente é informação comercial normal e pertence a uma tabela de preços ou linha de preço do produto.

Erros comuns incluem:

  • Um “desconto para novos clientes” permanente pode ser condicional sem ter prazo determinado. Ainda precisa da definição de qualificação, exclusões e data de verificação, mas não deve dizer “corra.”
  • Um teste grátis que faz parte do produto normal é um termo do plano, não uma promoção, a menos que uma campanha altere temporariamente sua duração ou escopo.
  • Um voucher de afiliado pertence a uma caixa de oferta apenas quando o publicador verificou os termos atuais e divulga claramente a relação comercial próxima.
  • Um produto simplesmente estar em estoque é disponibilidade, não uma oferta. Não transforme status de inventário em urgência a menos que o estoque seja genuinamente limitado e a alegação de quantidade venha de uma fonte ao vivo.
  • Um convite geral “Agende uma demonstração” é um bloco CTA , não uma oferta. Adicionar uma consultoria gratuita não cria uma promoção se essa consultoria estiver sempre incluída.

As regras de escrita de elementos têm precedência: escolha o bloco pelo seu propósito, não pela sua borda, cor, título ou rótulo de marketing. Se o propósito é comunicar um incentivo comercial delimitado, use o elemento de oferta mesmo quando o design se assemelhar a um aviso ou CTA.

Onde posicionar

Posicione a caixa depois que o leitor puder identificar o produto, serviço ou plano ao qual se aplica e antes da ação de compra normal. Em uma página de produto, isso geralmente significa ao lado ou imediatamente abaixo do preço e seletor de variante. Em uma página de preços, posicione-a diretamente acima da ação do plano elegível ou abaixo da tabela com uma lista explícita de planos afetados. Em um guia de compra editorial ou avaliação, posicione-a após a avaliação da opção relevante, não antes das evidências que justificam a recomendação.

Mantenha o nome da oferta, benefício, elegibilidade, prazo, exclusões, código e ação em uma unidade de leitura. Termos que alteram a elegibilidade podem abrir em uma divulgação mais longa, mas as condições decisivas não podem estar ocultas lá. Um leitor não deve ter que seguir um link para descobrir um gasto mínimo, plano excluído, renovação automática, restrição geográfica ou limite de um resgate.

Não posicione uma caixa de oferta ao lado de outra promoção, um preço padrão conflitante, um aviso sobre segurança ou adequação, ou um formulário que peça uma ação diferente. Não a coloque entre um nome de produto e o preço que ele modifica. Mantenha-a fora de áreas de erro de checkout, onde a urgência pode competir com mensagens de pagamento ou validação. Uma viewport não deve conter duas contagens regressivas ou duas ações de resgate igualmente dominantes.

No celular, mantenha esta ordem: benefício, item, elegibilidade, prazo, código, exclusões essenciais, depois ação. Uma oferta fixa pode resumir uma caixa já visualizada, mas não pode ocultar conteúdo, reiniciar seu cronômetro ou tornar-se o único lugar onde os termos aparecem.

Anatomia

  1. Rótulo de status: informa agendado, ativo ou expirado a partir dos carimbos de data/hora; não usa urgência vaga.
  2. Benefício: declara a economia exata ou valor agregado com moeda, porcentagem, quantidade ou condição de envio.
  3. Item elegível: usa o nome oficial do produto, categoria, serviço ou plano.
  4. Elegibilidade: define quem e o que se qualifica, incluindo região, status do cliente, gasto mínimo e teto de resgate.
  5. Janela de validade: mostra o início quando relevante e o fim exato com data, hora e fuso horário IANA.
  6. Método de resgate: fornece um código de cupom visível, declaração de desconto automático ou instrução precisa.
  7. Exclusões essenciais: mantém os limites que alteram a decisão dentro da caixa; uma página de termos mais longa pode fornecer detalhes legais, mas não pode revertê-los.
  8. Ação: nomeia o próximo passo da transação e leva a uma página que honra a oferta.
  9. Verificação: identifica quando a oferta foi verificada e qual fonte de campanha aprovada a possui.
  10. Estado expirado: substitui ou remove a ação ativa no prazo e impede dados estruturados desatualizados.

Exemplos de design

Todas as variantes usam o mesmo contrato. A diferença visual reflete como o benefício é calculado, não uma licença para omitir termos.

Desconto em valor ou porcentagem: use para “20% off” ou “Economize USD 40.” Informe a base de cálculo. Se um preço anterior aparecer, ele deve ser o preço de comparação genuíno aprovado para aquele mercado, não uma âncora inflada.

Frete grátis: nomeie a cesta mínima, destino, serviço de entrega e taxas excluídas. “Entrega grátis acima de USD 75 nos EUA contíguos por serviço terrestre padrão” é extraível; “Frete por nossa conta” não é.

Pacote ou brinde: identifique a compra qualificada e o item ou serviço exato incluído. Diga se o bônus é adicionado automaticamente e o que acontece se ele estiver indisponível.

Oferta condicional por público: use para um grupo verificado como estudantes, organizações sem fins lucrativos ou clientes de primeira viagem. Explique como o status é verificado e evite uma expiração a menos que o programa realmente tenha uma.

Estados agendado e expirado: conteúdo agendado mostra quando a oferta começa sem uma ação de solicitação ativa. Conteúdo expirado informa que a oferta terminou e pode linkar para preços padrão; não deve manter um botão de cupom funcional ou implicar que os termos antigos ainda estão disponíveis.

Parâmetros

“Fonte” abaixo indica onde o renderizador obtém um campo. Não substitui o registro de campanha aprovado usado para verificar a alegação.

NomeTipoObrigatórioMín/máxPadrãoFonte
titleString simplesSim4–12 palavrasNenhumPrimeiro título no corpo
variantEnum: discount, shipping, bundle, audienceSimUm valordiscountAtributo
benefitString simplesSim2–12 palavras; 80 caracteresNenhumAtributo
itemString simplesSim1–10 palavrasNenhumAtributo
eligibilityTexto simplesCondicional5–35 palavrasNenhumCorpo
startsAtData ISO 8601NãoUm carimbo com offsetImediatoAtributo
expiresAtData ISO 8601Obrigatório para ofertas com prazoUm carimbo com offsetNenhumAtributo
timezoneNome de fuso IANAObrigatório com horários exibidosUm valorNenhumAtributo
codeString simplesCondicional3–24 caracteresNenhumAtributo
redemptionEnum: automatic, code, claimSimUm valorautomaticAtributo
termsTexto simplesSim1–5 itens; 80 palavras no totalNenhumCorpo
ctaTextString simplesSim enquanto ativo2–6 palavras; 40 caracteresNenhumAtributo
ctaUrlURL absoluta ou relativa à raizSim enquanto ativoUm destino válidoNenhumAtributo
verifiedData ISO 8601SimUma data exataNenhumAtributo
campaignSourceIdentificador de texto simplesSim3–80 caracteresNenhumCorpo
expiredBehaviorEnum: replace, hideNãoUm valorreplaceAtributo
expiredTextString simplesObrigatório quando comportamento é replace3–20 palavras“Esta oferta terminou.”Corpo

Pelo menos um limite é obrigatório: expiresAt ou eligibility. Uma oferta com prazo determinado sem expiresAt é inválida. O offset em expiresAt orienta as mudanças de estado; timezone fornece o fuso horário legível por humanos. Não confie em um valor apenas com data porque leitores em fusos diferentes podem ver prazos efetivos diferentes.

Sintaxe e exemplos de código

A diretiva portátil é o contrato criado. Hugo e WordPress mapeiam os mesmos campos; eles não criam novos significados comerciais.

Diretiva Markdown portátil

:::offer-box{variant=discount benefit="Save USD 40" item="Annual Growth plan" startsAt="2026-08-27T00:00:00+02:00" expiresAt="2026-08-31T23:59:00+02:00" timezone="Europe/Bratislava" code=GROW40 redemption=code ctaText="Choose an annual plan" ctaUrl="https://example.com/checkout/growth" verified=2026-08-27 expiredBehavior=replace}
## Save USD 40 on an annual Growth plan

Eligibility: New customers; one redemption per account.

Terms: Not valid with another discount. Code must be entered at checkout.

Campaign source: Growth annual launch, revision 2026-08-27.

Expired text: This offer ended on 31 August 2026.
:::

O primeiro título mapeia para title. Linhas do corpo rotuladas mapeiam para elegibilidade, termos, fonte da campanha e texto expirado. O renderizador visível deve localizar a data enquanto retém o carimbo de data/hora exato da máquina.

Shortcode Hugo

Nenhum shortcode offer-box existe ainda neste repositório. O adaptador pretendido usa apenas parâmetros nomeados e deve ser implementado como um componente revisado antes que o conteúdo de produção o chame:

{{< offer-box
  variant="discount"
  benefit="Save USD 40"
  item="Annual Growth plan"
  expiresAt="2026-08-31T23:59:00+02:00"
  timezone="Europe/Bratislava"
  code="GROW40"
  redemption="code"
  ctaText="Choose an annual plan"
  ctaUrl="https://example.com/checkout/growth"
  verified="2026-08-27"
  expiredBehavior="replace"
>}}

O exemplo foi escapado para que Hugo não invoque um shortcode inexistente. Quando o adaptador for construído, ele deve calcular o status no servidor e suportar expiração no lado do cliente sem depender de JavaScript para os termos essenciais. A invalidação de cache ou publicação agendada deve garantir que a página renderizada pelo servidor também mude após o prazo.

WordPress

<!-- wp:amicited/offer-box {"variant":"discount","benefit":"Save USD 40","item":"Annual Growth plan","expiresAt":"2026-08-31T23:59:00+02:00","timezone":"Europe/Bratislava","code":"GROW40","redemption":"code","ctaText":"Choose an annual plan","ctaUrl":"https://example.com/checkout/growth","verified":"2026-08-27","expiredBehavior":"replace"} -->
<div class="wp-block-amicited-offer-box">
  <h2>Save USD 40 on an annual Growth plan</h2>
  <p>New customers; one redemption per account. Not valid with another discount.</p>
  <p>Use code <strong>GROW40</strong>. Ends 31 August 2026 at 23:59 Europe/Bratislava.</p>
</div>
<!-- /wp:amicited/offer-box -->

O bloco WordPress armazena atributos tipificados e texto visível juntos. Seu editor deve sinalizar a falta de expiração para linguagem com prazo determinado e pré-visualizar estados ativo, agendado e expirado.

Exemplos

Bom

Entrega padrão grátis em pedidos de USD 75 ou mais
Disponível para endereços de entrega nos Estados Unidos contíguos. Sobretaxas de itens de grandes dimensões ainda se aplicam. O desconto é aplicado automaticamente no checkout. Verificado em 27 de agosto de 2026.

Isso é bom porque nomeia o benefício, limite de cesta, geografia elegível, nível de serviço, exceção, comportamento de resgate e data de verificação. É uma regra condicional permanente, então não inventa uma expiração ou frase de urgência.

Ruim

Corra—frete grátis por tempo limitado!
Algumas restrições se aplicam. Compre agora antes que acabe.

Isso é ruim porque “tempo limitado” não tem prazo, “frete grátis” não tem região, limite, método ou exclusões, e a ação fornece pressão em vez de detalhes da transação. Um rastreador não pode determinar quem se qualifica, e um leitor não pode saber o custo final até o checkout.

Marcação Schema e acessibilidade

Uma caixa de oferta não cria schema por si só. Quando a página oferece genuinamente um produto ou serviço identificado, seus fatos verificados podem alimentar um Offer do Schema.org aninhado sob esse produto ou serviço: price, priceCurrency, availability, url, seller e priceValidUntil quando um preço exibido realmente termina naquela data. itemOffered pode conectar uma oferta independente ao seu assunto. Use AggregateOffer apenas para um conjunto real de ofertas, não para uma promoção com várias condições.

Os dados estruturados devem corresponder ao conteúdo visível e ao sistema de comércio. Não codifique o preço sem desconto como o preço ativo, converta um cupom percentual em um preço numérico inventado ou mantenha priceValidUntil após a promoção visível expirar. A propriedade discountCode do Schema.org pertence a Order, então não anexe um código de cupom a Offer meramente porque o nome soa adequado. Mantenha o código no conteúdo visível e nos dados da transação da plataforma a menos que um vocabulário e consumidor suportados exijam outro mapeamento.

Para acessibilidade, use um <aside> ou região rotulada quando a oferta for suplementar; use uma seção normal quando for o conteúdo principal da página. Mantenha o título na hierarquia do documento. Não transmita estado ativo, agendado ou expirado apenas por cor. Anuncie um resultado de cópia de código através de uma região ativa educada, mantenha o código selecionável como texto e dê ao controle de cópia um rótulo como “Copiar código GROW40.”

Uma contagem regressiva não deve atualizar a cada segundo em uma região ativa; isso interromperia repetidamente os usuários de leitores de tela. Mostre um prazo exato estático como fonte da verdade. Se uma contagem regressiva aproximada for útil, oculte alterações repetitivas do cronômetro da tecnologia assistiva e anuncie apenas transições significativas como “A oferta terminou.” O foco do teclado não deve pular ou desaparecer quando o CTA ativo for substituído na expiração.

Regras de escrita

Explique o limite porque ele decide se o benefício é real para este leitor; só então adicione urgência. Aplique estes limites de produção:

  • Mantenha o título entre 4 e 12 palavras e a linha de benefício em 80 caracteres. Coloque o valor, percentual, brinde ou benefício de envio antes do jogo de palavras da campanha.
  • Use uma oferta por caixa, uma ação principal e não mais que cinco itens de termos essenciais. Separe promoções não relacionadas em vez de juntá-las com “e.”
  • Informe descontos percentuais como um número seguido de %; informe benefícios monetários com um código de moeda ISO quando os leitores puderem ver mais de um mercado.
  • Nomeie o produto, plano, valor do pedido, região e público qualificantes em linguagem literal. “Itens selecionados” é aceitável apenas quando a caixa linkar para uma coleção elegível completa.
  • Escreva um prazo exato como dia, mês, ano, hora e fuso horário IANA. Evite “meia-noite,” que pode significar ambiguamente o início ou fim de uma data.
  • Diga se o resgate é automático, baseado em código ou requer uma solicitação. Nunca faça o leitor descobrir o mecanismo depois de clicar.
  • Mantenha as exclusões que alteram o preço ou a elegibilidade dentro da caixa. Não enterre gasto mínimo, renovação, impostos, taxas, limites geográficos ou variantes excluídas em uma página de termos distante.
  • Use linguagem factual e calma. Nunca use um cronômetro que reinicia, inventário falso, uma alegação não fundamentada de “vendendo rápido” ou um rótulo permanente de “tempo limitado.”
  • Não coloque depoimentos, avaliações, benefícios não relacionados do produto, listas de navegação, texto de política jurídica ou uma segunda promoção dentro da caixa.
  • Verifique a fonte, página de destino, cupom, início, expiração e estado expirado antes da publicação. Um código de aparência válida que falha no checkout ainda é uma oferta quebrada.

Tipos de post que o utilizam

O array postTypes do frontmatter é a fonte da verdade para esta matriz. Modelos e ferramentas de controle de qualidade devem comparar a tabela com esse array em vez de manter uma lista oculta separada.

Tipo de postUso típicoAdaptação necessária
Página de produtoDesconto, brinde ou regra de envio para um itemVincular a oferta à variante selecionada e manter o preço normal visível.
Página de categoriaPromoção em uma coleção elegívelDefinir produtos incluídos e excluídos; não implicar que todo item filtrado se qualifica.
Página de preçosEconomia temporária em plano ou crédito condicional de contaNomear planos elegíveis, prazo de faturamento, comportamento de renovação e se a economia se repete.
Página de serviçoPacote com prazo ou crédito de consultoria para público específicoDefinir escopo, prazo de reserva, janela de execução e qualquer condição de capacidade.
Guia de compraPromoção verificada de varejista vinculada a uma opção avaliadaDatacarimbar a verificação, divulgar vínculos comerciais e não deixar a promoção determinar o veredito.
Página de Melhor X para YPromoção atual para uma opção pré-selecionadaManter a metodologia de classificação independente e aplicar o mesmo padrão de verificação de promoção a cada opção.
Página de avaliaçãoProduto testado com um código verificável para leitoresSeparar o julgamento do produto do incentivo e divulgar relacionamentos de afiliado ou patrocinador.
Página de caso de usoIncentivo condicional para uma situação de cliente definidaVincular o benefício ao fluxo de trabalho ou público qualificante sem inventar escassez.

Checklist de QA

  • A caixa representa uma promoção genuína com uma fonte de campanha aprovada.
  • O benefício inclui sua unidade, base de cálculo e item elegível.
  • Linguagem com prazo determinado tem um carimbo expiresAt exato, data, hora e fuso exibidos.
  • Uma oferta sem expiração é condicional e não contém linguagem falsa de escassez.
  • Público, região, gasto mínimo, restrições de produto, tetos de resgate e exclusões materiais estão visíveis quando aplicáveis.
  • O código é texto selecionável, o método de resgate está declarado e o destino honra a oferta.
  • Estados agendado, ativo e expirado foram testados em ambos os lados de seus limites exatos.
  • A expiração remove a ação de solicitação ativa e atualiza a saída em cache e os dados estruturados.
  • A página renderizada pelo servidor permanece verdadeira quando JavaScript está indisponível.
  • A ordem dos títulos, caminho do teclado, comportamento do foco, rótulos de estado e feedback de cópia de código são acessíveis.
  • Dados estruturados descrevem uma oferta real e visível de produto ou serviço e correspondem a preço, moeda, URL, disponibilidade e validade.
  • Nenhuma contagem regressiva reinicia, nenhuma escassez não fundamentada aparece e a campanha não se tornou uma oferta permanente de “tempo limitado.”
  • A data de verificação e o proprietário operacional estão registrados para atualização e tratamento de incidentes.
  • O layout móvel mantém o benefício, condições, prazo, código e ação em ordem lógica de leitura.

FAQ

As perguntas frequentes abaixo cobrem requisitos de prazo, comportamento de expiração, redação de urgência, apresentação de cupom e os limites dos dados estruturados Offer.

← All SEO Playbook guides

Pronto para colocar em prática?

Verificação gratuita · Teste de 7 dias · sem cartão de crédito