The professional pack adds many features, supports the most popular SMS gateways, and also integrates with other plugins.

Plugin Version: 3.3.13
 
WordPress plugin CodeCanyon Newsletters

Plugin Features

The plugin is a valuable addition for WordPress users seeking to integrate SMS functionality seamlessly into their websites. With a comprehensive set of features, it simplifies the process of sending and receiving SMS messages directly from the WordPress dashboard. Administrators can easily manage subscriber lists, create personalized SMS campaigns, and automate message delivery based on specific triggers or schedules. The plugin offers flexibility and convenience, making it a practical solution for businesses looking to enhance their communication strategies.

With an intuitive user interface, the plugin streamlines the creation and management of SMS campaigns, allowing users to track delivery statuses, analyze message performance, and optimize their strategies for better engagement. Its robust capabilities enable users to customize their campaigns with dynamic content, targeted messaging, and analytics, empowering them to reach their audience effectively. Beyond basic SMS functionalities, the plugin provides advanced features like multi-language support, GDPR compliance tools, and integration with third-party services, enhancing its versatility and usability.

Users can leverage CodeCanyon Newsletters automation features to set up triggered messages, schedule campaigns, and segment their subscriber base for more personalized communication. Additionally, the plugin offers extensive reporting options, allowing users to track key metrics, monitor campaign success, and make data-driven decisions to improve their SMS marketing efforts. Its scalability and performance ensure that users can manage large subscriber lists, deliver messages promptly, and maintain high deliverability rates for their SMS campaigns.

The plugins seamless integration with WordPress means that users can easily install and configure it without extensive technical expertise. Its compatibility with various themes and plugins makes it a versatile choice for website owners looking to enhance their communication capabilities. Whether for promotional purposes, notifications, or customer engagement, the plugin provides a reliable and efficient solution for incorporating SMS into the digital marketing mix. Overall, it is a valuable tool for streamlining SMS campaigns and maximizing the impact of text messaging in a WordPress environment.

Specifications:

Release date: 11-10-2020
Last updated: 23-10-2022
Type: Paid
License: GPL 
Subject: Marketing & SEO
Compatibility: W5.x
Includes: Plugin
Language packs: English
Developer: CodeCanyon

Rating:
4.4190476190476 1 1 1 1 1 (210 Votes)

Download by subscription!

You need to log in on the site and purchase a club subscription!

Share with your friends!

 

How to Set Up SMS Campaigns with CodeCanyon Newsletters in WordPress

The original CodeCanyon Newsletters listing is associated with the legacy WP SMS Professional Package. The developer’s current materials call the product WSMS, and the interface may use either SMS or WSMS for its menu items. Keep this in mind before you start: this guide covers an end-to-end SMS workflow in WordPress, not a generic email newsletter. It takes you from voluntary sign-up and group selection through sending, reviewing the outbox, and checking whether a message was actually delivered. If a tab has a slightly different name in your installed version, look for the section that serves the same purpose instead of following an old menu path word for word.

This guide skips the usual product overview and focuses on a sequence that helps you avoid spending your gateway balance on a poorly configured list: set up a provider, run a test, configure consent, add a form, create segments, send a test campaign, and troubleshoot cases where everything looks right in WordPress but the phone stays silent. We’ll also cover WooCommerce and standard site events, since an order notification and a bulk message to subscribers call for different rules and different checks.

CodeCanyon Newsletters: from SMS sign-up to a verified outcome in WordPress
With CodeCanyon Newsletters, it helps to think in terms of the whole workflow, not just the send screen: consent, group, gateway, message, outbox, and delivery check.

The practical rule for this entire guide is simple: first, get one verifiable message to your own phone. Then make the form available to visitors. Only after that should you move on to segments, automation, and a larger audience. This order helps prevent two common mistakes: treating an active plugin as a ready-to-use messaging system, and launching a campaign before the number, sender, and sign-up rules have passed even one real-world test.

What CodeCanyon Newsletters Does and Where Its Role Ends

This plugin is for sites that need to send a short, timely update to a phone number instead of relying on occasional email: confirming an appointment, reporting an order status change, announcing a new post, collecting voluntary subscribers in a topic-based group, or sending a brief campaign. WordPress holds the site, visitor, order, and user-role context. An SMS gateway accepts requests to send messages over a mobile network. CodeCanyon Newsletters connects these two layers. It gives administrators a sign-up form, recipient list, groups, notification templates, manual and bulk sending, and an outbox log.

That doesn’t mean every site message should become an SMS. A message makes sense when it’s urgent, tied to something the person did, or genuinely saves them time. Appointment reminders, order-ready notices, delivery updates, phone confirmations, and short updates for a voluntarily subscribed audience are better fits than long daily digests. Standard SMS has limited capacity, and characters outside the basic Latin set, along with emoji, can change how a gateway splits a message into parts. Write the message as a short, clear action with an understandable outcome, not as a shortened copy of an email.

Who It’s a Good Fit For

The clearest use cases are service businesses, small online stores, educational projects, clubs, and publications with recurring reasons to notify people. Administrators get one place to manage WordPress events, customers receive concise status updates, and subscribers choose the topics they care about. The plugin can also work when a marketing list needs to live alongside site data, while messages are still sent through an external carrier.

For a store, the key is not a polished template but a clear connection between the order status and the right recipient. For an educational project, groups matter because they keep one message stream from becoming noise for everyone. For a local service, it’s essential to have a test number, documented consent, and a quick way to spot failed sends. In each case, start by defining one event, one segment, and one visible outcome you expect.

When Another Type of Tool May Be a Better Fit

If you need long, image-rich emails, catalogs, complex automated sequences, and open-rate analytics, an email marketing service is a better starting point. If you need a full support center where agents handle conversations across multiple channels, an SMS plugin will be only one part of that setup. And if you don’t have a clear, lawful basis for handling phone numbers or a way to honor opt-outs, don’t launch a campaign. A phone number is a more sensitive contact detail than an address someone happened to enter in a form, and you shouldn’t collect it “just in case” under a vague promise.

