Stai cercando modi per aggiungere sconti coupon ai tuoi prodotti per aumentare le tue vendite? Sei nel posto giusto. In questa guida, ti mostreremo come applicare automaticamente i coupon WooCommerce

In questo post ci concentreremo su come applicare automaticamente questi sconti per sorprendere i tuoi acquirenti ed aumentare le vendite.

Iniziamo!

Perché applicare i coupon WooCommerce in modo programmatico?

Offrire coupon agli utenti è un ottimo modo per aumentare le vendite. Fornendo agli acquirenti uno sconto quando stanno pensando di acquistare uno dei tuoi prodotti, li incoraggerai a completare l’acquisto. 

Convertire i visitatori in clienti offrendo uno sconto interessante è una strategia di marketing comprovata di cui si avvale la maggior parte dei siti di e-commerce. Tuttavia, vale la pena notare che il successo di tale offerta dipenderà molto da quando concederai lo sconto.

Se offri uno sconto a qualcuno che sta solo navigando, è improbabile che l’offerta abbia effetto. Allo stesso modo, se riduci il prezzo a qualcuno che ha già deciso dove e cosa acquistare, potrebbe essere troppo tardi per fargli cambiare idea o ridurre le tue entrate quando avresti potuto addebitare il prezzo intero. Il momento migliore per fornire codici coupon è quando gli acquirenti stanno pensando di acquistare ma non hanno ancora preso la decisione finale. 

Gli sconti sono anche un ottimo modo per costruire una forte relazione con i tuoi clienti ricorrenti. Premiando i tuoi clienti con sconti esclusivi, dai loro motivo di tornare nel tuo shop e diventare utenti fidelizzati.

Limitazioni dei coupon WooCommerce predefiniti

La funzionalità coupon predefinita offerta da WooCommerce funziona bene, ma presenta alcune limitazioni. La limitazione maggiore è che per applicare lo sconto ai loro ordini gli utenti devono inserire i coupon manualmente e aggiornare la pagina . Come puoi immaginare, questo non è l’ideale e può farti perdere clienti.

Inoltre, non è possibile applicare alcun tipo di condizione logica oltre a quelle di default relative alla data di scadenza e alle modalità di applicazione dello sconto. Ecco perché per sfruttare appieno i coupon, puoi personalizzarne il comportamento e imparare ad applicarli in modo programmatico.

In questa guida imparerai come applicare automaticamente i coupon WooCommerce. In questo modo, gli utenti non dovranno memorizzare i coupon, copiarli/incollarli e aggiornare la pagina del carrello. Ciò migliorerà l’esperienza del cliente e ti aiuterà a incrementare le vendite sia a breve che a lungo termine.

Come applicare automaticamente i coupon WooCommerce

Poiché modificheremo il file functions.php, prima di iniziare ti consigliamo di eseguire un backup completo del tuo sito e installare un tema child. Puoi creare da solo un tema child o utilizzare un plugin.

Detto ciò, iniziamo creando il coupon.

1) Crea un coupon WooCommerce

Innanzitutto, nella dashboard di WordPress, vai su WooCommerce > Coupon/Marketing > Codici promozionali e fai clic su Aggiungi codice promozionale.

Crea sconto coupon woocommerce

Quindi, inserisci il nome del coupon. Poiché questo è ciò che useremo per dare gli sconti, ti consigliamo un nome descrittivo e semplice.

Inoltre, è necessario specificare altre informazioni importanti:

  • Importo dello sconto (fisso o percentuale)
  • Tipo di coupon
  • Data di scadenza

Puoi anche aggiungere altre opzioni come restrizioni di utilizzo, limiti per utente e così via. 

Crea impostazioni coupon woocommerce

Una volta creato il coupon, analizziamo i diversi modi per applicarlo automaticamente.

2) Come aggiungere automaticamente i coupon WooCommerce

Prima di approfondire il codice, tieni presente che utilizzeremo lo stesso codice coupon chiamato “tutti i prodotti” in tutti i seguenti script di esempio. Questo codice applicherà un 3% sul prezzo subtotale. 

L’utilizzo di questo coupon in tutti i casi potrebbe non avere senso per la tua attività, quindi assicurati di regolare ogni script e modificare la variabile $coupon_code con il tuo codice coupon.

Vediamo ora alcuni esempi di come applicare i coupon automaticamente in WooCommerce.

2.1) Applica un coupon ai clienti abituali

Questo applicherà il buono sconto solo se il cliente ha un ordine precedente completato.

// Clienti di ritorno
add_action( 'woocommerce_before_cart', 'Creativemotions_returning_customers_coupon' );
 
