Text messages are one of the cheapest and most powerful ways to bring customers back to your shop. With Arova's campaign tools, you can send a message to one customer, a hundred customers, or your entire list — all from your dashboard. In this guide, we will walk through every feature on the Campaigns page so you know exactly how to use it.
---
The Campaigns Dashboard
Log in to your dashboard and click Campaigns under operations. At the top of the page you will see three small cards:- Provider: Shows which SMS provider is active (Arova Managed or your own Arkesel account). You can change this in Settings → Messaging.
- Sender ID: The name customers see when they receive your text. By default this is "Arova" but you can set it to your business name.
- Quota: How many SMS segments you have left this month. When this number reaches zero, you need to wait for the next billing cycle or switch to your own Arkesel provider.
---
1. Building Your Audience
The Audience Builder is the table on the left side. This is where you choose who receives your message.
Audience Type
At the top of the table, you will see a dropdown called Audience Type. There are three options:1. Manual Audience (default): You see all your customers and choose them by hand.
2. Loyalty Campaign: Load customers who match the rules in one of your loyalty campaigns. If you select a campaign, a second dropdown appears asking you to choose 'Any matching rule' or pick a specific rule.
3. Loyalty Rule: Load customers who match a single loyalty rule directly.
When you load a campaign or rule audience, the system automatically applies smart filters based on the rule's conditions (like minimum visits, lifetime spend, or tier). You will see blue info chips appear above the table explaining which conditions were applied.
Searching Customers
Use the search box to find customers by name or phone number. You can type a partial name or a phone number (with or without the + country code).Filtering and Sorting
Click the Filter / Sort button to open the advanced query builder. Here you can stack multiple filters to find exactly the right customers. The available filters are:- Connection: Filter by whether the customer has linked their Arova consumer app ("App Connected") or not.
- Marketing Consent: Filter for "Marketable" (customers who agreed to receive texts) or "Not Marketable".
- Tier: Filter by loyalty tier — choose a specific tier like Gold, Silver, or "No Tier".
- Points Balance: Filter customers whose points balance is at least or at most a number you choose.
- Lifetime Spend: Filter customers whose total spend is at least or at most a certain amount.
- Transaction Count: Filter by how many visits a customer has made.
- Max Transaction: Filter by the largest single purchase a customer has ever made.
- Last Visit: Filter by when the customer last visited — before or after a specific date. Great for re-engaging inactive customers!
- Birth Date: Filter by whether a birth date is recorded, or before/after a specific date. Useful for birthday campaigns.
- Created: Filter by when the customer was first registered.
- Status: Filter by Active, Archived, or All customers.
- Enrolled Branch: Filter by the branch where the customer was first registered.
Selecting Customers
Each row in the table has a checkbox. Check the box next to each customer you want to message. Use the checkbox in the header to select or deselect all visible customers at once.The table shows useful details for each customer:
- Name and whether they have the Arova App connected
- Phone number
- Tier (if loyalty tiers are set up)
- Total spend and visit count
- Marketing consent (Yes/No)
- Last visit date
Exporting to CSV
Click the Export CSV button next to the Filter button to download your current customer list as a spreadsheet file. This is handy if you want to keep a record or use the data elsewhere.
---
2. Writing Your Message
The Compose SMS panel is on the right side of the screen. This is where you write the text message.Using a Saved Template
If you have created SMS templates in Settings → Messaging, you will see them in the Template dropdown. Select a template to use its pre-written message. This is the fastest way to send a campaign because you do not have to type anything.Writing a Custom Message
Select "Custom message" in the template dropdown (or leave it blank), then type your message in the text box.Inserting Variables
Below the text box, you will see a variable picker with clickable buttons. Click a variable to insert it into your message at the cursor position. When the text is sent, each variable is replaced with the customer's real information.Here are all the available variable groups:
Customer variables:
- `<%customer_display_name%>` — the customer's full name
- `<%customer_first_name%>` — the customer's first name only
- `<%customer_phone%>` — the customer's phone number
Merchant variables:
- `<%merchant_name%>` — your business name
Rewards & Loyalty variables:
- `<%current_tier%>` — the customer's current loyalty tier (e.g., "Gold")
- `<%points_balance%>` — how many points the customer has right now
- `<%lifetime_spend%>` — the customer's total spending across all visits
- `<%last_visit_date%>` — the date of the customer's most recent visit
- `<%campaign_name%>` — the loyalty campaign name (if you loaded from a campaign source)
- `<%rule_name%>` — the loyalty rule name (if you loaded from a rule source)
- `<%reward_summary%>` — a short description of the reward (e.g., "+10 bonus pts, 2x multiplier")
Birthday variables:
- `<%birth_date%>` — the customer's recorded birth date
Custom Fields:
If you have added custom customer fields (like "Favourite Drink" or "Membership ID"), those will also appear as variables. They use the format `<%custom_fieldname%>`.
After inserting variables, the Variables Used counter at the bottom updates to show which variables are in your message.
Example Message
Here is a sample message using variables:```
Hi <%customer_first_name%>! You have <%points_balance%> points at <%merchant_name%>. Visit us this week and earn double! 🎉
```
When sent to a customer named Ama with 150 points at Kofi's Bakery, the message becomes:
```
Hi Ama! You have 150 points at Kofi's Bakery. Visit us this week and earn double! 🎉
```
---
3. Sending Your Campaign
Below the message composer, you will see two counters:- Selection: How many customers are checked (selected).
- Filtered Audience: The total number of customers matching your current filters.
- Send to Selected: Sends the message only to the customers you ticked with checkboxes. Use this for small, targeted sends.
- Send to All Filtered: Ignores the checkboxes and sends to every customer who matches your current filters and search. Use this for bulk campaigns.
After clicking send, you will see a green success message: "SMS campaign queued for processing." The messages are sent in the background so you can keep working.
---
4. Tracking Your Campaign Results
Scroll down on the Campaigns page to find the Recent Runs section. This shows your last 20 campaigns.Each run shows:
- Template or Custom SMS label
- Date and time it was sent
- Selection mode (Selected, Filtered, or Single)
- Who sent it (name and role)
- Delivery counts: Queued, Sent, Delivered, Failed, Skipped
Run Detail
Click on any run to see the full Run Detail view. This shows:
- Provider used (Arova Managed or Custom Arkesel)
- Sender ID that was used
- Estimated Segments and Actual Segments (longer messages use more segments)
- Who sent it (name, role, and email)
Below the summary, you get a table of every recipient showing:
- Customer name and phone number
- Delivery status (Queued, Sent, Delivered, Failed, or Skipped)
- Provider status code and message ID
- Error message (if something went wrong)
You can also click Raw Recipient Feed to get a JSON view of the delivery data.
---