Como aplicar cupons WooCommerce automaticamente

Publicados: 2021-06-22

Você está procurando maneiras de adicionar descontos aos seus produtos para aumentar suas vendas? Você veio ao lugar certo. Neste guia, mostraremos como aplicar cupons WooCommerce automaticamente .

Vimos anteriormente como criar cupons no WooCommerce e alguns exemplos de como aplicá-los usando código. Desta vez, vamos nos concentrar em como aplicar automaticamente esses descontos para surpreender seus compradores e aumentar suas vendas.

Por que aplicar cupons WooCommerce programaticamente?

Oferecer cupons aos usuários é uma ótima maneira de aumentar suas vendas. Ao oferecer um desconto aos compradores quando eles estiverem pensando em comprar um de seus produtos, você os incentivará a concluir a compra.

Converter visitantes em clientes oferecendo um desconto atraente é uma estratégia de marketing comprovada que a maioria dos sites de comércio eletrônico aproveita. No entanto, vale ressaltar que o sucesso dessa oferta dependerá muito de quando você conceder o desconto.

Se você oferecer um desconto para alguém que está apenas navegando, é improvável que a oferta tenha algum efeito. Da mesma forma, se você reduzir o preço para alguém que já decidiu onde e o que comprar, pode ser tarde demais para mudar de ideia ou reduzir sua receita quando poderia ter cobrado o preço total. O melhor momento para fornecer códigos de cupom é quando os compradores estão pensando em comprar, mas ainda não tomaram sua decisão final.

Os descontos também são uma ótima maneira de construir um forte relacionamento com seus clientes recorrentes. Ao recompensar seus clientes com descontos exclusivos, você está dando a eles mais motivos para voltar à sua loja e se tornarem usuários fiéis.

Limitações dos cupons padrão do WooCommerce

A funcionalidade de cupom padrão que o WooCommerce oferece funciona bem, mas tem algumas limitações. A maior delas é que os usuários devem inserir cupons manualmente e atualizar a página para aplicar o desconto em seus pedidos. Como você pode imaginar, esse atrito extra não é o ideal e pode fazer você perder clientes.

Além disso, não é possível aplicar qualquer tipo de condição lógica além das padrão que estão relacionadas à data de vencimento e à forma de aplicação do desconto. É por isso que, para aproveitar ao máximo os cupons, você pode personalizar seu comportamento e aprender a aplicá-los de forma programática.

Neste guia, você aprenderá como aplicar cupons WooCommerce automaticamente . Dessa forma, os usuários não precisarão memorizar os cupons, copiá-los/colar ou atualizar a página do carrinho. Isso melhorará a experiência do cliente e ajudará você a aumentar suas vendas a curto e longo prazo.

Como aplicar cupons WooCommerce automaticamente

Como vamos editar o arquivo functions.php , antes de iniciar o processo, recomendamos que você faça um backup completo do seu site e instale um tema filho. Você pode criar um tema filho ou usar um plugin. Além disso, recomendamos que você dê uma olhada neste guia se não estiver familiarizado com os ganchos do WooCommerce.

Depois de fazer isso, vamos começar criando o cupom.

1) Crie um cupom WooCommerce

Primeiro, no painel do WordPress, vá para WooCommerce > Cupons/Marketing > Cupons e clique em Adicionar cupom .

Criar cupom de desconto woocommerce

Em seguida, digite o nome do cupom. Como é isso que usaremos para dar descontos, recomendamos um nome descritivo e simples.

Além disso, você deve especificar outras informações importantes:

  • Valor do desconto (fixo ou percentual)
  • Tipo de cupom
  • Data de validade

Você também pode adicionar algumas outras opções, como restrições de uso, limites por usuário e assim por diante. Para obter mais informações sobre isso, consulte nosso guia sobre como configurar cupons WooCommerce.

Criar configurações de cupom woocommerce

Depois de criar o cupom, vamos ver diferentes maneiras de aplicá-lo automaticamente.

2) Como adicionar cupons WooCommerce automaticamente

Antes de mergulhar no código, observe que estamos usando o mesmo código de cupom “ all-products ” em todos os scripts de amostra a seguir. Este código aplicará um desconto de 3% sobre o subtotal.

