Vales-presente (também conhecidos como cupons)

Este guia descreve os requisitos, as recomendações de modelagem de dados e as práticas recomendadas para implementar vales-presente (também conhecidos como vouchers) no feed de ofertas. Essas recomendações complementam a documentação padrão da Central de ações e abordam aspectos de integração específicos de vales-presente.

Modo e categorização da oferta

Ao enviar o inventário de vales-presente, verifique se os seguintes atributos principais estão configurados corretamente:

  • Modo da oferta: offer_modes precisa sempre ser definido como uma matriz singleton que contém "OFFER_MODE_GIFT_CARD_PURCHASE":

    "offer_modes": ["OFFER_MODE_GIFT_CARD_PURCHASE"]
    
  • Vouchers de valor armazenado x descontos instantâneos sem reserva:

    • gift_card_info é estritamente reservado para vouchers e vales-presente de valor armazenado pré-comprados (OFFER_MODE_GIFT_CARD_PURCHASE).
    • Se um cliente pagar diretamente no caixa da loja física por um desconto imediato sem comprar um código de voucher para resgatar ou usar mais tarde, modele a oferta como um desconto padrão sem reserva (OFFER_MODE_WALK_IN) e omita a mensagem gift_card_info.
  • Modelagem de valor nominal: o valor nominal do vale-presente precisa representar o que o voucher vale (o que ele pode ser resgatado), não o que o usuário paga (o usuário paga o preço com desconto).

  • Consolidação de vários valores nominais: vários vouchers que compartilham a mesma porcentagem de desconto e termos, mas que diferem no valor nominal, precisam ser agrupados em uma única entrada de oferta. Como denomination_type funciona como um oneof, os parceiros precisam escolher entre definir fixed_denominations ou um custom_range:

    • Valores nominais fixos: use quando valores de vale-presente discretos e predefinidos forem oferecidos (por exemplo, ₹ 500, ₹ 1.000 e ₹ 2.000, todos com um desconto fixo de 10%). Verifique se todos os valores nominais fixos que estão esgotados ou indisponíveis na página de destino estão explicitamente excluídos dos envios de feed.
    • Intervalo personalizado: use estritamente quando os usuários puderem inserir livremente qualquer valor nominal arbitrário dentro dos limites definidos na página de compra (por exemplo, qualquer valor entre ₹ 100 e ₹ 5.000 com um desconto de 5%). Se a página de destino oferecer valores discretos e predefinidos, modele o inventário estritamente em fixed_denominations. Além disso, se valores nominais fixos e personalizados estiverem disponíveis para uma oferta, os parceiros precisarão definir o intervalo personalizado flexível.

Como processar redes de várias lojas

Para vales-presente que se aplicam a grandes redes de varejo ou restaurantes em que os termos são idênticos em vários pontos de interesse (POIs), não forneça um objeto de oferta separado para cada loja. Em vez disso, use uma abordagem de feed agregado fornecendo um único objeto de oferta que contenha uma lista de todos os IDs de entidades de loja participantes (entity_ids).

Branding do portal (brand_id)

Alguns vouchers são oferecidos por bancos específicos ou portais de fidelidade (por exemplo, programas de fidelidade bancários ou plataformas de parceiros) em vez do site principal do comerciante. Para garantir a marcação precisa desses portais, os parceiros precisam preencher o campo brand_id nos objetos de oferta de nível superior.

Embora a omissão de brand_id seja definida como a marca principal da conta (e brand_id não seja obrigatório ao usar a marca padrão da conta), o preenchimento explícito de brand_id associa com precisão o inventário ao portal de marca correspondente, garantindo que os logotipos e nomes específicos do parceiro corretos sejam mostrados aos usuários. Outras instruções sobre como configurar marcas podem ser encontradas em Configuração de marcas.

Estrutura de validade (ValidityScope)

