One-time campaigns
Updated August 24, 2026
A one-time campaign is a single scheduled send: a promotion, an announcement, or a coupon drop that goes out once at a time you choose. Each campaign targets one outbound channel and, optionally, one or more contact segments. Leave the segment empty and the campaign reaches every contact in the account.
Before you start
- Your plan must include campaigns. Without it, the Campaigns area shows an upgrade screen instead of the campaign list.
- Create campaign, editing and deleting need the
campaigns:fullpermission tier (or account ownership).campaigns:restrictedgives you read-only access to the list and to campaign details.- You need at least one connected outbound channel — SMS, Email, WhatsApp Business or WhatsApp (Beta). See Channels.
- Contacts must carry the address the channel needs: a phone number for SMS and both WhatsApp channels, an email address for Email. See Managing contacts.
- Email campaigns require an email design from the Template library. WhatsApp Business campaigns require an approved WhatsApp template from the same library.
- Coupon campaigns require a coupon whose status is Active. See Creating and sharing coupons.
Where to find it
Campaigns → One-time, or go to https://app.pluspoint.io/campaigns/one-time.
Create a one-time campaign
- Select Create campaign.
- Enter a Title. This identifies the campaign in the list; contacts never see it.
- Choose a Channel. Only outgoing, connected channels are listed. With the
settings:fullpermission tier, the list ends with a Create new channel row. - Set the Scheduled time. The earliest value you can pick is now.
- Choose the Segment (optional). Pick several segments and the campaign includes any contact who matches any of them.
- Pick the content type: Message or Coupon. Coupon only appears if you have access to the Coupons module. Switching between the two clears any template or coupon you already chose.
- Fill in the content. What you see here depends on the channel — see Content by channel below.
- On WhatsApp (Beta) only, switch on Add image if you want a picture above the message, then upload it.
- Select Schedule campaign.
Note Segments cannot be created from inside the campaign form. Create them on a contact record or in Segments first.
Content by channel
| Channel | What you provide | Length and format rules |
|---|---|---|
| SMS | A Message body | No length limit is enforced |
| WhatsApp (Beta) | A Message body, plus an optional image | Up to 1024 characters. Images: JPG or PNG, up to 5 MB |
| An Email design picked from the Template library | Subject and preheader come from the template | |
| WhatsApp Business | A Template picked from the Template library | No free text is possible on this channel |
The Email design picker’s Create new card opens the email builder inline. The picker filters what it shows:
- Starter example templates are excluded.
- Archived templates are excluded, unless one is already selected on this campaign.
- The template’s link capability must match the content type. A Message campaign can only use a template without a dynamic-link button. A Coupon campaign can only use one with a coupon link button.
WhatsApp Business
The Template dropdown offers a template only when all of this is true:
- it sits on the WhatsApp channel;
- its status is Approved;
- it is not archived;
- its variables are fully mapped;
- it is connected;
- it belongs to the same WhatsApp Business account as the channel you selected.
Templates whose link capability does not match the content type cannot be selected.
Changing the Channel clears the selected WhatsApp template, so pick the channel first.
Who is actually included in the send
The Selected contacts count and the send itself use the same rules. A contact is included when they:
- belong to the account and are not unsubscribed;
- match at least one selected segment — or are any contact at all, when no segment is selected;
- have the address the channel needs: a phone number for SMS and WhatsApp (Beta), a non-empty email address for Email.
Note On WhatsApp Business the preview count ignores whether the contact has a phone number. It can therefore be higher than the number of contacts you can actually reach. Check phone coverage in Contacts before you judge the audience size.
You cannot save a campaign whose count is zero.
On WhatsApp (Beta), a count above 49 raises an advisory to keep the campaign under 50 contacts and minimise the risk of being blocked by WhatsApp. It does not block the send.
How contacts opt out
Unsubscribing is a single account-wide flag on the contact record. Once it is set, that contact is left out of audience counts, skipped by every campaign send, and never enrolled in an automation. An automation enrollment already in flight exits at its next send step.
Contacts can set it themselves in two ways:
| Channel | How they opt out |
|---|---|
| The Unsubscribe link in the automatic footer of every campaign email. The link is unique per recipient, does not expire, and the page it opens also lets them subscribe again | |
| SMS | Replying with a message whose whole text is exactly EXIT, CANCEL, OFF, STOP, STOPALL, UNSUBSCRIBE, END, QUIT or UNREGISTER, in capitals. START, YES and UNSTOP re-subscribe them. Only inbound SMS is scanned for these keywords — replies on WhatsApp are not |
Note The flag is all or nothing. There is no per-channel opt-out — a contact who unsubscribes from email stops receiving SMS campaigns too — and no separate suppression list.
Send a coupon
- Select Coupon as the content type.
- Choose the coupon in the Coupon field. Only coupon templates whose status is Active are listed.
- Provide the channel’s content as usual.
How the coupon reaches the customer depends on the channel:
| Channel | How the coupon link is delivered |
|---|---|
| SMS | A unique coupon URL is appended to the end of your message text |
| WhatsApp (Beta) | A unique coupon URL is appended to the end of your message text |
| The link fills the coupon-link button in the selected email template | |
| WhatsApp Business | The link fills the template’s dynamic URL button |
You never paste the link yourself. On Email and WhatsApp Business, the template must already contain a coupon-link button, or the campaign will not save.
Personalisation variables
Insert these through the Dynamic variables toolbar button. They render as chips in the editor and are stored as [token].
| Token | Menu label | Filled from |
|---|---|---|
[name] | First name | Contact |
[last_name] | Last name | Contact |
[location] | Location name | Location |
[brand] | Brand | Location |
[geomodifier] | Geomodifier | Location |
[primary_phone] | Primary phone | Location |
[email] | Location | |
[website] | Website | Location |
[address_line_1] | Address line 1 | Location |
[address_line_2] | Address line 2 | Location |
[city] | City | Location |
[state] | State | Location |
[postal_code] | Postal code | Location |
[country] | Country | Location |
Fallbacks are supported: [name|there] renders there when the contact has no first name. Type the fallback manually, since the menu inserts the bare token. Never use [, ] or | inside the fallback text.
Pluspoint resolves the location that fills the location tokens for you. It tries, in order: the coupon’s own location, that coupon’s brand default location, the location on the campaign item, the contact’s lowest-numbered location, then the account’s lowest-numbered location.
Follow a campaign in the list
| Status | Meaning |
|---|---|
| Scheduled | Waiting for its send time. Still fully editable |
| In progress | Pluspoint is working through the recipient list |
| Completed | Every recipient has been sent to or skipped |
| Canceled | The campaign is cancelled and sends nothing further |
| Failed | Something interrupted the send. Open the campaign, fix the cause, then select Save changes to resume |
The progress counter reads (sent + skipped) / total.
Every successful send also writes a Message sent via {{channel}} entry on that contact’s Activity timeline.
Note There is no per-recipient result table, no open or click tracking, and one-time campaigns do not appear in any analytics dashboard.
Edit, stop or delete a campaign
| Action | Available when |
|---|---|
| Edit | The campaign is Scheduled or Failed, you have write access, and its channel still exists. Account owners and users with settings:full keep the action even when the channel is gone |
| Delete | The campaign is Scheduled, In progress or Failed, under the same write rules |
To stop a campaign that has not finished, delete it. A completed campaign is never removed — its row stays in the list.
Recover a failed campaign
Open the failed campaign and select Save changes. Saving clears the failure, returns the campaign to Scheduled, and regenerates only the recipients that never received anything. Contacts already sent to, or already skipped, are preserved and are never messaged twice.
How sends are paced
- On SMS and Email, recipients are spaced 30 seconds apart starting at the scheduled time.
- On WhatsApp (Beta), spacing is randomised between 30 and 60 seconds, and every 200 messages the schedule rolls over to the next day.
- A campaign starts within a couple of minutes of its scheduled time rather than exactly on it.
- If a contact has unsubscribed, or their address turns out to be unreachable, that recipient is skipped and progress still advances.
- If the WhatsApp (Beta) daily limit is reached, the remaining items move forward by one day and are retried then.
- Any other send error marks the whole campaign Failed and stops it. That includes the channel dropping out of a ready state, the WhatsApp template becoming unusable, or the coupon no longer being Active.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| Create campaign is missing | You have campaigns:restricted, which is view-only | Ask an admin to raise your Campaigns tier to full. See Users and permissions |
| ”Campaigns are not included in your current plan” when saving | The plan lacks campaigns, or the account is over its locations or users quota | Check the plan and the quota in Billing and plans |
| ”There are no contacts in the selected segment” | Everyone in the segment is unsubscribed or lacks the address this channel needs | Widen the segment, clear it to target everyone, or fill in the missing phone numbers and emails |
| Selected contacts is far lower than the segment size | Unsubscribed contacts, and contacts missing the channel’s address, are excluded from the count | Complete the contact records, or send on a channel your contacts have an address for |
| ”You can’t send messages to this channel because it isn’t connected.” | The channel left its connected state | Reconnect it in Settings → Channels, then re-save the campaign |
| ”You cannot edit campaign” | The campaign is running or already completed | Delete it and create a new one |
| ”Only approved WhatsApp templates can be used in campaigns.” | The template is a draft, in review, rejected, paused or disabled | Wait for Meta approval, or pick an approved template |
| ”This WhatsApp template is currently unavailable — it may be paused, disabled or missing required settings.” | Meta paused or disabled the template, or its setup is incomplete | Check its status chip in the Library, finish its setup, or pick another template |
| ”The WhatsApp Business account for this template is disconnected.” | The WhatsApp Business account behind the template lost its connection | Reconnect it. See WhatsApp Business |
| Deleting a channel is refused with “Cannot proceed: {{amount}} active campaign(s) in progress” | Scheduled or running campaigns still use that channel | Delete those campaigns, or let them finish, then retry |
| Several campaigns turn Failed at once | The account lost its campaigns entitlement, which fails every scheduled and running campaign | Restore the plan, then open each campaign and select Save changes |