Where responsibility changes hands: the plugin handles sign-up, rules, and the send request. Actual delivery depends on the gateway you choose, its balance, regional requirements, the number’s status, and the mobile network. An outbox entry shows that the WordPress-to-gateway workflow ran, but it doesn’t necessarily mean a person read the message.

The Five Parts of a Reliable SMS Workflow

CodeCanyon Newsletters has several features, but reliable delivery depends on five connected parts: where the number came from, consent, group, gateway, and proof of what happened. Keep these in mind as you configure the plugin. If the parts get mixed up, the interface may look complete while the user-facing workflow is broken.

Where the Number Comes From: Form, User, Order, or Manual List

A number can come from the built-in sign-up form, a WordPress user profile, a WooCommerce order, another plugin’s form, or a manual entry. These sources are not interchangeable. The built-in form collects a number specifically for updates, so consent and group selection naturally go with it. A number from an order may be needed for an order notification, but that doesn’t automatically give you permission to add the customer to a marketing audience. Manual imports make sense only for contacts whose consent and source you can explain.

Choose one primary source to start. For an events site, that might be a form on the schedule page. For a store, it might be notifications tied to a completed purchase, while a separate sign-up remains a distinct action for promotions. Choosing a source up front reduces the chance that the same contact ends up in multiple message streams without a clear reason.

Consent and Verification: More Than a Checkbox

SMS Newsletter settings include consent text, checkbox behavior, and sign-up verification by code. Verification is useful as a real check, not just a formality: the person enters a number, receives a code, and enters it before becoming an eligible recipient. The documentation also connects verification with number validation and consent confirmation. For a public form, it’s safer to leave the consent checkbox unchecked by default and state the purpose clearly, such as class updates rather than unspecified news.

Don’t rely on text in the site footer as a substitute for consent. Visitors should see exactly what they’re agreeing to before submitting their number. If you change the topics, frequency, or intended recipients, check that the original consent language still makes sense. A simple consent check: if someone showed you a screenshot of the form, could they explain what messages they expected to receive?

A Group Is a Routing Rule, Not a Decorative Folder

A group determines who receives a particular message. First, create a few clearly named groups under SMS → Groups. Then decide which ones to show on the form, and only after that connect the form to the appropriate group or groups. For example, a school might have groups for parents, instructors, and public lecture attendees. A store might separate service notifications from an optional promotions group. Don’t create a new group for every one-off message. They quickly lose their purpose, and it becomes harder to explain why someone was included in a particular audience.

The settings let you show available groups, allow people to choose more than one, and set a default group. These are three different controls. Visibility determines which groups appear on the form. Multiple selection determines whether a person can choose more than one topic. The default group determines where a person goes if they don’t make an explicit choice. For a public sign-up, an explicit choice is usually preferable because it makes future messages easier to explain.

CodeCanyon Newsletters setup map: group, consent, verification, and SMS gateway
The setup is more reliable when sign-up, group, verification, and gateway form one workflow you can check end to end.

Gateway and Sender ID

WSMS doesn’t replace an SMS provider. In the gateway section, you choose a supported provider, enter its credentials, and set a sender ID if the provider allows it. Setup screens list common fields such as a username, password or API token, API key, and Sender ID. The exact fields depend on the gateway. Don’t copy a field from one provider’s instructions into another integration. Similar labels can refer to different credentials.

Sender IDs are often subject to provider and country restrictions. Treat this as more than a display setting: some networks require advance approval, while some providers send from a phone number instead of a name. During your first test, check not only the message text but also which sender appears on the phone. If the sender name isn’t accepted, don’t try to work around the issue with a more elaborate message template. Check the gateway settings and the provider’s requirements instead.

The Outbox Marks the Boundary of What You Can Verify

After a send, you can review entries under SMS → Outbox. This is the main troubleshooting point: it shows send attempts, recipients, and any responses or errors available to the system. The route is roughly this: an event or form creates a recipient, the selected rule determines the group or number, the plugin builds the message, the gateway accepts the request, and the outbox records the attempt. Once you can see the workflow this way, it’s clear why troubleshooting shouldn’t start with the recipient’s phone before you check the log.

Before You Install: What to Check Before Entering Credentials

Start with a quick inventory. It takes less time than figuring out why a bulk campaign wasn’t delivered, and it shows whether the plugin fits your actual workflow. This doesn’t need to become a separate technical project, but it does call for honest answers to a few questions.

  • Choose one initial use case. For example, appointment confirmation, an order status update, or a schedule sign-up. Don’t start by enabling news, two-factor authentication, and messages for every site event at once.
  • Choose an SMS provider. Check that it operates in the country you need, supports the sender type you want, accepts your number formats, and offers a workable way to add balance.
  • Prepare your own test number. Use it to check the gateway, message text, and sender name before real subscribers are involved.
  • Document where contacts come from. For every group you plan to use, you should know where people provided their numbers and what messages they agreed to receive.
  • Review staff roles. Sending SMS shouldn’t automatically be available to every editor. If a store manager handles messaging, give them only the permissions needed to send messages and review the outcome.
  • Agree on a backup channel. If a message is important, decide in advance what to do if it isn’t delivered: recheck the order, send an email, call, or follow up manually.

The technical environment matters too. The product’s current release line lists requirements for a modern WordPress installation and a PHP version no lower than the developer’s stated minimum. Don’t use that as a reason to put off updates indefinitely: before working with contact data, update WordPress, your theme, and plugins in the usual safe order, make a backup, and check the site’s health. If the admin area is already showing PHP errors, fix those first; they can hide a send failure behind a more general error message.

Map the Data for Your First Use Case

Write down four things: where the number comes from, who can add someone to a group, what event triggers the SMS, and where you’ll see whether it worked. For an order pickup example, that might be: the number comes from the order, the customer chooses a marketing group separately, a status change or a manually defined rule triggers the notification, and a test purchase plus an outbox entry confirm the workflow. This isn’t paperwork for its own sake. It helps prevent a phone number collected for an order from quietly becoming an anonymous marketing contact.

Separate Messages by Risk

Service messages relate to an action the person has already taken: an order was placed, an appointment was confirmed, or a meeting was rescheduled. Marketing messages announce an offer, promotion, or new content and need separate, clear consent. Internal messages go to staff: a new order, registration, comment, or error. Each category has its own text, frequency, and audience. Separate them in your groups, templates, and access rules from day one; otherwise, you may have to untangle an established contact list later.