Usar este cupom em todos os casos pode não fazer sentido para sua empresa, portanto, certifique-se de ajustar todos os scripts e editar a variável $coupon_code com seu código de cupom.

Agora vamos ver alguns exemplos de como aplicar cupons automaticamente no WooCommerce.

2.1) Aplique um cupom para clientes recorrentes

Isso se aplicará ao cupom de desconto somente se o cliente tiver concluído um pedido anteriormente.

 //Retornando clientes
add_action( 'woocommerce_before_cart', 'QuadLayers_returning_customers_coupon');
 
function QuadLayers_returning_customers_coupon(){
   $coupon_code = 'todos os produtos';
   # Receba pedidos de clientes
   $user_id = wp_get_current_user();
   $customer_orders = [];
   foreach ( wc_get_is_paid_statuses() as $paid_status ) {
       $customer_orders += wc_get_orders( [
           'modelo
' => 'compra_pedido',
           'limite' => - 1,
           'customer_id' => $user_id->ID,
           'status' => $paid_status,
       ]);
       # aplicar cupom se houver um pedido existente
       if(count($customer_orders)>0){ 
           printf('<div class="woocommerce-message">Este pedido se aplica a um desconto porque você é um cliente recorrente!</div>');
           if ( WC()->cart->has_discount( $coupon_code ) ) return;
           WC()->cart->apply_coupon( $coupon_code);
           wc_print_notices();
           pausa;
       }   
   }
}

Este é o resultado na página do carrinho:

Aplique cupons WooCommerce automaticamente - Cupom para clientes recorrentes

Como você pode imaginar, isso exige que os usuários estejam logados em suas contas, porque precisamos obter seu ID de usuário para verificar se eles têm pedidos existentes.

Se essa condição for atendida, o desconto será aplicado e uma mensagem será exibida no carrinho.

Para alterar a mensagem, basta editar a linha printif no script.

2.2) Aplique o cupom WooCommerce nas informações do usuário da conta

Você também pode aplicar um cupom específico dependendo dos detalhes da conta do usuário. No script de exemplo a seguir, aplicaremos o cupom apenas aos clientes que inseriram os Estados Unidos (EUA) como país em suas contas. Essa pode ser uma opção interessante para promoções direcionadas para aumentar as vendas em determinados mercados ou países.

 // Aplicar cupom no país de cobrança (EUA)
add_action( 'woocommerce_before_cart', 'QuadLayers_customer_information_coupon');
 
function QuadLayers_customer_information_coupon(){
   $coupon_code = 'todos os produtos';
   $usuário = wp_get_current_user();
   $data = get_user_meta( $user->ID, 'billing_country', true);
   if($dados=="EUA"):
   printf('<div class="woocommerce-message"> Este pedido se aplica a um desconto para clientes dos EUA! </div>');
           if ( WC()->cart->has_discount( $coupon_code ) ) return;
           WC()->cart->apply_coupon( $coupon_code);
           wc_print_notices();
   senão:
       WC()->cart->remove_coupons( sanitizar_text_field( $coupon_code ));
       wc_print_notices();  
       WC()->cart->calculate_totals();    
   fim se;
}

Além de adicionar o cupom quando o país de cobrança do usuário estiver definido para os Estados Unidos, também removeremos o cupom se o país não for os EUA. Se não fizermos isso, um usuário poderá editar seu endereço de cobrança para obter o cupom, e o cupom permanecerá lá depois de voltar ao país original.

2.3) Aplicar cupom em um cronograma

As opções padrão do WooCommerce nos permitem criar cupons que se aplicam a datas específicas ou em uma programação de datas. Mas e se você precisar aplicar um cupom em uma programação diária? Basta usar o script a seguir para aplicar o cupom especificado apenas das 6h às 10h, por exemplo.

Esta é uma opção interessante para lançar vendas em flash e aplicar cupons automaticamente no WooCommerce.

 // Aplicar cupom diariamente (06:00/10:00)
add_action( 'woocommerce_before_cart', 'QuadLayers_timer_scheduled_coupon' );
 