function Creativemotions_returning_customers_coupon(){
   $coupon_code = 'tutti-i-prodotti';
   # Get customer orders
   $user_id = wp_get_current_user();
   $customer_orders = [];
   foreach ( wc_get_is_paid_statuses() as $paid_status ) {
       $customer_orders += wc_get_orders( [
           'type
'        => 'shop_order',
           'limit'       => - 1,
           'customer_id' => $user_id->ID,
           'status'      => $paid_status,
       ] );
       # apply coupon if there is an existing order
       if(count($customer_orders)>0){ 
           printf('<div class="woocommerce-message">This order applies for a discount because you are a returning customer!</div>');
           if ( WC()->cart->has_discount( $coupon_code ) ) return;
           WC()->cart->apply_coupon( $coupon_code );
           wc_print_notices();
           break;
       }   
   }

Come puoi immaginare, ciò richiede che gli utenti accedano ai propri account, perché dobbiamo ottenere il loro ID utente per verificare se hanno ordini esistenti.

Se tale condizione è soddisfatta, verrà applicato lo sconto e verrà visualizzato un messaggio sul carrello.

Per modificare il messaggio, è sufficiente modificare la riga printif nello script.

2.2) Applica il coupon WooCommerce sulle informazioni dell’account utente

Puoi anche applicare un coupon specifico in base ai dettagli dell’account utente. Nel seguente script di esempio, applicheremo il coupon solo ai clienti che hanno inserito l’Italia come paese sui propri account. Questa può essere un’opzione interessante per promozioni mirate ad aumentare le vendite in determinati mercati o paesi.

// Applica il coupon al paese di fatturazione (IT)
add_action( 'woocommerce_before_cart', 'Creativemotions_customer_information_coupon' );
 
function Creativemotions_customer_information_coupon(){
   $coupon_code = 'tutti-i-prodotti';
   $user = wp_get_current_user();
   $data = get_user_meta( $user->ID, 'billing_country', true );
   if($data=="IT"):
   printf('<div class="woocommerce-message"> Questo ordine prevede uno sconto per i clienti italiani! </div>');
           if ( WC()->cart->has_discount( $coupon_code ) ) return;
           WC()->cart->apply_coupon( $coupon_code );
           wc_print_notices();
   else:
       WC()->cart->remove_coupons( sanitize_text_field( $coupon_code ));
       wc_print_notices();  
       WC()->cart->calculate_totals();    
   endif;
}

Oltre ad aggiungere il coupon quando il paese di fatturazione dell’utente è impostato su Italia, stiamo rimuovendo il coupon anche se il paese non è l’Italia Se non lo facciamo, un utente potrebbe modificare il proprio indirizzo di fatturazione per ottenere il coupon.

2.3) Applica il coupon in base a un programma orario

Le opzioni predefinite di WooCommerce ci consentono di creare coupon che si applicano a date specifiche o a una data pianificata. Ma cosa succede se vuoi applicare un coupon in base a un programma giornaliero? Usa semplicemente il seguente script per applicare il coupon specificato solo dalle ore 6:00 alle 10:00, ad esempio.

Questa è un’opzione interessante per lanciare vendite flash e applicare automaticamente coupon in WooCommerce.

// Applicare il coupon ad un orario giornaliero (06:00/10:00)
add_action( 'woocommerce_before_cart', 'Creativemotions_timer_scheduled_coupon' );
 
function Creatiuvemotions_timer_scheduled_coupon(){
$blogtime = current_time( 'mysql' );
list( $today_year, $today_month, $today_day, $hour, $minute, $second ) = preg_split( "([^0-9])", $blogtime );
   $coupon_code = 'tutti-i-prodotti';
   if($hour>=06&&$hour<10){
       printf('<div class="woocommerce-message">Stai ricevendo il nostro sconto del buongiorno (dalle 6 alle 10) </div>');
           if ( WC()->cart->has_discount( $coupon_code ) ) return;
           WC()->cart->apply_coupon( $coupon_code );
           wc_print_notices();
   }
}

Tieni presente che stiamo recuperando l’ora univoca del sito web sul nostro condizionale e che proviene dal server, quindi sarà la stessa ora indipendentemente dal fuso orario in cui si trova il cliente. Per impostare orari specifici per fuso orario, è necessario eseguire il calcolo logico.

2.4) Applica il coupon sulla tassonomia dei tag del prodotto

Questa è una funzione più complessa, dove recuperiamo tutti i tag dei prodotti aggiunti al carrello e controlliamo se è presente un tag specifico per applicare il coupon.

Nell’esempio seguente, il tag che useremo è freeweek, quindi prima di farlo, devi creare un tag e flaggarlo ad alcuni prodotti. In alternativa, puoi utilizzare uno qualsiasi dei tag già assegnati ai tuoi prodotti.

// Applicare il coupon sulla tassonomia dei tag del prodotto (settimana gratuita)
//
add_action( 'woocommerce_before_cart', 'Creativemotions_tag_coupon' );
 