Install and Run the First Safe Test

Once you have the product’s installation archive, install it through WordPress as usual: Plugins → Add New → Upload Plugin. Select the ZIP archive, complete the installation, and click Activate. If you’re using the WordPress directory version, you can usually start by searching for WSMS or WP SMS. After activation, don’t launch a campaign or import a list. First, confirm that the plugin appears in the left-hand menu, its settings page opens without errors, and your account has permission to view the sections you need.

The legacy listing may have a different name from the current documentation and menu. Don’t install several similar packages side by side while trying to guess which one is right. Check the developer, plugin folder, and feature set. Duplicate SMS plugins can sometimes handle the same events, making it look as if the system is sending messages twice. In a test environment, keep just one tool active for each specific SMS task.

Connect the Gateway Before Setting Up Campaigns

Open SMS → Settings → SMS Gateway, or the equivalent section in your version of the interface. Choose the provider you need, fill in only the fields it requires, and save your changes. Don’t put keys or passwords in this guide, screenshots, widgets, or shared team chats. If your site has a staging copy, use separate test credentials or a limited test configuration so draft forms can’t send messages to real customers.

After saving, review the gateway overview: connection status, available balance, and whether it supports bulk sending, inbound messages, or multimedia if your use case needs them. Don’t enable extra features just because they’re available. For example, bulk messaging increases the risk of mistakes if your groups and consent rules aren’t ready, while two-way messaging isn’t needed for a one-way order status update.

Send the First Message to Your Own Number

Go to SMS → Send SMS. Enter your own number in the format the gateway expects. Write a short test without links, discounts, codes, or personal information, such as a simple connection check. Before sending, check the selected Sender ID, the number of message segments, and the available balance. Click Send SMS, then look beyond the browser notification.

  1. Open SMS → Outbox and find the latest entry.
  2. Compare the number and message with what you entered.
  3. Check the status and any response available from the gateway.
  4. Check your phone for the time, message text, and sender display.
  5. If the message didn’t arrive, stop after this one test and start troubleshooting from the log instead of sending it dozens of times.

First-run takeaway: a working interface doesn’t mean messages are being delivered. The first milestone is seeing the expected message on your test phone and matching it to the outbox entry.

Settings That Actually Affect Delivery

After a successful one-off test, move on to the ongoing settings. With CodeCanyon Newsletters, it’s more useful to configure them in order of impact on the recipient than in tab order: sending channel, number, consent, segment, and message. Then you can test each change on its own and roll it back without creating an unexplained effect elsewhere.

Gateway: Country, Number Format, Balance, and Sender

Set a default country only if it matches your site’s main audience. It can help normalize numbers entered in local format, but it doesn’t remove the need to check international numbers. Recent WSMS versions emphasize format normalization, duplicate detection, and country-code validation. These features can help, but don’t blindly convert an old phone list without a backup. Export your contacts, choose a consistent format, test the import with a small group, and only then clean up duplicates.

Next, check the gateway balance and sender rules. For a typical site, it’s safer not to change the delivery method, schedule, flash SMS, Unicode settings, and country restrictions all at once. Start with a plain-text message to one number. Then test a message in the audience’s actual language if it uses Cyrillic. Test a recipient in another country only if you really have an audience there. This order makes it easier to identify which setting changed the outcome.

SMS Newsletter Settings: Consent, Group, and Welcome Message

Open SMS → Settings → SMS Newsletter. This is where the sign-up rules come together. Show groups only if visitors can make a meaningful choice between them. If the site has one newsletter topic, it’s simpler to set a single default group and keep the extra controls off the form. If there are several topics, use names that make sense to visitors, not just your admin team: for example, Class Registration or Studio News instead of Group 3.

Enable sign-up verification on a public form, especially if there’s a high risk of typos or unwanted numbers. It adds a step, but separates accidental entries from confirmed sign-ups. Turn on the welcome SMS only after you’ve checked its text, since it goes to every new subscriber. A welcome message can confirm the person’s choice and give them a useful next step. Avoid summarizing your entire loyalty program in the first SMS: a long message may be split into several parts, and a new subscriber has little reason to read it all at once.

Welcome messages support placeholders such as %subscriber_name%, %subscriber_mobile%, %subscriber_group%, and %date%. Use them sparingly. A value is useful when it helps confirm an action, such as naming the selected group. Including the phone number in the message is usually unnecessary. It adds length and unnecessarily displays personal information on the recipient’s phone.

Style the Form Without Editing Plugin Files

The form settings include an option to disable the default styling. Use it only if your theme already gives fields, checkboxes, and buttons a clear appearance and you have time to test the form on a desktop and a phone. Don’t turn off the plugin styles expecting the form to blend into your design automatically. You could end up with gray text on a gray background, a nearly invisible consent checkbox, or a button that looks like a regular link.

A safe, custom approach doesn’t require PHP or undocumented classes: first disable the styles on a test page, then add CSS through your child theme or the theme’s Additional CSS area. This approach is based on the built-in option to disable the default styling. The checks are simple: the form still works with a keyboard, the checkbox is easy to see, a status appears after submission, and the consent text stays inside its container. To roll back, remove the custom rules or turn the plugin’s default styling back on. If you don’t know where your theme stores custom styles, leave the form’s default appearance in place.

Settings to Leave Off Until You Need Them

Scheduling, bulk sending, automatic user enrollment, two-way messaging, webhooks, and API access aren’t necessary for every initial setup. Enable them when you can name the triggering event, the person responsible for the workflow, and how you’ll verify the outcome. For example, scheduling makes sense once the team has approved the message and knows who will check the outbox when it goes out. The API makes sense when a custom form can’t use the built-in block and the developer understands the authentication and permission requirements.

Recommended setup order for a first deployment
What to configureWhy it mattersHow to check itWhen to roll it back
Gateway and senderThey provide the technical route to the carrierSend one SMS to your number and check the outbox entryIf authentication or balance fails, or the sender hasn’t been approved
One groupIt gives you a clear audience to test withA manually added test subscriber appears only in the selected groupIf you can’t explain the group’s purpose to its recipients
Verification and consentThey protect against accidental sign-upsThe test number doesn’t become active until the code is enteredOnly for a private service workflow where the form isn’t a public sign-up
Welcome messageIt confirms the person’s choiceOne test subscriber receives a short messageIf the message is long, unclear, or can’t be sent without separate consent