function QuadLayers_timer_scheduled_coupon(){
$blogtime = current_time( 'mysql' );
list( $hoje_ano, $hoje_mês, $hoje_dia, $hora, $minuto, $segundo) = preg_split( "([^0-9])", $blogtime);
   $coupon_code = 'todos os produtos';
   if($hora>=06&&$hora<10){
       printf('<div class="woocommerce-message">Você está recebendo nosso desconto de bom dia (das 6h às 10h) </div>');
           if ( WC()->cart->has_discount( $coupon_code ) ) return;
           WC()->cart->apply_coupon( $coupon_code);
           wc_print_notices();
   }
}

Observe que estamos recuperando o horário exclusivo do site em nossa condicional e que vem do servidor, portanto, será a mesma hora, independentemente do fuso horário em que o cliente esteja localizado. Para definir horários específicos por fuso horário, você precisa incluir lógica extra.

2.4) Aplicar cupom na taxonomia da etiqueta do produto

Esta é uma função mais complexa, onde recuperamos todas as tags de produtos adicionados ao carrinho e verificamos se uma tag específica está presente.

No exemplo a seguir, a tag que usamos é “ freeweek ”, então antes de fazer isso, você precisa criar uma tag e anexá-la a alguns produtos. Como alternativa, você pode usar qualquer uma das tags que já estão anexadas aos seus produtos.

 // Aplicar cupom à taxonomia da tag do produto (freeweek)
//
add_action( 'woocommerce_before_cart', 'QuadLayers_tag_coupon');
 
function QuadLayers_tag_coupon() {
   $coupon_code = 'todos os produtos';
   $id_a=array();
   foreach ( WC()->cart->get_cart() as $key => $cart_item) {
       for ($i=0; $i < $cart_item['quantidade'] ; $i++) {  
           $productId = $cart_item['data']->get_id();
           array_push($id_a,$productId);         
       }
   }
  
   for($t=0;$t<conta($id_a);$t++){
       $terms = wp_get_post_terms( $id_a[$t], 'product_tag');
       foreach($termos como $termo){
               $term_name = $term->name; // Nome da etiqueta do produto
           if($term_name=='semana livre'):
                   printf('<div class="woocommerce-message">Um produto está marcado com desconto !</div>');
                   if ( WC()->cart->has_discount( $coupon_code ) ) return;
                   WC()->cart->apply_coupon( $coupon_code);
                   wc_print_notices();
               pausa;
           senão:
                   WC()->cart->remove_coupons( sanitizar_text_field( $coupon_code ));
                   wc_print_notices();  
                   WC()->cart->calculate_totals();
           fim se;
       }
   }
}

Este desconto será aplicado a todos os produtos adicionados ao carrinho que tenham a etiqueta especificada.

Mais uma vez, certifique-se de substituir o nome da tag “ freeweek ” no código pela tag do seu produto.

2.5) Aplicar cupom em um parâmetro de URL

Outra aplicação interessante de códigos de cupom é usar parâmetros de URL para criar um link personalizado. Em um navegador, um parâmetro de URL e seu valor aparecem assim:

https://my.website.com/cart?parameter=value

Dessa forma, você pode criar um link personalizado e entregá-lo aos seus clientes por e-mail ou telefone. O cupom será aplicado automaticamente ao pedido quando alguém seguir o link. Os usuários que recebem o link podem compartilhá-lo com outros usuários, portanto, você pode adicionar algumas outras condições para garantir que apenas os clientes desejados tenham acesso ao desconto.

 // Aplicar cupom no parâmetro de URL (?co=custom-link)
add_action( 'woocommerce_before_cart', 'QuadLayers_url_coupon');
 
function QuadLayers_url_coupon() {
       $coupon_code = 'todos os produtos';
   if(isset($_GET['co'])&&!empty($_GET['co']) ):
       $url_p=$_GET['co'];
       if($url_p=='link personalizado'):
           printf('<div class="woocommerce-message">Um produto solicita um desconto !%lt;/div>');
                   if ( WC()->cart->has_discount( $coupon_code ) ) return;
                   WC()->cart->apply_coupon( $coupon_code);
                   wc_print_notices();
       senão:
                   WC()->cart->remove_coupons( sanitizar_text_field( $coupon_code ));
                   wc_print_notices();  
                   WC()->cart->calculate_totals();
       fim se;
   fim se; 
}

