search ]

Send Email When Coupon Is Used in WooCommerce Order

The following snippet lets you send an email with the coupon details used in a specific order. You can change the recipient and the message as desired. The code runs when the user who placed the order reaches the WooCommerce Thank You page.

/**
 * Send an email each time an order with coupon(s) is completed
 * The email contains coupon(s) used during checkout process
 *
 */ 
function woo_email_order_coupons( $order_id ) {
        $order = new WC_Order( $order_id );
        
        if( $order->get_used_coupons() ) {
        
          $to = 'youremail@yourcompany.com';
	        $subject = 'New Order Completed';
	        $headers = 'From: My Name <youremail@yourcompany.com>' . "rn";
	        
	        $message = 'A new order has been completed.n';
	        $message .= 'Order ID: '.$order_id.'n';
	        $message .= 'Coupons used:n';
	        
	        foreach( $order->get_used_coupons() as $coupon) {
		        $message .= $coupon.'n';
	        }
	        @wp_mail( $to, $subject, $message, $headers );
        }
}
add_action( 'woocommerce_thankyou', 'woo_email_order_coupons' );
Join the Discussion
0 Comments  ]

Leave a Comment

To add code, use the buttons below. For instance, click the PHP button to insert PHP code within the shortcode. If you notice any typos, please let us know!

Savvy WordPress Development official logo