Add a Sign-Up Form Without Making Things Complicated

The built-in form is the easiest starting point when you want to collect voluntary subscribers. The documentation lists four ways to add it: an editor block, a widget, a shortcode, or a PHP function. Choose based on where site editors need to update a page without help from a developer, not on which method seems more advanced.

Editor Block and Widget: For Pages Editors Can Manage

In the block editor, open the page, add a block, and look for the WSMS widget. Give it a clear title and short description, then save the page. This works well for a dedicated sign-up page, an end-of-article form, or an event page. If your theme uses widget areas, go to Appearance → Widgets, choose an appropriate area, add the WSMS block, and save. Either way, open the published page in a separate window to check it. The editor doesn’t always show conflicts with the theme’s styles.

Don’t put a sign-up form in the header, under every post, in the sidebar, and in a pop-up all at once. Start with a place where visitors already understand the value of the message: next to a schedule, after a program description, on a delivery page, or in an account area. Before asking for a number, a good form answers three questions: what will arrive, how often, and how to opt out.

Use a Shortcode to Place the Form Precisely

When you need a controlled block in the content or a page builder, use the documented shortcode. The basic version doesn’t require groups:

[wp_sms_subscriber_form title="SMS Newsletter" description=""]

If visitors need to see specific topic groups, create those groups first and allow them to appear in the Newsletter settings. You can then limit the form to the IDs of the groups you need:

[wp_sms_subscriber_form title="Get SMS Notifications" groups="1,2"]

The numbers in this example are not universal. Don’t copy them into a live form without checking the IDs in your installation. In Elementor, place the shortcode in a Shortcode widget. After publishing, check more than whether the form appears. Test the whole flow: number, consent, group selection, verification code, and the subscriber record. If a group doesn’t appear, first make sure it exists and is allowed to display. Don’t start changing random theme settings.

CodeCanyon Newsletters sign-up form in WordPress: group selection, consent, and number verification
A form is useful only when visitors understand what they’re signing up for, can choose a topic, and can complete number verification.

Custom Fields: Collect Only What You Need

The plugin supports additional fields in both the shortcode and programmatic form output. That’s not an invitation to build a questionnaire. A field makes sense if it’s needed to deliver on the sign-up promise, such as a city for a local class schedule. Don’t automatically add age, country, or other fields just because they appear in technical examples. More fields mean fewer completed forms and greater responsibility for storing the data.

Before adding a field, ask whether it affects group assignment, message content, or a legitimate service workflow. If not, don’t collect it. If it does, explain why beside the form and check the export to make sure the extra field doesn’t end up in a file used by someone who doesn’t need it.

Turn a WordPress Event Into a Short, Useful SMS

CodeCanyon Newsletters offers two different ways to send messages. The first is a manual or bulk campaign, where an operator selects recipients and writes the message. The second is a notification triggered by an event, such as a registration, comment, new post, password change, WooCommerce order, or another supported action. A common beginner mistake is using the same message for both. A campaign should explain why the message matters to the subscriber. A service notification should confirm a specific action and show the next step.

Automatic WordPress Notifications

The SMS → Notifications section includes notification categories related to users, administrators, and stores. Start with one category. For example, you could notify an administrator about a new registration or order, and send a user a confirmation of an action. First enable a notification for a test event only, save the template, and trigger the event with a test account. This checks both delivery and whether the template receives the expected variables.

Templates can use WordPress information such as the user’s name, username, site name, date, or URL. WooCommerce has its own set of order, product, and customer variables. Include only details that help the recipient. An order number, brief status, and next step can be useful. A full delivery address, a multi-line cart summary, or an internal order-editing URL doesn’t belong in a customer SMS and can easily turn a short message into several parts.

WooCommerce: Status, Variable, Recipient, and Check

Before enabling the integration, create a notification matrix for your store. Put the event in the first column, the recipient in the second, the minimum necessary message in the third, and the verification method in the fourth. For example, an administrator might receive a new-order alert. The customer gets an order confirmation. A delivery update goes to the customer only when there’s a tracking number or other useful information. Don’t use one message for every status; it will either say nothing useful or say something inaccurate.

Documented WooCommerce variables include order details, total, status, products, address and phone, as well as custom order metadata. For a typical message, start with %order_number%, %billing_first_name%, and a short status. Before saving, make sure the variables belong to the specific template and notification type you’re editing. A percent-delimited token pasted into an unsupported field doesn’t become a magic value; it may be sent to the recipient as a literal technical string.

Delivery Tracking as a Separate Workflow

The plugin can use a new order note for shipment tracking if the note matches the tracking-code format. The workflow is specific: the delivery service adds a note, WSMS processes it, and a matching rule generates an SMS. Don’t enable this blindly. First, create a test order and inspect the exact note format. Then add one test note with a safe value and configure the template only after it works. If the delivery integration stores tracking data in custom metadata instead of a note, this workflow may not work without additional verified configuration.

A Notification Is Not a Subscription

A customer who receives a service update at the number on their order isn’t automatically a subscriber to your news group. Automatic customer enrollment may be technically possible, but adding people to a marketing list requires a separate, clear choice. If you want to use a group for a loyalty program, add a separate voluntary opt-in during checkout, explain what messages people will receive, and test it independently of the purchase. Otherwise, mixing these purposes creates legal, ethical, and operational risks.

Walkthrough: Sign-Ups and Class Reminders for a Workshop

Let’s walk through a practical example for a workshop website. Visitors can choose to receive SMS updates about open spots and get a short confirmation. The administrator can send one message to people interested in a particular topic. This is a useful example because it covers a form, consent, group selection, manual sending, and a clear way to verify the workflow without mixing it up with a purchase.

Step 1. Create Groups and Write the Consent Text