Como você pode ver, o link personalizado que estamos usando acima é https://my.web?co=custom-link .

Bônus: aplique cupons a determinados produtos

Uma opção interessante é aplicar automaticamente os cupons WooCommerce a produtos específicos . Dessa forma, você pode tornar alguns produtos mais atraentes para atrair clientes inicialmente e, em seguida, tentar vendê-los com outros itens.

Para fazer isso, use o script a seguir e altere a matriz $products_id() com seus próprios IDs de produto.

 add_action( 'woocommerce_before_cart', 'QuadLayers_apply_matched_id_products');
function QuadLayers_apply_matched_id_products() {  
    
    // cupom criado anteriormente;
    $coupon_code = 'auto_coupon'; 
    // este é o seu array de IDs do produto  
    $product_ids = array( 664.624.619 ); 
    // Aplicar cupom. O padrão é falso
    $aplicar=falso;
 
    // adicionado ao loop de produtos do carrinho
    foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item) {                      
        if ( in_array( $cart_item['product_id'], $product_ids)):              
            // ID da correspondência do produto
            $aplicar=verdadeiro;
            pausa;                     
        fim se;  
    }
    //aplica e remove o cupom
    if($aplicar==true):
        WC()->cart->apply_coupon( $coupon_code);
        wc_print_notices();  
    senão:    
        WC()->cart->remove_coupons( sanitizar_text_field( $coupon_code ));
        wc_print_notices();   
        WC()->cart->calculate_totals();    
    fim se; 
}

Para mais exemplos como este, dê uma olhada em nosso guia para criar e aplicar cupons de forma programática.

Como excluir produtos de cupons

Como alternativa, você pode excluir determinados produtos dos cupons para que os descontos não se apliquem a eles. Essa pode ser uma opção interessante se você vender itens que já têm desconto, como produtos em pacote ou produtos com margens baixas.

A boa notícia é que você pode fazer isso no painel de administração do WordPress. Vá para Produtos > Todos os produtos , passe o mouse sobre o produto que deseja excluir dos cupons e anote o ID do produto .

Em seguida, vá para Appearance > Theme Editor > Theme functions e abra o arquivo functions.php . Depois disso, cole o código a seguir substituindo o PRODUCT_ID pelo ID do seu produto.

 add_filter( 'woocommerce_coupon_is_valid_for_product', 'quadlayers_exclude_product_from_product_promotions', 9999, 4 );
function quadlayers_exclude_product_from_product_promotions( $válido, $produto, $cupom, $valores) {
// SUBSTITUA O ID DO PRODUTO (EG 145)
if ( PRODUCT_ID == $product->get_id() ) {
$válido = falso;
}
retorno $válido;
}

É isso! O produto que você escolher não será afetado pelos cupons.

Este é um exemplo simples, mas há muito mais que você pode fazer. Para obter mais informações sobre isso, consulte nosso tutorial para excluir produtos WooCommerce dos cupons.

Conclusão

Em suma, oferecer cupons aos seus compradores é uma excelente maneira de melhorar a experiência do cliente e aumentar suas vendas. Além disso, ao oferecer descontos exclusivos aos seus clientes, é mais provável que eles se tornem fiéis à sua loja.

No entanto, certifique-se de oferecer os descontos no momento certo. Dar códigos de cupom muito cedo ou muito tarde pode não ter o efeito esperado, então use-os com inteligência.

Neste guia, vimos que as opções de cupom que o WooCommerce tem por padrão têm algumas limitações. Ao aprender a aplicar cupons WooCommerce automaticamente, você facilitará a vida de seus usuários e melhorará sua experiência de compra em seu site.

Vimos diferentes exemplos para aplicar cupons automaticamente em diferentes situações que ajudarão você a levar sua loja para o próximo nível. Para obter mais guias sobre cupons WooCommerce, confira as seguintes postagens:

  • Como configurar cupons no WooCommerce
  • Como criar cupons WooCommerce programaticamente (com exemplos)
  • Editar campos de código de cupom WooCommerce

Você já tentou algum dos scripts acima em seu site? Funcionaram como esperado? Conte-nos suas experiências na seção de comentários abaixo!