function Creativemotions_tag_coupon() {
   $coupon_code = 'tutti-i-prodotti';
   $id_a=array();
   foreach ( WC()->cart->get_cart() as $key => $cart_item ) {
       for ($i=0; $i < $cart_item['quantity'] ; $i++) {  
           $productId = $cart_item['data']->get_id();
           array_push($id_a,$productId);         
       }
   }
  
   for($t=0;$t<count($id_a);$t++){
       $terms = wp_get_post_terms( $id_a[$t], 'product_tag' );
       foreach($terms as $term){
               $term_name = $term->name; // Product tag Name
           if($term_name=='freeweek'):
                   printf('<div class="woocommerce-message">Un prodotto richiede uno sconto !</div>');
                   if ( WC()->cart->has_discount( $coupon_code ) ) return;
                   WC()->cart->apply_coupon( $coupon_code );
                   wc_print_notices();
               break;
           else:
                   WC()->cart->remove_coupons( sanitize_text_field( $coupon_code ));
                   wc_print_notices();  
                   WC()->cart->calculate_totals();
           endif;
       }
   }
}

Questo sconto verrà applicato a tutti i prodotti aggiunti al carrello che hanno il tag specificato. 

Ancora una volta, ricordati di sostituire il nome del tag freeweek con il tag sul codice del tuo prodotto.

2.5) Applica il coupon su un parametro URL

Un’altra interessante applicazione per i codici coupon è l’utilizzo dei parametri URL per creare un link personalizzato. In un browser, un parametro URL e il suo valore appaiono così:

https://miositoweb.it/cart?parameter=value

In questo modo, puoi creare un link personalizzato e consegnarlo ai tuoi clienti tramite e-mail o telefono. Il coupon verrà applicato automaticamente all’ordine quando qualcuno segue il link. Gli utenti che ricevono il link potrebbero condividerlo con altri utenti, quindi potresti voler aggiungere alcune altre condizioni per essere sicuro che solo i clienti che desideri abbiano accesso allo sconto.

// Applica coupon sul parametro URL (?co=custom-link)
add_action( 'woocommerce_before_cart', 'Creativemotions_url_coupon' );
 
function Creativemotions_url_coupon() {
       $coupon_code = 'tutti-i-prodotti';
   if(isset($_GET['co'])&&!empty($_GET['co']) ):
       $url_p=$_GET['co'];
       if($url_p=='custom-link'):
           printf('<div class="woocommerce-message">Un prodotto richiede uno sconto !%lt;/div>');
                   if ( WC()->cart->has_discount( $coupon_code ) ) return;
                   WC()->cart->apply_coupon( $coupon_code );
                   wc_print_notices();
       else:
                   WC()->cart->remove_coupons( sanitize_text_field( $coupon_code ));
                   wc_print_notices();  
                   WC()->cart->calculate_totals();
       endif;
   endif; 
}

Come puoi vedere, il link personalizzato che stiamo usando è https://miositoweb.it?co=custom-link

Bonus: applica coupon a determinati prodotti

Un’opzione interessante è applicare automaticamente i coupon WooCommerce a prodotti specifici . In questo modo, puoi realizzare alcuni prodotti attraenti per attirare i clienti e quindi provare a venderli con altri articoli.

Per fare ciò, utilizzare il seguente script e modifica l’array $products_id() con i tuoi ID prodotto.

add_action( 'woocommerce_before_cart', 'Creativemotions_apply_matched_id_products' );
function Creativemotions_apply_matched_id_products() {  
    
    // previously created coupon;
    $coupon_code = 'auto_coupon'; 
    // this is your product ID/s array  
    $product_ids = array( 664,624,619 ); 
    // Apply coupon. Default is false
    $apply=false;
 
    // added to cart products loop
    foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {                      
        if ( in_array( $cart_item['product_id'], $product_ids )):              
            // Id of product match
            $apply=true;
            break;                     
        endif;  
    }
    // apply & remove coupon
    if($apply==true):
        WC()->cart->apply_coupon( $coupon_code );
        wc_print_notices();  
    else:    
        WC()->cart->remove_coupons( sanitize_text_field( $coupon_code ));
        wc_print_notices();   
        WC()->cart->calculate_totals();    
    endif; 
}

Conclusione

Tutto sommato, offrire coupon ai tuoi acquirenti è un modo eccellente per migliorare l’esperienza del cliente e aumentare le vendite. Inoltre, offrendo ai tuoi clienti sconti esclusivi, è più probabile che fidelizzino con il tuo shop online.

Ad ogni modo, assicurati di offrire gli sconti al momento giusto. Fornire codici coupon troppo presto o troppo tardi potrebbe non avere l’effetto che ti aspetti, quindi usali in modo intelligente.

In questa guida, abbiamo visto che le opzioni di coupon che WooCommerce ha per impostazione predefinita hanno alcune limitazioni. Imparando ad applicare automaticamente i coupon WooCommerce, semplificherai la vita ai tuoi utenti e migliorerai la loro esperienza di acquisto sul tuo sito.