Under SMS → Groups, create two groups, such as pottery classes and public lectures. Use names that make sense on the form. Then open SMS → Settings → SMS Newsletter, show only the groups you need, allow multiple selections only if you’re prepared to manage two separate message streams, and enable verification. In the consent field, be brief and specific: the person is providing their number to receive information about the selected program and can stop messages using the available opt-out method.

The welcome message should confirm the person’s action, not promise an abstract benefit. For example, it could include the participant’s name, the selected topic, and a neutral note that messages will cover that topic only. Test it with your own number before making the form public. Check that you don’t appear in both groups when you select only one, and, if verification is enabled, that your subscription doesn’t become active until you complete it.

Step 2. Put the Form Where Visitors Understand the Choice

Add the WSMS block beneath the schedule or on a page for a specific program. The form title should describe the outcome, not use the plugin’s internal terminology. The description doesn’t need to explain the entire agreement; it’s enough to name the topic and ask for a number for updates. Keep the consent text visible and leave the checkbox unchecked by default. If the page covers two programs, use either a clear group selector or two separate forms, each assigned to its own group in advance. The second option is often easier for visitors and simpler for administrators to check.

Open the page while logged out so administrator permissions don’t affect the test. Enter your own number, choose one program, complete verification, and then go to SMS → Subscribers. Check the name, number, status, and assigned group. If there’s no record or the wrong group was assigned, don’t adjust the page styling yet. The problem is in the form workflow, available-group settings, or verification.

Step 3. Create a Test Campaign for One Group

Once the test subscriber appears correctly, open SMS → Send SMS. Select subscribers as the recipients and choose exactly one group. Write a short message with a specific reason: another date has opened, registration is available, or the time has changed. Include one call to action if needed, and don’t repeat it with multiple links. Check whether the message gets longer after inserting the group name or another placeholder. If the gateway shows a price or number of parts, use that as a cue to trim the wording before sending.

First, send the campaign only to your own test contact. Then open the outbox and compare the selected group, recipient count, message text, and status. Add real subscribers only after these checks pass. Sending a test to one subscriber should be a distinct step in the workflow, not a lucky accident before a large campaign.

CodeCanyon Newsletters walkthrough: workshop sign-up, group selection, and SMS check
This example shows the full workflow: someone chooses a topic, verifies their number, joins the right group, and receives a checked message.

Step 4. Check the Message as Both a Recipient and an Administrator

On the phone, check who sent the message, whether the first line is readable without being cut off, whether the text matches the selected topic, and whether any placeholders remain unprocessed. In the admin area, check the outbox and subscriber status. If someone receives two messages, check whether the number belongs to multiple groups or whether another plugin is sending the same notification. If they received the wrong topic, trace how they were assigned: through the form, a default value, or the groups they selected.

What to Do After the First Successful Run

After one successful run, don’t rush to automate everything. Write down a short procedure: who approves the message, who checks the group, who reviews the outbox, how to handle opt-outs, and when scheduling can be used. Add another group or integration only after that. This pace seems slow only until the first mistake. In practice, it helps maintain trust and makes it easy to explain to every staff member what the system does.

Check the Outcome: Sending, Delivery, and Useful Action Are Different

An SMS workflow has several levels of success. First, the plugin builds a valid request and sends it to the gateway. Second, the gateway accepts the request. Third, the message reaches a device. Fourth, the recipient understands what happened and can take the next step if needed. In WordPress, you can usually verify the first two levels and review the send log. The test recipient’s phone confirms the third. Reviewing the message and use case confirms the fourth.

Checklist Before a Bulk Send

  • Check the selected recipients and group name instead of relying on an approximate contact count.
  • Read the message aloud as if you were the recipient: is it clear who sent it and what to do next?
  • Remove unnecessary placeholders, long URLs, and repeated wording.
  • Send a test to your own number using the same sender and language settings.
  • Open SMS → Outbox and find the test entry.
  • Decide who will review the outcome after launch and how to stop the next message quickly if something goes wrong.

Check opt-out separately. People need a clear, working way to stop marketing messages, and your team needs to know where that status appears. Don’t test opt-out on a random customer. Use a separate test number, then make sure it no longer appears in the recipient list. If you have two independent groups, check whether opting out stops all messages or only one stream, and make sure the form’s wording matches what actually happens.

Use the Log as a Working Team Record

Don’t treat Outbox as an archive you open only when something breaks. Before an important campaign, it helps you verify the test. Afterward, it helps you spot early signs of trouble. Agree on which fields to check: date and time, recipient or group, status, error code, and message text. Outbox screenshots may contain phone numbers, so don’t share them unnecessarily or use them as decorative images on a public page.

Site Performance and the Send Queue

The sign-up form itself shouldn’t turn a page into a bloated promotional display. Bulk sending, however, is a separate process. The product documentation mentions queueing and batch processing for large sends, and scheduling may depend on WordPress tasks and the server. The practical takeaway isn’t to promise zero load; it’s to avoid sending a large list for the first time when no one on the team can monitor the outcome. Start with a small, verified group and watch the log.

Manage Subscribers, Statuses, Imports, and Segments Without Creating a Mess

Once the first form is live, the subscriber list starts to change. Under SMS → Subscribers, you can add, edit, delete, import, and export subscribers. These look like administrative tasks, but they determine whether the right person receives a message. A subscriber is more than a number in a table. For each contact, you should know at least where the number came from, whether the contact is active, which group they belong to, and what action changed their status.

Start with a small test list. Create a separate group for tests, manually add your own number, and keep it separate from real customers. Test editing a name, changing a status, checking the group, and exporting the list. This gives you a chance to learn the interface without touching working contacts. When you remove the test record, make sure you’ve selected that record rather than using a bulk action without a filter.

Subscriber Status and What It Means

Active and inactive are not cosmetic labels. An active contact may be included in a targeted send, depending on your project’s rules. An inactive contact may remain in the list as a record of earlier consent or activity, but shouldn’t receive a new campaign. If someone opts out, don’t try to fix the problem by deleting the entire history without checking. First find out how your workflow handles opt-outs, then test with a separate number and confirm that it no longer appears in the next recipient selection.

