Promoção por UTM aplica no catálogo e interna de produto mas não no carrinho

Olá, tudo bem?

Criei uma promoção regular, com desconto de 10% para um produto (Café Orfeu Intenso Cápsulas - 20 unidades) , o desconto é exibido na listagem e na interna do produto, porém quando adiciono e vou para a página de carrinho o desconto não é aplicado.

Como configurei a promo:

  • Desconto percentual 10%
  • Seleção do produto
  • Cadastro da UTM (não cadastrei cupom)
  • Quantidade de vezes da promo e por cliente ilimitadas.

Segue a URL da UTM criada: https://loja.cafeorfeu.com.br/?utm_campaign=10off-intenso-capsuas20-teste

Estou fazendo algo errado, deixando algum ponto de lado? Alguém poderia me ajudar, por favor?

IMPORTANTE: não desejo trabalhar com o cupom. Não gostaria que o consumidor tivesse que adicionar no carrinho.

Fico no aguardo e desde já agradeço.

abs

Oi, Rodrigo! Tudo bem?

Pelo que vi, a página de produto de vocês utiliza a biblioteca "vtex.js" para adicionar produtos ao carrinho com o método "addToCart()". Com frequência vemos uso incorreto, aonde não há atenção à seguinte observação documentada:

https://github.com/vtex/vtex.js/tree/master/docs/checkout#addtocartitems-expectedorderformsections-saleschannel

  • Atenção: este método não aplica automaticamente as promoções por UTM! Para adicionar promoções por UTM, faça um "sendAttachment" de "marketingData" com os dados necessários.

Bastará a correção no front-end para que as UTMs sejam enviadas corretamente ao carrinho, aonde a promoção será aplicada.

Abraços!

Tks @Augusto Garrucho​

@Augusto Garrucho​ Em: https://github.com/vtex/vtex.js/blob/master/docs/checkout/order-form.md

Não tem exemplo dos dados a serem incluidos no "marketingData", ta como "pending" na documentação. Onde mais posso ver?

Sei que o post é antigo, mas caso alguém precise pegar os dados da UTM e passar para um botão de compre (buy button) customizado:

function get(name) { if (name = (new RegExp('[?&]' + encodeURIComponent(name) + '=([^&]*)')).exec(location.search)) return decodeURIComponent(name[1]); } vtexjs.checkout.getOrderForm().then(function(orderForm) { var utms = { utmSource: get('utm_source'), utmMedium: get('utm_medium'), utmCampaign: get('utm_campaign'), coupon: null, utmiPart: null, utmipage: null, utmiCampaign: null, }; return vtexjs.checkout.sendAttachment("marketingData", utms); }).done(function(orderForm) { console.log(orderForm); });