Woocommerce Tips

WooCommerce SMS Order Notifications: The Complete Setup Guide

By 28 August 2026No Comments10 min read

SMS open rates are consistently reported above 90 percent, with most messages read within minutes. Order emails are opened much less often, and usually later. For stores where timing matters, like click and collect, same-day delivery and fresh food, SMS order updates reduce missed pickups and “where is my order” phone calls. This guide covers what to send, how to set it up in WooCommerce, and the Australian compliance rules most tutorials skip.

Why use SMS for order updates

Email is the right channel for receipts and marketing. SMS works better for time-sensitive updates:

  • Ready for pickup: the customer often wants to collect the same day. An SMS reaches them straight away.
  • Out for delivery: fewer missed deliveries, fewer redelivery fees.
  • Failed payment: customers often miss the order-failed email. An SMS recovers many of these orders.
  • Order delayed: customers are understanding about delays when you tell them early.

We run SMS notifications for butchers, delis and retailers across Australia through TopSMS, our own platform, so the recommendations below are based on real stores.

Which order statuses should trigger an SMS

Not every status change needs a message. Sending too many messages annoys customers and costs money. Try it yourself: change the order status below and watch what the customer receives.

Interactive: change the order status

No messages yet. Pick a status.

In practice, the statuses worth messaging are Processing, Ready for pickup, Out for delivery and Failed. Email covers the rest.

Setting up SMS notifications in WooCommerce

Option 1: the TopSMS plugin (no code)

We built TopSMS for WooCommerce because our own clients needed exactly this: per-status SMS with templates, an Australian sender ID, delivery reporting and credit-based pricing, all inside the WooCommerce admin. Setup takes about five minutes:

  1. Install and activate the plugin from the WordPress directory.
  2. Create your TopSMS account from the onboarding screen and verify your business.
  3. Choose which order statuses send an SMS and edit the template for each.
  4. Top up credits and send a test order through checkout.

Templates support placeholders like the customer first name, order number and store name, and every send is logged against the order so support staff can see exactly what the customer was told.

Option 2: the developer route

If you want to wire WooCommerce to any SMS gateway yourself, hook the status transition and post to the gateway API:

// Send an SMS when an order becomes "ready for pickup".
add_action( 'woocommerce_order_status_changed', function( $order_id, $from, $to, $order ) {
    if ( 'ready-pickup' !== $to ) {
        return;
    }

    $phone = preg_replace( '/[^0-9+]/', '', $order->get_billing_phone() );
    if ( ! $phone ) {
        return;
    }

    wp_remote_post( 'https://api.your-sms-gateway.com/v1/messages', array(
        'headers' => array(
            'Authorization' => 'Bearer ' . YOUR_SMS_API_KEY,
            'Content-Type'  => 'application/json',
        ),
        'body' => wp_json_encode( array(
            'to'      => $phone,
            'from'    => 'YOURSTORE', // registered sender ID
            'message' => sprintf(
                'Hi %s, order %s is ready for pickup. %s',
                $order->get_billing_first_name(),
                $order->get_order_number(),
                get_bloginfo( 'name' )
            ),
        ) ),
        'timeout' => 10,
    ) );
}, 10, 4 );

In production you also need retry handling, opt-out suppression, logging against the order, and a queue so a slow gateway does not block checkout. A plugin handles all of this for you.

Small business owner serving a customer at a shop window

Writing messages that fit in one SMS

An SMS is billed in 160-character segments (153 each once a message spills over, and far fewer if you use an emoji or curly quote that forces Unicode encoding). Build your template below and watch the segment counter:

Interactive: build your template

Preview as Sarah sees it
0 characters
1 SMS segment(s)

Three recommendations: include the customer’s name, include the order number so replies make sense, and always identify your store so the message is not mistaken for spam.

Australian compliance: sender IDs and the ACMA register

Australia now runs a mandatory SMS Sender ID Register to fight brand impersonation scams. If you send from an alphanumeric sender ID (your store name instead of a phone number), that ID must be registered, and messages from unregistered IDs are increasingly filtered or labelled by carriers. We went through the certification process with our carrier partners for TopSMS ahead of the deadline, and the practical takeaways are:

  • Register your sender ID before relying on it. A reputable SMS provider handles the registration paperwork with you.
  • Transactional vs marketing matters: order updates to a customer who just bought are fine; promotional blasts need consent and a working opt-out under the Spam Act.
  • Honour STOP replies automatically. Your platform should suppress opted-out numbers without anyone thinking about it.

What does it cost?

Australian SMS typically lands in the range of a few cents to around ten cents per segment depending on volume and provider. For a store doing 500 orders a month with three status messages each, the cost is modest, and one recovered failed payment usually covers the month.

FAQ

Do SMS notifications work for guest checkout?

Yes. The billing phone number is captured at checkout whether or not the customer has an account, and that is the number the notification goes to.

Can I send order updates to international numbers?

Technically yes, but pricing per country varies wildly and sender ID rules differ. If most of your customers are Australian, start with Australian numbers first.

What about abandoned cart SMS?

Abandoned cart messages are marketing, not transactional, so they need consent and an opt-out. Done properly they convert well, and we will cover the setup in a dedicated post.

Get it running today

The fastest path is the free TopSMS plugin: install it, connect your account and pick your statuses. If you want help wiring SMS into a more complex flow, pickup windows, multi-store routing, POS-triggered messages, that is exactly the kind of build we do: talk to us or see our SMS and email services.

Adrian Rodriguez

I use 15+ years of Web Design and Development experience to help eCommerce businesses increase sales and enhance online presence.