Take particular care with duplicate numbers. Someone might sign up through a form, place an order, and later appear in an import. Recent product updates include improvements to number normalization and duplicate detection, but you still need to prepare your data. The same number in local and international formats may look like two different entries until the system or provider converts them to a consistent format. Before importing, decide how numbers will be stored and keep a separate copy of the original file.

Import a Small Sample First

Importing is useful when you already have a verifiable list of contacts who opted in. It isn’t a shortcut for filling a new list with any numbers from your CRM, orders, or an old spreadsheet. Before importing, make a copy of the original file, remove extra spaces and obvious technical duplicates, check the column names, and prepare a sample of five to ten records. In the import screen, map the columns to subscriber fields, send the sample to a separate test group, and review the result before importing the rest.

The import check should answer specific questions: did the name end up in the right field, did the number keep its country code, was the status set as expected, was the right group assigned, and were extra duplicates avoided? If any answer is no, remove the test import using a clear filter, fix the source file, and try the sample again. Don’t run a second import on top of the first and hope the system will figure out which records belong to each version.

Export as a Backup and Reconciliation Tool

Before a large import, cleanup, or group reassignment, export the current list in a suitable format. Don’t store the export in a shared team folder without protection; it may contain names and phone numbers. Its purpose is to give you a restore point and help you see which records changed. After a bulk edit, inspect a sample of the export instead of relying on the row count in the interface. The count won’t tell you whether the right people ended up in the right group.

Segment Based on Real Choices, Not Assumptions

Groups exist to make messages more relevant, not more frequent. The most reliable sign of a segment is an action the person took: choosing a topic on a form, registering for a specific event, requesting a service update, or selecting a channel. Segments based on guesses, outdated roles, or arbitrary form fields quickly lead to irrelevant messages. If you can’t explain why someone belongs in a group in one clear sentence, the group name and rule aren’t ready.

Don’t replace one clearly defined group with a dozen similar ones. Start with stable groups based on purpose. When a real need arises, such as a different city or class type, add a second dimension deliberately. But don’t send the same message to overlapping groups all at once. Before selecting an audience, ask whether one number could be selected more than once. If so, make the rules mutually exclusive, clean up the selection, or send separately after checking the recipients.

A Short Procedure for Manual Campaigns

It helps to follow the same short routine before every manual campaign. This doesn’t slow things down; it makes the work predictable. The author writes the message and states its purpose. A second person, or the author after a short break, checks the group. The operator sends a test to a staff number. Once the test succeeds, the main send goes out. Then the person responsible checks the outbox and records the outcome. If one person handles everything, follow the same steps in sequence: write, set it aside for a few minutes, check the audience, send a test, and review the log.

Keep the internal procedure with the team’s working instructions, not in the sign-up form. It can be as short as five questions: who is this for, why did these people consent, what should happen after they read it, who approves the message, and where is the outcome checked? This is especially useful when several people manage the site and have access to different parts of WordPress.

Write a Message That Keeps Its Meaning on a Phone

A good SMS doesn’t try to become a miniature web page. It needs a sender, a reason, a fact, and a next step. Check whether everything else is necessary. Brevity matters even more when a message is built from placeholders: the text can grow after a name, order number, or product name is inserted. Test the message with realistic data, not empty fields.

A Service Message Structure

For a service update, three parts are usually enough. First, say what happened: the order was confirmed, an appointment was moved, a code is ready, or a request was received. Then add a minimal identifier if it helps the person tell this event apart from others, such as an order number or class date. End with a clear next step only if one is needed. If the person doesn’t need to do anything, don’t invent a call to action. Don’t promise delivery, payment, or an outcome that the system hasn’t confirmed yet.

Before saving the template, picture it as a notification on a phone. Is the point clear from the first few words? Does the message include personal information that isn’t needed? What will it look like if a name is missing or very long? If the template falls apart without one placeholder, add a neutral fallback or remove the optional value. That’s better than sending a technically valid but awkward message.

A Voluntary Campaign Structure

A campaign follows a different pattern: why you’re sending the message, what it offers the selected group, and a low-pressure action or opt-out detail. For example, tell people in a specific program that a class spot has opened instead of sending a generic promotion to every number on the site. If the message points to a page, that page should have a clear purpose and the URL shouldn’t be excessively long or tracking-heavy. If the link doesn’t fit comfortably, shorten the message and leave one clear path rather than turning the SMS into a string of technical characters.

Decide on a frequency in advance. Even a useful channel becomes annoying when the sender messages about every little thing. For each group, write down what counts as an important enough reason to send a message. Service updates follow an event. News groups receive only the topics people selected. Urgent messages have their own workflow. This simple classification helps staff avoid treating the fastest channel as a substitute for planning.

Placeholders and Template Checks

WooCommerce placeholders can include order, product, price, status, address, and custom metadata. A good template uses only placeholders available for that notification. Create a test order with distinctive but safe data, then test the workflow from beginning to end. On the phone, check that the order number, name, and status were inserted and that hidden fields weren’t exposed. Then run a second test with an optional field left blank. This catches errors that won’t appear in a perfectly complete test record.

Don’t confuse the two placeholder syntaxes. Standard notifications may use different tokens from WooCommerce. Copy tokens from the settings screen where they’ll be used. If the plugin shows the available fields beside the editor, use that list as your reference. After changing even one token, test again with your own number and check the outbox entry.

Message Length, Language, and Segments

Keep in mind that standard SMS has a character limit and that longer messages are split into segments. With Unicode character sets, including Cyrillic and many emoji, the practical limit for a single segment is often lower and may depend on the gateway. You don’t have to count every character manually, but you should check how the plugin and provider estimate the length in a test. Cut unnecessary introductions, repeated brand names, and details that don’t matter, not the meaning.

Write clearly in the audience’s language. A Latin-letter sender name with a Russian message isn’t automatically a problem, but the recipient should recognize who it came from. Don’t mix languages in one marketing message without a reason. If your site is bilingual, separate groups or rules are usually clearer so people receive the language they chose when they signed up.

Scheduling and Delayed Sends Need Oversight

Scheduling is useful when a message has been approved in advance, the audience is stable, and someone will check the log after it goes out. It’s a poor fit for a first attempt with the plugin or for a message that’s still changing every few minutes. In some configurations, scheduling is an additional feature, and whether it runs on time depends on WordPress tasks and the server. First, schedule a test to your own number for a time when you can monitor the outbox.