Os vales-presente têm uma estrutura de validade exclusiva que distingue o período para comprar a oferta da duração para resgatar o cartão. Os parceiros precisam sempre usar os valores de enumeração ValidityScope relevantes:

  • VALIDITY_SCOPE_CLAIM: define o período em que a oferta de vale-presente está disponível para compra na plataforma do parceiro. Essa entrada precisa sempre estar presente. Ao enviar feeds, preencha o período de validade da reivindicação a partir da data exata de envio do feed. Além disso, nunca deixe os períodos de reivindicação em aberto se a página de destino anunciar explicitamente uma data de término da campanha. Faça a correspondência de valid_through_time com a data de validade anunciada.
  • VALIDITY_SCOPE_REDEEM: define a duração do resgate pós-compra (o período que os usuários têm para resgatar o voucher na loja depois de comprá-lo, que pode ser especificado como uma duração ou um período).

Mapeamento de tipo de ação

Os parceiros geralmente categorizam os vouchers usando construções como "resgatável on-line/off-line", "on-line/loja" ou "na loja". Nos envios de feed, isso precisa ser mapeado para a enumeração ActionType para definir com precisão como o produto é consumido:

  • Vertical de restaurantes / alimentos: mapeie vales-presente "para consumo no local" para ACTION_TYPE_DINING. Mapeie vales-presente "de entrega" para ACTION_TYPE_FOOD_DELIVERY. Mapeie vales-presente "para viagem" para ACTION_TYPE_FOOD_TAKEOUT.
  • Vertical de varejo de compras: mapeie vales-presente "na loja" para ACTION_TYPE_SHOPPING_IN_STORE. Observação: vouchers de varejo somente on-line não são aceitos.
  • Mapeamento de canal único: cada offer_id pode pertencer estritamente a um ActionType. Se um item de inventário oferecer suporte a vários canais de atendimento (por exemplo, entrega de comida e para viagem), crie objetos de oferta distintos com IDs exclusivos para cada modo.

Descontos em níveis e ofertas de complementos

  • Descontos em níveis em formas de pagamento: se diferentes porcentagens de desconto forem oferecidas com base no instrumento de pagamento específico usado (por exemplo, um desconto maior para uma carteira digital em comparação com cartões de crédito), elas precisarão ser modeladas como objetos de oferta separados. Os parceiros precisam fornecer cobertura promocional exaustiva em todos os instrumentos de pagamento aceitos (por exemplo, carteiras eletrônicas, cartões de crédito, cartões de débito, bancos on-line) para garantir uma experiência de economia confiável. Se uma oferta for aplicada universalmente a todas as formas de pagamento aceitas na plataforma, o campo do instrumento de pagamento não precisará ser definido.
  • Construção de ofertas de complementos: para representar benefícios acumulados, como pontos de recompensa específicos do banco ou cashback extra aplicável a uma compra de vale-presente, envie-os como ofertas de complementos totalmente separadas usando a enumeração OfferCategory apropriada: OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER. Descreva a recompensa em OfferDetails.other_offer_details_text (por exemplo, "Até 5 vezes mais pontos de recompensa") e vincule-a à oferta de vale-presente básica preenchendo OfferRestrictions.combinable_offer_ids com o do vale-presente básico offer_id.

Termos e condições especiais

Os parceiros precisam usar terms.terms_and_conditions para fornecer os Termos e Condições legais completos do vale-presente ou voucher. Consolide todas as instruções e diretrizes de uso voltadas para o usuário nesse campo.

Se restrições críticas exigirem destaque dedicado da interface (como validade do saldo de uso único, não reembolsável ou limites de combinação de transações, como "É possível combinar no máximo dois vouchers por conta"), destaque-as em offer_restrictions.special_conditions.

Recomendações de título da oferta

O título da oferta precisa ter menos de 40 caracteres. Remova os nomes de marcas de comerciantes de offer_display_text, já que as ofertas são exibidas diretamente na página de informações dedicada do comerciante. Recomendamos os seguintes formatos de título:

Caso de uso Título recomendado
Desconto fixo em vouchers X% off on Gift Cards
Desconto variável com base na forma de pagamento X% off on Gift Cards using {e-wallet}
Descontos variáveis em diferentes valores nominais X% off on Gift Cards (Envie descontos diferentes como ofertas separadas)
Vales-presente B2B2C X% off on Gift Cards (A marca é mostrada na miniatura usando brand_id)
Ofertas de complementos Flat/Up to 5X reward points/ <Platform> coins