If the timing matters, have a backup plan. For example, if the scheduled reminder doesn’t appear in the outbox within the expected interval, the person responsible can send an approved short version manually. That’s normal operational oversight, not a failure of automation. The riskiest mistake is not noticing the system is silent until the event is no longer relevant.

WooCommerce Notifications Without Unnecessary Automation

Store integration can seem like the most obvious part of an SMS plugin, but it’s also where it’s easiest to mix up different purposes. An order contains a number, total, address, products, status, notes, and delivery details. The plugin may be able to pass most of these into a template. The question isn’t what it can send but what the customer needs at that moment. Every SMS should reduce uncertainty: the order was received, action is needed, the shipment is on its way, or the date has changed. If a message doesn’t change the customer’s understanding, it probably isn’t needed.

Map Statuses Before Enabling the Switch

Create a simple table outside the interface. For each status, note the recipient, required information, allowed placeholder, next step, and verification method. For example, the recipient for a new order could be the manager. For an order or payment confirmation, it could be the customer. For a cancellation, it could be whoever needs to handle a refund or follow-up. Not every status needs to send a message to everyone involved. Fewer messages are often more useful.

Once the table is approved, enable rules one at a time. First, place a test order using your own number. Change exactly one status. Confirm that it creates one expected SMS with clear wording. Then reset the order or create a new one to test the next status. Don’t run a single order through every event if your setup creates extra notes, repeated notifications, or a confusing log.

Personalize Without Exposing Unnecessary Details

A name and order number are usually enough to identify a message. The total may help confirm a payment, but it isn’t necessary for every status. Keep the full address, internal editing links, product list, and technical metadata in the customer account or email if they’re needed at all. Send a tracking number only after it appears in the data source your integration uses. Don’t say a package is trackable before a tracking number has been added.

Keep a Clear Line Between Notifications and Marketing

At checkout, customers expect service messages about their purchase. Promotional messages are a separate channel. If you want to offer a sign-up, make it clear and optional: use a separate checkbox, state the message topic, and handle consent separately. Don’t check the box in advance or quietly assign the customer to a group. Respecting this distinction reduces complaints and keeps your groups more accurate.

When you want to run a follow-up campaign for customers, use the people who actually chose that message stream, not the entire order archive. Then the operator has an explainable segment, not just a list of numbers. And the customer stays in control of the channel they allowed the site to use.

Staff Roles and Careful Access Management

Messaging affects contact data, brand reputation, and often SMS costs. That’s why people who edit pages shouldn’t all have the same permissions. The documentation lists separate capabilities for the shop manager role, including wpsms_sendsms for sending, wpsms_subscribers for managing subscribers, wpsms_outbox for viewing the outbox, and wpsms_setting for settings. This lets you avoid giving someone full admin access just so they can send a campaign.

On a small site, a sensible division might be: the administrator connects the gateway and changes global settings, the manager prepares and sends approved messages, support staff review the outbox and case status, and the page editor updates the form text. Your project may need different roles, but the principle stays the same: give each person the minimum access they need to do their job. After changing roles, test them by signing in with a test account instead of relying only on the permissions editor.

What Not to Share With Someone Preparing a Campaign

Don’t send the gateway API key, a full subscriber export, or screenshots with phone numbers to a shared chat. To prepare a campaign, staff need only the approved message, group name, and planned send time. Keep credentials in a secure configuration, and limit subscriber data to people who need it. If someone has to choose a group, make sure the group names are easy to distinguish and don’t rely on internal jargon.

When Custom Development Is Necessary

The built-in blocks, widget, and shortcode are enough for most forms. Custom development makes sense when you already have a form or service that needs to send sign-ups to WordPress. The documentation specifies a REST route for subscriptions and requires authentication with the wpsms_subscribers capability. This isn’t something to put in public JavaScript in the browser; credentials must not be exposed to visitors. A developer should build a server-side integration, restrict access, check consent, and test it with a separate group.

If all you need is a polished form in the editor, don’t switch to the API. A custom API connection is justified only when there’s a real boundary between your form and WordPress. Otherwise, the built-in block means fewer potential failure points and makes future troubleshooting easier.

Troubleshooting: From Symptom to Check and Safe Fix

SMS problems are easier to solve by following the data flow than by guessing. Don’t resend the same campaign until you know where the workflow broke. First identify the symptom, then check the outbox, gateway settings, number format, and group assignment. Only then test a fix with your own contact. This avoids duplicates and wasted balance from repeated guesses.

Troubleshooting CodeCanyon Newsletters: symptom, gateway, number, outbox, and verified fix
Follow the workflow to troubleshoot reliably: symptom on the form or phone, outbox entry, gateway settings, number check, fix, and another test.

The Message Won’t Send From the Admin Area

Symptom: After sending, there’s no successful entry or the outbox shows an error. Possible causes include incorrect gateway credentials, a disabled provider, no balance, an invalid Sender ID, or a server that can’t reach the provider’s API. First, open the latest entry under SMS → Outbox and note the exact error without including personal data. Then check the selected provider, saved credentials, and balance in the provider account connected to the site.

Make the smallest necessary change: update one incorrect setting, save it, and send one short message to your own number. Don’t send to a group; a configuration error doesn’t call for repeated attempts. If the problem persists, collect WordPress system information under Tools → Site Health → Info and check the debug log only on a secure server. To roll back, restore the last gateway value you changed or pause the bulk task until you find the cause.

The Outbox Shows a Send Attempt, but the Phone Didn’t Receive It

Symptom: WordPress shows a send attempt, but the test phone stays silent. It’s important to distinguish an accepted request from delivery over the mobile network. Check the number format and country code, balance, provider’s country restrictions, sender status, and whether the test phone blocks messages. Some gateways require advance Sender ID approval, and some networks don’t accept arbitrary sender names. For troubleshooting, use one test number in the format the provider recommends.

Don’t change the number format, sender, and message at the same time. First send a plain, short test in Latin characters or in a format the provider commonly accepts. Then run a separate test in the audience’s language. If the short test arrives but the regular template doesn’t, check its length, Unicode characters, and placeholders. If nothing arrives, go back to the gateway settings and its response. To roll back, keep a Sender ID that you’ve already verified and stop further sends until the provider confirms the accepted format.

The Form Appears, but the Subscriber Isn’t in the Right Group

Symptom: A visitor submitted the form, but there’s no record under SMS → Subscribers or the wrong group was selected. Check that the group exists under SMS → Groups, is allowed to appear in SMS Newsletter, matches the IDs in the shortcode, and has sign-up verification configured as expected. If verification is enabled, a record may not become active until the code is entered, so first check whether the code message arrived.

Fix the issue where the assignment happens. If the form has outdated groups IDs, change only those IDs and run one new test. If the group is assigned by default, don’t also require multiple selections before you’ve defined the expected behavior. If the verification code didn’t arrive, the issue is with SMS delivery, not the form. To roll back, temporarily remove the form from the public page or restore one clear group option until the workflow is predictable.

A User Received the Same Message Twice

Symptom: A duplicate arrives on the phone even though the operator sent the message once. Check the outbox for two attempts with identical text. Check whether the number belongs to multiple selected groups, whether an automatic notification and manual campaign are both enabled, or whether two SMS plugins or integrations are handling the same event. For WooCommerce, also check whether the delivery service adds an order note while another rule sends an order status update.

The fix depends on what caused the repeat. If the segment is the issue, make the groups mutually exclusive or select just one. If two plugins are sending the message, disable the second send on a test site and confirm that only one outbox entry remains. If a webhook or event is firing twice, don’t change the message template; first find the two incoming events. To roll back, pause the automation and use a verified manual workflow until you’ve confirmed the event fires only once.

The Template Sent Technical Tokens Instead of Useful Details

Symptom: The recipient sees %order_number%, braces, or a blank space. Usually, the placeholder came from a different template category, contains a typo, or the event didn’t pass the required context. Open the notification screen where the message is saved and compare the available placeholders with its purpose. For WooCommerce, use tokens from the store notification list, not an example for standard registration.

Create a test order or event with obvious data, such as a short name and order number. If the placeholder still doesn’t resolve, remove it from the working message and send a clear, minimal version. Don’t write your own PHP hooks to add one placeholder unless you’ve confirmed that the built-in fields aren’t enough. To roll back, restore the last verified template without the questionable token.

A Scheduled Message Is Late

Symptom: The message didn’t go out when expected, even though the text and group are ready. Check whether scheduling is available in your configuration, whether the date and time were saved, which time zone the site uses, and whether WordPress tasks are running on the server. On a low-traffic site, the built-in scheduler may not run as promptly as it would with steady traffic. Add a queue and possible gateway limits, and it’s clear why important messages shouldn’t rely on a schedule for the first time without a test.

Start with a small test: schedule a message to your own number for a time soon and check the outbox after it’s due. If it’s delayed, don’t queue another bulk campaign. First check the time settings and server task runner, and contact your hosting administrator if needed. To roll back, send any important, approved message manually at a controlled time and pause scheduling for now.

The Form Broke After a Theme or Caching Change

Symptom: The form is visible, but the button doesn’t work, the styling is missing, or visitors see an outdated state. Check the page in a private window, clear only the cache for that page, and ask a technical specialist to check the browser console if needed. Then temporarily restore the form’s default styling if you turned it off, and test for a conflict on a staging page. Don’t clear all plugin data or delete subscribers because of a display issue.

If JavaScript optimization is enabled, exclude a specific script only after you’ve confirmed a conflict on a test copy. File names differ between builds, so don’t blindly copy an exclusion from someone else. To roll back, disable the latest CSS rule or optimization for the test, restore the default styles, and keep the form working until you’ve pinpointed the conflict.

Questions to Ask Before Launch

Is this an email newsletter plugin?

No. Its main documented use is SMS and related WordPress notifications. It can collect numbers through a form, manage groups, and send messages through an SMS gateway. For long, formatted emails, consider a dedicated email tool.

Do I need an external SMS provider?

Yes. The plugin connects to a supported gateway and uses its credentials, balance, and sender rules. Prepare your provider details before setup and test the connection with your own number.

Can I add a form without coding?

Yes. Use the editor block or widget. A shortcode is useful when you need to place the form in a specific part of a page or page-builder widget. Use programmatic output and the API only for a genuinely custom integration.

Why isn’t a subscriber active right after sign-up?

Check whether number verification is enabled. If it is, the person must complete the code step. Then check code delivery, number format, and group assignment.

Can I automatically add a WooCommerce customer to a marketing group?

Technical capability doesn’t replace separate consent. The number on an order can be used for service updates about that order. For marketing, the customer needs a separate, clear choice and must confirm it according to your project’s rules and applicable law.

Can one message go to several groups?

Bulk sending lets you choose recipients, but check for overlapping groups first. If a number belongs to two selected groups, the person may receive a duplicate. For your first campaign, it’s safer to use one test group and one number of your own.

How important is number format?

It’s critical. An incorrect country code, extra spaces, an outdated import, or a local format can prevent delivery. Normalize a small test sample, check it against the gateway’s requirements, and don’t change the full list without a backup.

What if the interface or menu names have changed?

Match sections by purpose: gateway, sending, subscribers, groups, Newsletter, and outbox. The original CodeCanyon version and current WSMS may use different names or locations for some items. Don’t enable an unfamiliar option just because its name resembles one in an older guide.

When CodeCanyon Newsletters Is a Good Choice

This tool makes sense when WordPress needs to be the place where your team collects voluntary SMS sign-ups, assigns clear groups, sends short campaigns, and connects notifications to real site or WooCommerce events. Its strength isn’t the number of checkboxes; it’s the clear sequence: a form or event creates an input, a group defines the audience, the gateway sends the request, and the outbox gives you a way to check what happened.

Start with one use case and one test number. If you can explain where every number came from, show the consent text, find the correct group assignment, receive a test message, and locate it in the outbox, you have a solid basis for expanding safely. After those checks, you can download CodeCanyon Newsletters, install it through WordPress, and repeat this short workflow on your own site before moving on to bulk messaging.

By OceanTheme.org Editorial Team

 

You are not logged in to post comments.