Requisito da página de destino

Cada offer_url anunciada precisa retornar HTTP 200 OK diretamente, sem redirecionamentos intermediários, e ser resolvida para uma página de destino ativa que comprove a oferta.

O feed não pode incluir valores nominais esgotados ou indisponíveis. Mantenha a sincronização estrita do inventário entre os campos de valor nominal do feed e as opções de compra ativas na página de destino.

A página de destino precisa mencionar claramente que a oferta se aplica especificamente a vales-presente ou vouchers.

Por exemplo, se uma página de destino do parceiro mostrar apenas chamadas genéricas para ação de pagamento, como "Pagar conta", sem declarar explicitamente que a conclusão da transação emite um voucher de vale-presente de valor armazenado, os usuários redirecionados do Google que esperam comprar um vale-presente podem ficar confusos ou desistir. Mesmo que um aviso de voucher apareça em uma etapa de finalização da compra subsequente, é necessário ter clareza na página de destino inicial.

Ofertas com códigos de cupom

Algumas ofertas exigem a inserção de um código de cupom pelo usuário, como "Aplique o código SAVE20 para receber 20% de desconto no valor total da conta". É importante observar que o Google não mostra códigos de cupom da definição de cupom. Os parceiros podem incluir essas informações em OfferDetails.offer_display_text para serem mostradas aos usuários. As ofertas baseadas em cupons geralmente se enquadram em duas categorias:

  • Ofertas em que o cupom é apresentado automaticamente na finalização da compra para qualquer usuário que chegue do Google. Essas são permitidas.
  • Ofertas que exigem que o usuário insira o código do cupom na finalização da compra, mas não fornecem instruções sobre como aplicar o código do cupom na página de destino do URL da oferta ou não aplicam o cupom automaticamente ao seguir o URL da oferta, não são permitidas.

Exemplo de JSON de oferta de vale-presente

{
  "data": [
    {
      "offer_id": "example-dining-gift-card-10off",
      "entity_ids": [
        "dining-1",
        "dining-2"
      ],
      "offer_modes": [
        "OFFER_MODE_GIFT_CARD_PURCHASE"
      ],
      "action_type": "ACTION_TYPE_DINING",
      "offer_source": "OFFER_SOURCE_AGGREGATOR",
      "offer_category": "OFFER_CATEGORY_BASE_OFFER",
      "offer_details": {
        "offer_display_text": "10% off on Gift Cards",
        "discount_percent": 10.0,
        "gift_card_info": {
          "fixed_denominations": {
            "amounts": [
              {
                "units": 500,
                "currency_code": "INR"
              },
              {
                "units": 1000,
                "currency_code": "INR"
              },
              {
                "units": 2000,
                "currency_code": "INR"
              }
            ]
          }
        }
      },
      "offer_restrictions": {
        "combinable_with_other_offers": false,
        "special_conditions": [
          "Single-use balance expiration applies",
          "Maximum 2 gift card vouchers can be combined per bill",
          "No cash refund will be provided against this voucher"
        ]
      },
      "terms": {
        "restricted_to_certain_users": false,
        "terms_and_conditions": "1. Redeemable exclusively at participating dining outlets.\n2. Single-use balance expiration applies.\n3. Maximum 2 gift card vouchers can be combined per bill.\n4. No cash refund will be provided against this voucher."
      },
      "validity_periods": [
        {
          "valid_period": {
            "valid_from_time": {
              "seconds": "1774934350"
            },
            "valid_through_time": {
              "seconds": "1806470350"
            }
          },
          "validity_scope": "VALIDITY_SCOPE_CLAIM"
        },
        {
          "validity_duration_in_days": 365,
          "validity_scope": "VALIDITY_SCOPE_REDEEM"
        }
      ],
      "offer_url": "https://www.example-portal.com/dining-gift-cards/buy"
    }
  ]
}