arkesel.com https://arkesel.com Thu, 01 Oct 2026 14:48:12 +0000 en-US hourly 1 https://wordpress.org/?v=7.0.7 https://arkesel.com/wp-content/uploads/2023/12/arkesel_favicon.png arkesel.com https://arkesel.com 32 32 USSD Application Testing: Load Tests and the Tools to Use https://arkesel.com/ussd-application-testing/ Thu, 01 Oct 2026 13:50:17 +0000 https://arkesel.com/ussd-application-testing/ USSD application testing for Ghana: check every menu path on MTN, Telecel and AirtelTigo, then load test your callback endpoint before customers dial in.

The post USSD Application Testing: Load Tests and the Tools to Use appeared first on arkesel.com.

]]>
USSD application testing has two parts, and you need both before customers in Ghana start dialling your code. A functional check on real handsets shows that every menu path does what it should. USSD load testing shows that your server keeps replying quickly when many people dial at once, for example on salary day or the morning a promotion launches.

Work in this order: your own machine first, with plenty of realistic dummy data, then a staging server set up like production, watching the measures that tell you whether you are ready. This guide assumes your menu is already built and connected to Arkesel. If you are not there yet, start with our guide to build your USSD application, and for the business case behind the channel, see how businesses use USSD for interactive customer experiences.

Why should you load test a USSD application?

On USSD, your customer waits on your server at every step, inside a session with a fixed lifetime. If your server slows down when traffic rises, customers feel it on every screen, and some sessions may not finish.

Each step of a session works like this. Arkesel’s USSD API documentation says Arkesel sends every request to your endpoint URL by HTTP POST with JSON data, and expects your response in JSON. As the Arkesel USSD API page puts it, your server receives a POST request for each user interaction and responds with the next menu or a final message. The customer sees nothing new until your reply arrives.

How long does a USSD session stay open on Arkesel?

According to Arkesel, a USSD session stays open for 150 to 180 seconds, so that window is the session timeout your menu works within. The customer’s reading and typing and every one of your server’s replies must fit inside that window.

Arkesel’s documentation does not say what happens when your server slows down, but the way each step works makes the risk clear. A server that answers instantly for a handful of testers can slow down when hundreds of customers dial in the same few minutes. Each slow reply uses time the customer also needs for reading and typing, so a menu with several steps and slow replies can run out of time before the customer finishes. The customer may then dial again, adding to the load that caused the problem.

Busy moments such as salary day or a promotion launch can be planned for, so test for them before they arrive. Set your own limit for reply time from the baseline you measure locally (covered below), and aim for every reply to come back well inside the session window.

USSD request chain from the customer's handset through MTN, Telecel or AirtelTigo and Arkesel to your callback endpoint. Arkesel sends six JSON fields: sessionID, userID, newSession, msisdn, userData and network. Your reply returns all five fields every time: sessionID, userID and msisdn echoed exactly, message, and continueSession, where true waits for the next input and false ends the session. A session stays open for 150 to 180 seconds, according to Arkesel.

Start with a quick check on real handsets

Before you apply any load, confirm the menu works on the phones your customers use. Arkesel lets developers start on a shared USSD short code for testing and move to a dedicated code for production, so you can dial your menu from ordinary handsets before launch. Arkesel’s USSD service runs on MTN, Telecel and AirtelTigo in Ghana, so test with a SIM on each network.

On each network, walk every menu path, including wrong inputs and the back option. For screen length and wording, our USSD menu design best practices cover what to check. Then check the replies your server logged. Arkesel’s documentation requires your response body to contain all of the documented response elements: every request in one session carries the same sessionID, and your response must return sessionID, userID and msisdn exactly as received, with a mandatory message field.

The shared test code is for these manual checks only. Point load tests at your own endpoint or a staging copy of it, and never at the shared test code, Arkesel’s gateway or the mobile networks.

Which tools can you use to load test a USSD application?

Because the callback is ordinary JSON sent by HTTP POST, general web testing tools can exercise it. Choose one tool for each job: a load generator, a way to replay requests, a fake-data library and monitoring.

Tool Job How it fits a USSD callback What it reports
Grafana k6 Load generator An open-source performance testing tool designed for running high-load tests such as spike, stress and soak tests, which matches the busy-day and promotion-launch tests below An end-of-test summary that includes the median, p(90) and p(95) by default (p95 is the response time that 95% of requests come in under; p90 and p99 are the same for 90% and 99%); thresholds give pass or fail results
Apache JMeter Load generator Open-source Java software designed to load test functional behaviour and measure performance, and it can simulate heavy load on a server Measurements of your server’s performance under that load
Locust Load generator Tests are written in regular Python code, which suits teams whose backend is already in Python Throughput, response times and errors, viewable in real time
Postman Collection Runner Request replay and light performance runs Sends a collection’s requests in the order you choose and can pass data between them, so a saved menu path replays step by step Test results for each request; performance runs show virtual users, requests per second, average response time and error rate
curl Single-request replay Posts data exactly as specified, with extra headers, so you can send one JSON request to your own endpoint Your server’s reply to that request
Faker (Python) and Faker.js Fake data Generate large volumes of fake users and records for local and staging databases Not a measurement tool
Prometheus with Grafana Server monitoring Collects your server’s metrics while the test runs, so you can line them up against the load Metrics stored as time series, which Grafana can chart

If you already use Postman, the Collection Runner can be used to test API performance with the same requests and environments used for functional tests, which makes it a practical first performance run. For the average-load and spike tests below, use a load generator, and choose by how your team works: Locust tests are written in Python, JMeter is a Java application, and k6 is designed for high-load tests such as spikes.

Whichever tool you pick, make the replayed requests match what Arkesel sends. Arkesel opens a USSD session by sending a request with newSession set to true; your response sets continueSession to true to keep the session open or false to close it. A replayed menu path should follow the same pattern, with one sessionID across all of its steps.

USSD load testing tools by job, around your local or staging endpoint: a load generator such as k6, Apache JMeter or Locust; request replay with Postman Collection Runner or curl; fake data from Faker (Python) or Faker.js; and server monitoring with Prometheus and Grafana

How do you test a USSD application locally with realistic data?

Run your first tests on your own machine, against a database filled with realistic fake data. A near-empty database can make lookups look faster than they will be once months of customers, sessions and transactions have built up, so test at the size you expect to reach rather than the size you have today. Work in this order:

  1. Decide the load you are planning for. Grafana’s k6 guide on average-load testing says the expected load should come from production analytics, or from business estimates when those tools are not available. For a new service, that means your estimate of how many customers will dial at your busiest moment. Size every later test from that peak.
  2. On a local or staging copy only, seed the database with fake data. Never do this on production. Before you clear or reseed any database, take a copy of it, then load the fake data. Use a library such as Faker or Faker.js to generate users, accounts, past sessions and transactions at the volume you expect after several months. Use generated phone numbers only, never real customer numbers.
  3. Vary the request data. Each Arkesel USSD request carries the user’s mobile number (msisdn), what the user typed (userData), the mobile network the request came from (network) and a newSession flag. Spread test requests across many fake numbers and all three networks, so the test reflects many customers rather than one number dialling repeatedly.
  4. Check one request, start monitoring, then run a smoke test. Send one JSON request to your local endpoint with curl and confirm the reply carries the required fields. Start collecting your server’s metrics, for example with Prometheus, before any load begins, so every run has numbers to compare. A smoke test applies minimal load to verify the system works and to gather baseline performance values. Note the response times you see. This baseline is where you set your own reply-time limit.
  5. Ramp the load slowly. The same k6 guide advises first-time load testers to start small or ramp up slowly, warning that applications and staging environments can crash quickly under a load test. Raise the load in steps towards your expected peak and watch the measures described below at each step.

Local results expose problems in your own code and queries. They say much less about your production server settings, which is what staging is for.

Why test in a staging environment before going live?

Your local machine differs from production in hardware, settings and network setup. Our reasoning is that a staging copy that mirrors production reveals the limits that sit in configuration, such as database connection limits or web server worker settings, because they only appear when the configuration matches.

Set staging up to match production as closely as you can:

  • the same server size and operating system
  • the same web server and database settings, including connection limits
  • the same network path in front of the application, such as a load balancer or proxy
  • the same volume of seeded fake data you used locally, loaded the same way: take a copy first, and only on the staging database

Then repeat the sequence. Grafana’s k6 testing guide recommends starting with smoke tests before moving to higher loads and longer durations, and distinguishes average-load tests (expected normal conditions) from spike tests (sudden, short, massive increases in activity). An average-load test shows how you handle a normal busy day. A spike test shows what happens in the first minutes of a promotion or on salary-day morning.

Order of USSD application testing: real handsets on MTN, Telecel and AirtelTigo using the shared test code, then your own machine with realistic fake data and a smoke-test baseline, then a staging server set up like production, then the go-live decision at your expected peak. Point load tests only at your own endpoint or a staging copy, never at the shared test code, Arkesel's gateway or the mobile networks.

What should you monitor during a USSD load test?

Watch the four golden signals that Google’s Site Reliability Engineering book names for a user-facing system: latency, traffic, errors and saturation. For a USSD service, they translate into these measures.

What to watch Why it matters for USSD What a not-ready result looks like
Response time per request, including p95 and p99 Every reply uses part of the session window, and one customer passes through several replies in a session The slowest replies keep climbing as load rises, or exceed the limit you set from your baseline
Errors, including success replies with the wrong content A reply that returns a 200 status but leaves out a required field, or returns a different sessionID, still fails the customer Errors appear or grow as load rises
Timeouts A request your load tool gave up on is a screen the customer never received Any timeouts at or below your expected peak
Traffic Confirms the test actually reached the load you planned The test cannot reach your planned request rate
Saturation: CPU, memory, database connections Shows which resource will run out first A resource sits at its limit while load is still rising

Watch the tail as well as the average. Google’s SRE book offers an illustration rather than a measurement: a web service averaging 100 ms at 1,000 requests per second might easily see 1% of requests take 5 seconds. On USSD, each customer makes several requests per session, so a small share of slow replies can touch a larger share of customers. The book also says rising latency is often a leading indicator of saturation, and that the 99th percentile response time over a short window can give a very early signal of it.

The same book counts as errors requests that fail explicitly, such as HTTP 500s, and requests that fail implicitly, such as an HTTP 200 response with the wrong content, so have your test check each reply body for the required fields. It also defines saturation as how full the service is in its most constrained resources, so watch the resources yours depends on, such as CPU, memory and database connections.

If you use k6, its end-of-test summary shows trend statistics including the median, p(90) and p(95) by default, set by the summaryTrendStats option, which you can change to add p(99). k6 thresholds are pass/fail criteria on test metrics such as error rate or response time, so set them from your own baseline and a run that misses them finishes with a failed status.

What result means a USSD application is not ready to go live?

Treat any of these at or below your expected peak as a reason to hold the launch:

  • the p95 or p99 response time keeps climbing as load increases
  • errors or timeouts appear, including 200 replies that are missing required fields
  • CPU, memory or database connections sit at their limit
  • replies stop coming back well inside the 150 to 180 second window, or go past the limit you set from your baseline

When you see one, find and fix the cause, such as a slow query, a connection limit or an undersized server, then rerun the same test so you compare like with like.

How to test a USSD application before going live: a checklist

  1. Every menu path works on handsets on MTN, Telecel and AirtelTigo using the shared test code, and every reply carries the required fields.
  2. Your expected peak comes from your own analytics or business estimates.
  3. Locally, you took a copy of the database before seeding, loaded realistic fake data, started monitoring, recorded a smoke-test baseline and ramped the load slowly.
  4. Staging matches production, holds the same data volume and has passed smoke, average-load and spike tests.
  5. None of the not-ready signs above appeared at your expected peak.

When the list is clear, you are ready to move from the shared test code to a dedicated code for your production service. Dedicated USSD codes in Ghana are assigned by the National Communications Authority (NCA), so allow time for that step; our guide to getting a USSD shortcode for your business in Ghana walks through it. Talk to Arkesel about a dedicated code, or read the Arkesel developer documentation for the full request and response format.

The post USSD Application Testing: Load Tests and the Tools to Use appeared first on arkesel.com.

]]>
Voice Surveys for NGOs in Ghana: Setup and Who They Miss https://arkesel.com/ivr-voice-surveys-ngos-ghana/ Thu, 01 Oct 2026 12:45:43 +0000 https://arkesel.com/ivr-voice-surveys-ngos-ghana/ Voice surveys for NGOs in Ghana: collect beneficiary feedback by phone in local languages, set up from your own list, and see who phone surveys still miss.

The post Voice Surveys for NGOs in Ghana: Setup and Who They Miss appeared first on arkesel.com.

]]>
If you run a programme in Ghana, you need to hear regularly from the people it serves, and many of them cannot fill in a written form, do not own a smartphone and live too far away to visit every month. Voice surveys for NGOs in Ghana address part of that problem. An automated call plays recorded questions in the respondent’s own language, and they answer by pressing keys on any mobile phone, including a feature phone with no internet. Because nothing has to be read, it suits beneficiaries with low literacy, though a phone survey will still miss some people, and field visits remain necessary for them.

How can an NGO in Ghana collect feedback from beneficiaries who cannot read?

Call them with an automated voice survey. Each question is spoken aloud in a language the beneficiary understands, and the answer is captured as a keypad press, so the respondent needs access to a phone and the ability to listen, not the ability to read. It works best for a short set of fixed-choice questions sent to people you have already registered. Use it alongside field visits rather than instead of them, because some of the people you most need to hear from are also the hardest to reach by phone.

What is an IVR survey, and when does it work for programme monitoring?

An IVR (interactive voice response) survey is an automated outbound call with no staff member on the line. The respondent hears a recorded question and presses 1, 2 or 3 to answer. Our guide on when voice surveys beat written ones covers the general case, including how voice compares with web and SMS forms.

For programme monitoring, an IVR survey suits the questions you ask repeatedly and that can be answered with a choice: whether an item arrived, whether a training session was attended, whether a service was used, and how satisfied the person was. It suits less well the questions where you need someone to explain a problem in their own words. Those still need a conversation.

What a national IVR survey in Ghana found

One national test of automated voice surveys in Ghana is described in a 2018 study published in PLOS ONE. Over a 27-day period in February and March 2017, researchers called randomly generated mobile numbers across the country and invited adults to take an IVR survey. The survey produced 9,469 completed interviews and 3,547 partial interviews.

It had a response rate of 31% and a cooperation rate of 81%. The response rate is measured across the whole sample, while the cooperation rate counts only the eligible adults who were actually reached. Read together, the two figures suggest that getting the call answered by an eligible person was the harder step, and that most people who did answer went on to finish.

The researchers also tested their design before the main survey. Opening with a brief greeting in Twi and then offering the choice of survey language in random rather than fixed order kept more people on the call. A shorter introduction kept more people listening than a longer one, and multiple-choice questions worked better than asking people to key in a specific number, such as their exact age. All three findings are worth building into your own survey.

Keep the study’s scope in mind when you use these figures. It surveyed the general adult population by dialling random numbers. It did not survey a programme’s own beneficiaries.

Who do phone surveys miss?

The same study found that the phone sample skewed away from the people who are hardest to reach. Younger, urban, better educated and male respondents were overrepresented, and fewer women, rural and older residents completed the survey than in household surveys.

If your programme serves rural women or older people, plan around that finding from the start. A voice survey that returns encouraging results may simply be reporting the views of the beneficiaries who were easiest to reach.

Your situation does differ from the study in one respect. The researchers dialled numbers at random, while you would be calling people you registered, who gave you their number and know your organisation’s name. Our reasoning is that this should narrow the gap, because the call is expected and comes from an organisation the beneficiary already deals with. The 2017 study did not test a registered list, so treat this as reasoning rather than a research finding. It also does nothing for someone who has no phone, or whose only access is a phone that belongs to another member of the household.

You can design the survey so that you see the gap rather than miss it:

  • At registration, ask each person which number reaches them directly and what time of day suits them, and record it alongside their sex, age group and community.
  • Record the questions in the languages your beneficiaries speak, not only in English.
  • After each round, compare who answered with who you registered, by sex, age group and community. Call the people who did not answer again at a different time of day before you count them as missed. Where a group’s response is still low, follow up with that group through visits or community meetings.

The comparison in the last step is what tells you whether the survey is hearing from everyone you serve, so build it into every round rather than doing it once.

Five steps of a voice survey round for beneficiary feedback: register each person's number, language and best time to call; record every question in every language; pilot then call; compare who answered with who you registered by sex, age group and community; follow up by re-calling or visiting groups with low response

Field visit, SMS or voice call: which fits?

Each method asks something different of the beneficiary and of your team.

Field visit SMS survey Voice survey
Who it can reach Anyone your staff can travel to, including people without phones People with a phone who can read the message in the language you write it in People with access to a phone, including feature phones, who can listen in a language you have recorded
What it asks of the respondent Being available when staff arrive Reading the question and typing a reply Listening and pressing keys
What it does poorly Frequent check-ins across a large, scattered caseload, because every round needs staff time and travel Reaching people who cannot read Reaching people without phone access, or capturing long explanations

You will usually get the clearest picture by combining them: voice calls for frequent, short check-ins, and field visits for the groups the calls under-reach and for questions that need a conversation.

What language should a voice survey in Ghana be recorded in?

Record it in the languages your beneficiaries speak, and let each person choose. If you record each person’s preferred language at registration, you will know which recordings you need before you start, whether that is Twi, Ewe, Dagbani, English or another language. A short language menu at the start of the call then lets each respondent pick, as in the 2017 study’s design.

VoiceConnect plays prompts in any language by playing a recorded audio file you upload for each prompt. The work is therefore in the recording: one clip per question, per language. Use a fluent speaker of each language, ideally someone who phrases the questions the way people in the community speak, and play each recording to a few beneficiaries before the full round to check that it is understood.

How to set up a beneficiary feedback survey by voice call

  1. Collect numbers and consent at registration. Tell people that you will call them, roughly how often and what about, and that taking part is voluntary. Record their preferred language and the best time to call.
  2. Write a short introduction and a short set of questions. The introduction should name your organisation, say what the call is for and tell the person they can stop at any time. Ask only as many questions as a respondent can answer in a few minutes, and keep each one to a single fixed choice, answered with one key press.
  3. Record every prompt in every language you need, as described above.
  4. Build the call flow. You can build it yourself in VoiceConnect’s visual IVR builder, or Arkesel’s team can set it up with you during onboarding. Either way, your team can change the flow later without a developer. Our guide to designing an IVR call flow covers how to structure menus and branches. While the flow is being built, ask the Arkesel team whether your plan gives you each respondent’s answers matched to their phone number, and in what form. The comparison in step 8 and the follow-up lists in the worked example below both depend on it, so get the answer before you call anyone. If the answer is no, agree with the team how you will see who answered before you run the pilot in step 7.
  5. Import your beneficiary list. VoiceConnect supports bulk import from a CSV or Excel file, with Do-Not-Call enforcement, so anyone who asks not to be called again can be kept off future rounds.
  6. Set calling hours. VoiceConnect enforces calling-hour and daily-limit rules on outbound calls. Set the calling hours around the times your beneficiaries told you they can talk. If those times fall into clear groups, such as mornings and evenings, import each group as its own list and run it as a separate round at the time that group gave you.
  7. Run a pilot round with a small group of beneficiaries, fix any question that confuses people, then call the full list.
  8. Compare who answered with who you registered. Set each respondent’s answers against your register and run the comparison described earlier.

VoiceConnect offers survey-only tiers that run automated surveys without live agents. Survey Lite runs surveys on a shared number, which suits a straightforward feedback campaign. Survey Plus adds a dedicated number, a branded outbound caller ID and more concurrent calls, which helps beneficiaries recognise your call when it arrives and lets a larger list be called faster. You can see how VoiceConnect handles surveys on the product page.

A worked example: checking that farm inputs arrived

The following is an illustrative example, not a real programme. Suppose a farmer-support programme in northern Ghana gives registered smallholder farmers seed and fertiliser before planting. The team wants to know, within a few weeks of distribution, whether the inputs reached each farmer and whether they were used.

At registration, field officers record each farmer’s own phone number, preferred language and best time to call. The survey is recorded in Dagbani and English and runs like this:

  1. A short greeting names the programme and offers the language choice.
  2. “Did you receive seed from the programme this season? Press 1 for yes, 2 for no.”
  3. If yes: “Did you receive the full amount you were told to expect? Press 1 for yes, 2 for no, 3 if you are not sure.”
  4. “Have you planted the seed yet? Press 1 for yes, 2 for not yet.”
  5. “Would you like a field officer to contact you? Press 1 for yes, 2 for no.”
Illustrative IVR call flow for checking that farm inputs arrived: greeting with Dagbani or English language choice, then key-press questions on receiving seed, receiving the full amount, planting and wanting a field officer, with answers routed to a distribution team list and a field officer list

The answers give the team two lists to act on. Farmers who said they received nothing, or less than expected, go to the distribution team for follow-up. Farmers who asked for contact go to the field officers. The team then compares respondents with the register by community and sex, and plans visits to any community where few farmers, or few women farmers, answered.

The same structure works for other programmes, such as a health programme checking whether a referral was attended, provided the questions can be answered with a key press.

Surveys and one-way messages are different jobs

Voice calls are also used to send information to beneficiaries rather than to collect it. In February 2024, the World Food Programme’s Ghana Country Office published a request for expressions of interest on the UN Global Marketplace for interactive voice response services, for beneficiary sensitization, information sharing and behaviour change communication. That notice describes outbound messaging, not surveys, and a procurement notice shows an intention to buy, not a completed contract.

If what you need is a one-way recorded message, such as a reminder about a distribution date, that is a separate product. Arkesel’s Voice SMS for one-way voice broadcasts delivers a recorded message as automated calls. VoiceConnect is the tool when you need answers back.

When to keep field visits

A voice survey is a poor fit, and a visit or a staffed conversation is the better choice, in these situations:

Four situations where an NGO should keep field visits instead of a voice survey: beneficiaries without reliable phone access, questions that need explaining, sensitive topics on a shared phone, and results to be reported externally
  • Beneficiaries without reliable phone access. Reach them through visits or community meetings, and count them when you report how many beneficiaries the survey covered.
  • Questions that need explanation. If you need to know why a borehole stopped working or why a family left a programme, a keypad answer will tell you that something went wrong but not what.
  • Sensitive topics. A maternal health programme asking about pregnancy, or any programme asking about violence or household money, has to consider who else might answer or overhear a shared phone. Those conversations belong in person, or with a trained staff member who can judge whether it is safe to continue.
  • Results you will report externally. Spot-check a sample of voice responses in person before you present them as findings.

Next step

If you run a programme in Ghana and want to test a voice survey on part of your beneficiary list, talk to the team about VoiceConnect‘s survey-only tiers and how setup works, and ask whether your plan gives you each respondent’s answers matched to their phone number. Arkesel is ISO 27001:2022 certified and registered with Ghana’s Data Protection Commission, which matters when you hold beneficiaries’ phone numbers. For plan details, see current pricing. VoiceConnect’s survey tools sit inside a full cloud contact centre platform, which our cloud contact centre guide explains if you later want staffed helplines or call routing as well.

The post Voice Surveys for NGOs in Ghana: Setup and Who They Miss appeared first on arkesel.com.

]]>
IVR Call Flow Design: A Step-by-Step Blueprint for Ghana https://arkesel.com/ivr-call-flow-design-ghana/ Mon, 21 Sep 2026 10:52:59 +0000 https://arkesel.com/ivr-call-flow-design-ghana/ IVR call flow design for Ghanaian businesses: rank the real call reasons, keep the menu short, copy a complete worked flow, and own every edit yourself.

The post IVR Call Flow Design: A Step-by-Step Blueprint for Ghana appeared first on arkesel.com.

]]>
Your phone menu is the part of your service most callers actually meet. Good IVR call flow design decides whether they press the right option and reach the right person, or give up and ring someone else.

Voice is not a fading channel here. Ghana counted 42.18 million mobile voice subscriptions at the end of Q3 2025, and total domestic mobile voice traffic reached 29.01 billion minutes in the same quarter, up 3.65% year-on-year from 27.99 billion minutes in Q3 2024, according to the National Communications Authority.

Most phone menus that frustrate callers are not broken systems. They are badly drawn flows, and this guide takes IVR call flow design one step at a time, from the sheet of paper to the live line.

What is an IVR call flow?

An IVR call flow is the map of every path a call can take, from the moment it connects to the moment it ends: what the caller hears, which keys they press, where each choice sends them, and what happens when nobody answers.

The IVR is the system. The call flow is the design you run on it. That distinction matters, because the fix for a menu customers hate is almost always a change to the flow rather than a change of platform.

If you want the mechanics underneath it first, our guide to how interactive voice response works covers them, and the call flow is one piece of a larger operation set out in our guide to running a cloud contact centre in Ghana. This article assumes you already have an IVR, or are about to get one, and need to decide what it does.

How do you map out an IVR call flow before building it?

IVR call flow design starts on paper, not in software, and setting up an IVR system goes faster when the drawing is already done. A call flow built from assumptions routes calls to the wrong team, so settle these four things first and the drawing itself takes twenty minutes.

  1. Your real call reasons, ranked. Not the categories on your website. The reasons people actually ring, in the order they ring about them.
  2. Who answers each one. A named team or person behind every branch. A branch with no owner is a dropped call waiting to happen.
  3. Your real opening hours. Including the half-days, the public holidays, and the lunch hour when one person covers three lines.
  4. What the caller does when nobody is free. Hold, leave a voicemail, request a callback, or get the answer from an automated option. Decide now, because leaving this branch undefined is what turns a missed call into a lost customer.

Write these on one sheet of paper. Everything below is built on them.

Step 1: Write down why people actually call

Pull the last two weeks of calls and group them by reason. If you have no call log, ask the three people who answer the phone most what they heard yesterday.

Rank the list by volume. Only the reasons at the top of it earn a place on the main menu. Everything further down belongs deeper in the flow, or on another channel entirely.

Now mark each reason with one of two labels: needs a person, or can be answered automatically. Balance enquiries, delivery status, opening hours and payment confirmations often sit in the second group, and moving them there takes weight off the queue straight away. Our guide to IVR self-service and reducing call volume covers which requests deflect cleanly.

Use the caller’s words in that list. “Where is my order” is a call reason. “Logistics enquiries” is an internal label, and a caller scanning the menu for it will press 0 instead.

Step 2: How many options belong on an IVR main menu?

Keep the main menu short. A handful of options, not a list the caller has to hold in their head while it plays. Someone who reaches the end of a long menu without hearing their reason will press whatever they remember, and the misrouted calls arrive on your team’s desk to prove it.

The order matters more than the count. IVR menu design comes down to two choices: what earns a place on the list, and what order the list plays in.

Put the highest-volume reason first, so the callers who want it never have to sit through the rest of the menu.

Two rules that save you trouble later:

  • Say the option before the key. “For account balances, press 1” lets the caller decide, then act. “Press 1 for account balances” makes them act, then reconsider.
  • Never read out an option the caller cannot use. If the accounts line is unstaffed on Fridays, the Friday menu does not offer it.

Keep the layers shallow as well as the list short. Count the key presses on the longest path through your flow, then compare that path with the worked example further down this page: if a common call reason sits deeper than that, it belongs higher up. Every extra level is another chance for someone paying for the call to give up before they arrive anywhere.

Step 3: How do you let a caller reach a person?

Build the route to a human before you build anything else. It is the branch every other branch falls back to.

  • One key, everywhere. Pick a single key (0 is a sensible choice) and make it reach a person from every menu and every submenu in the flow.
  • Say it out loud, early. Put the option in the first menu rather than only at the end. A caller who knows the way out exists will listen to the rest of the menu.
  • Catch silence and wrong keys. If someone presses nothing, or presses a key that does not exist, send them to a person after a second attempt rather than replaying the menu.

This is where the flow earns its trust. A menu that hides the way out teaches callers to press 0 the moment it starts, and you lose the self-service you built the menu for.

Step 4: Where does the call go once it is routed?

The menu choice is only half the decision. The other half is what your queue does with the call.

VoiceConnect gives you four queue routing strategies: Round Robin, Longest Idle, Skills-Based and Sticky Agent. Each one fits a different shape of team.

  • Round Robin sends calls to each agent in turn. Good for a team where everyone handles the same work.
  • Longest Idle sends the call to whoever has been free longest. Good for evening out load across a busy support desk.
  • Skills-Based matches the call to an agent’s skill, with proficiency levels for language, product and technical skill. Good when callers switch between English and a local language, or when one product needs specialist knowledge.
  • Sticky Agent returns the caller to the agent they spoke to last. Good for accounts, collections, and anything where repeating the whole story costs you the relationship.

Choose per queue, not per company. Sales and accounts rarely want the same behaviour.

Routing also decides what the agent sees when the call lands. If your flow captures an account number on the keypad, that value can travel with the call to the agent’s screen alongside the customer’s history — our guide to contact centre CRM integration covers how that connection is built.

Comparison of the four VoiceConnect queue routing strategies. Round Robin sends calls to each agent in turn and fits a team where everyone handles the same work. Longest Idle sends the call to whoever has been free longest and evens out load on a busy support desk. Skills-Based matches the call to an agent's skill, with levels for language and product, and fits callers who switch between languages. Sticky Agent returns the caller to the agent they spoke to last, which fits accounts and collections. A footer notes that an account number captured on the keypad can travel with the call to the agent's screen.

Step 5: What happens to calls that arrive after hours?

This branch is the easiest one to leave until last, and it is where callers quietly disappear. A line that rings out at 6pm teaches people not to ring you at all.

Decide three things:

  1. What the caller hears. A recorded message that states your hours and the next time someone is available beats a ring that never ends.
  2. What you offer instead. A voicemail box someone genuinely checks, a callback request, or an automated option that answers the common questions. Overflow inside working hours needs the same answer: the call nobody picks up at 11am is lost the same way as the one at 11pm.
  3. When you call back. Name a window the caller can hold you to. “Before noon tomorrow” is a promise; “as soon as possible” is not. Start with the next working morning, then tighten it once you know how long your callback list actually takes to clear.

Put the business-hours switch in the flow itself rather than in a reminder to your team, so it fires on the holiday everyone forgot about.

If your after-hours volume is heavy enough to be worth answering rather than recording, AI voice agents can take those calls and hand off to a person when the conversation needs one.

When your team works through the callbacks, the outbound rules sit in the platform rather than in somebody’s memory: the dialling prefix, the permitted calling hours, a daily limit and a monthly cap apply to every call that leaves the system. How quickly that list clears also depends on the dialling mode behind it, and our guide to progressive, predictive and preview dialling sets out which mode suits which team.

Step 6: Write the prompts your callers will actually hear

Read every prompt out loud before it goes live. A sentence that scans on paper often runs long in the ear.

  • Lead with the option, not the greeting. Your company name and one line of welcome are fine. A brand statement in front of the menu is not.
  • One idea per prompt. If a prompt contains “and”, check whether it is really two prompts.
  • Match the language to the caller. VoiceConnect plays IVR prompts in any language, and it does that by playing an audio file you record and upload for each prompt. So a menu can greet in English and branch into a Twi, Ga or Ewe path where that is how your callers speak — schedule the recording, because every prompt on every language branch is its own file.
  • Say numbers the way people say them. Read an account number back in groups rather than as one long string.

Then test what you wrote on a real handset. Ghana has three mobile network operators, AT, MTN and Telecel, according to the National Communications Authority’s Q3 2025 bulletin, and the only way to know how your prompts land is to ring your own line from a phone on each of them.

A complete IVR call flow example you can copy

Worked IVR call flow examples are easier to adapt than rules are to apply, because they show the order the decisions land in.

Here is a full flow for a business running three lines (sales, support and accounts) behind one published number. Read it as a sequence, swap the call reasons for your own, and draw it on the sheet from earlier. If that published number is still to be arranged, our guide to getting a toll-free number in Ghana covers the NCA process and what to expect.

The flow, step by step

Flowchart of a complete IVR call flow. The call connects to a greeting, then a business-hours check. Inside hours the caller reaches the main menu, arranged in volume order, which branches to order status (keypad entry, then the status read back), support (queue on Longest Idle, callback offered on hold), sales (queue on Sticky Agent, back to the same person) and accounts (queue on Skills-Based, matched on language). Outside hours a recorded message states the opening time and offers a callback, the caller leaves a number on the keypad, and the request lands on a callback list worked at the start of the next business day. A green lane across the diagram shows that no input, or a wrong key, at any point sends the caller to the general queue and then to a person rather than back to the menu. A closing bar reads: every branch ends in a person, a completed answer, or a callback booked, and no branch ends in a loop.
  1. Call connects. Greeting: company name, one line, no music.
  2. Business-hours check. Inside hours, continue to step 3. Outside hours, jump to step 9.
  3. Main menu. Four options in volume order: order or delivery status, support for an existing product, sales, accounts. The menu closes with “to speak to someone, press 0”.
  4. Option 1, order status. Prompt for the order number on the keypad, read the status back, then offer three things: repeat it, speak to someone, or end the call.
  5. Option 2, support. Route to the support queue on Longest Idle. The hold announcement gives the position in the queue and offers a callback instead of waiting.
  6. Option 3, sales. Route to the sales queue on Sticky Agent, so a returning prospect reaches the person who already knows the deal.
  7. Option 4, accounts. Route to the accounts queue on Skills-Based routing, matched on language.
  8. No input, wrong key, or 0 at any point. Route to the general queue. After two failed attempts anywhere in the flow, the call goes to a person rather than back to the menu.
  9. Outside hours. The message states the opening time and offers a callback request. The caller enters a number, the request lands in the callback list, and the team works it at the start of the next business day.
  10. Every branch ends the same way. A person, a completed self-service answer, or a callback booked. No branch ends in a loop.

That last line is the test. Walk your own flow and find the paths that end nowhere.

If you also want to know how the flow lands with customers, a short question at the end of the call catches them while the experience is still fresh — our guide to IVR voice surveys covers when that works and when it does not.

You now have a flow on paper. Building it is the next step, and VoiceConnect’s visual IVR builder is where a flow like this one gets assembled, one action at a time, without writing code.

Four ways call flows go wrong after launch

IVR call flow design does not end at launch, and the routine that keeps a flow honest starts with a copy of what is already there.

Before you change a live flow, note down what is live now — a screenshot of each menu and each prompt is enough to put it back. Then make one change, ring the line from a phone on each network, and walk every branch, including the wrong-key path.

That is the routine. These are the four things it catches.

  1. The hours change and the flow does not. A Christmas half-day, a new Saturday shift, a queue that moved teams. This is decay rather than bad design, and it is fixed by maintenance rather than by a redraw.
  2. A branch loses its owner. Someone leaves, the queue behind option 3 empties out, and those calls ring into a room with nobody in it.
  3. The menu grows. Every department asks for its own option and a short menu becomes a directory. Add a branch only by replacing one, or by pushing an older option down a level.
  4. Nobody has called the line in months. Flows are not tested by the people who built them. They are tested by customers, and customers do not file bug reports. They stop calling.

Set a recurring date for that walkthrough and tie it to something that already happens: the first week of each quarter, or the day your opening hours change.

Two-part diagram on keeping a live IVR call flow honest. Across the top, the safe edit routine in order: copy what is live by screenshotting each menu and prompt, make one change at a time, ring the line yourself from a phone on AT, MTN and Telecel, then walk every branch including the wrong-key path. Below it, four things that routine catches: the opening hours change and the flow does not; a branch loses its owner when someone leaves and calls ring into an empty room; the menu grows into a directory as every department asks for its own option; and nobody has called the line in months, because customers stop calling rather than reporting the fault.

Can you change an IVR call flow without a developer?

Yes, and that answer decides whether everything above survives contact with a real month.

A flow that needs a developer for every edit will not be updated for a half-day closure. It gets updated once a year, and your callers pay for the gap in between. Whoever owns customer service needs to own the call flow.

With VoiceConnect you can build it yourself. A visual drag-and-drop IVR builder with more than ten flow actions covers the pieces this guide has walked through: spoken prompts, from text you type or audio you upload, keypad input, business-hours branching, connections to your own systems, and call recording.

That is what a no-code IVR builder buys you. The flow is assembled on screen by the person who understands the calls.

If you would rather not start from a blank canvas, Arkesel’s team can set the flow up with you during onboarding. Either way the flow stays yours to edit, so the opening-hours change you make on Monday morning is live on Monday morning.

Arkesel supplies VoiceConnect numbers and the network connection in Ghana, so the flow you draw runs on the networks your callers are already using. Plans are set out on the pricing page.

If the same requests also reach you over USSD, that channel carries its own screen limits and conventions — our guide to USSD menu design covers those separately.

Related Articles

Start on paper, finish in the builder

A caller never sees your platform, your queue settings or your reporting. They hear a menu, which makes IVR call flow design the part of your contact centre that every customer experiences and nobody in your team ever hears.

Draw your flow this week on one sheet of paper, then build it. See how VoiceConnect’s visual IVR builder works, or talk to the team about setting up your first call flow.

The post IVR Call Flow Design: A Step-by-Step Blueprint for Ghana appeared first on arkesel.com.

]]>
How to Send Automated Birthday SMS to Your Customers https://arkesel.com/how-to-send-birthday-sms-to-your-contacts/ Wed, 02 Sep 2026 12:08:02 +0000 https://arkesel.com/how-to-send-birthday-sms-to-your-contacts/ How to send birthday SMS to customers automatically: the group setup, the 08:00 daily run, the six placeholders that work — and what happens to a seventh.

The post How to Send Automated Birthday SMS to Your Customers appeared first on arkesel.com.

]]>
Put a birth date on each contact, put those contacts in a contact group, tick Enable Birthday Messaging on that group and choose an SMS template. The platform then texts each of them on their birthday at 08:00, and nobody has to remember the date.

That is how to send birthday SMS to customers, start to finish. What catches people out is the next part: the message can carry the customer’s name, but only through six exact placeholders, and anything else you type between the delimiters vanishes from the text that goes out with no error to warn you.

What do you need to set this up?

Three things. One of them stops the setup dead if it is missing.

A contact group

Birthday messaging is switched on per group, not per contact and not account-wide. Put the customers you want to reach into one group — your whole customer list, or a narrower group if the messages are only for certain people.

A birth date on each contact record

Only contacts whose record holds a birth date are picked up. You can set it on the contact record itself, or supply it in the contact-list file when you import.

Do you need the customer’s birth year?

No. The birth year does not have to be right, or there at all. Recipients are matched on month and day only, and the stored birth year is ignored.

That makes the field easier to ask for: a customer who would rather not give you their birth year can still give you the day and the month.

If you do not hold birth dates yet, collect them where the customer is already giving you details — the loyalty card sign-up, the booking form, the warranty slip, the moment a new account is opened. Ask for the day and month only, and say what you will use it for.

You do not need the whole list before you switch this on. A group with a hundred birth dates in it starts sending tomorrow, and the rest fill in as customers come through.

An SMS template with a sender ID

This is the blocker. A template used for birthday messaging must have a sender ID set, or the platform rejects it with a validation error — so a group cannot be saved against a template that has none. If you have not set one up yet, our guide to sending SMS under your company name shows you how to register a sender ID first.

Plan for the wait. A sender ID goes through a review before it can be used, so start it well ahead of any date you want the first birthday messages to go out on.

How do you turn on automated birthday SMS?

Six steps, and the order matters — step 6 will not save without step 2.

  1. Add a birth date to each contact, either on the contact record or in the contact-list file you import.
  2. Create the SMS template you want sent, and set its sender ID.
  3. Put those contacts into a contact group, if they are not in one already.
  4. Open that group and edit it — the birthday settings live in the group’s edit window.
  5. Tick Enable Birthday Messaging.
  6. Pick your birthday template from the template picker, then save.

Six numbered steps to set up automated birthday SMS, from adding a birth date to picking the template, ending with the 08:00 daily run

From the next morning’s run onward, every contact in that group whose birth date falls on the day receives the template. That is the whole of it: automatic birthday text messages, running off the contact list you already keep.

Can the birthday message include the customer’s name?

Yes. The daily job renders your template once for each contact, so every recipient gets their own version rather than one shared message.

Which placeholders can you use in a birthday SMS?

You do that with placeholders: short tokens you type into the template body, wrapped in <% and %>. Exactly six are supported.

Placeholder What it puts into the message
<%First Name%> The contact’s first name
<%Last Name%> The contact’s last name
<%User Name%> The contact’s user name
<%Company%> The contact’s company
<%Phone Number%> The contact’s phone number
<%Email Address%> The contact’s email address

The six supported birthday SMS placeholders — First Name, Last Name, User Name, Company, Phone Number, Email Address — and a warning that anything else is replaced with an empty string

Copy them exactly as they appear above, spelling and spacing included.

A template written like this:

Happy birthday <%First Name%>! We hope the day treats you well.

goes out to one contact as Happy birthday Ama! We hope the day treats you well. and to the next as Happy birthday Kofi! We hope the day treats you well. You write the template once and the platform builds every version of it, contact by contact, at send time.

For a birthday text you will mostly want <%First Name%>. <%Phone Number%> and <%Email Address%> are rarely worth merging into a birthday message, since the customer already has both.

Birthday SMS personalisation stops at those six fields. Merging contact fields into a message is a wider idea than birthdays, and our guide to personalising bulk SMS covers segmenting your list and writing campaign templates. Before you write your first template, though, there is one behaviour worth knowing about, and it is the subject of the next section: an empty field has no default to fall back on.

What happens if you use a placeholder that isn’t supported?

It disappears, and nothing tells you.

Anything between <% and %> that is not one of the six is replaced with an empty string, and the delimiters are stripped along with it. A field name you assumed exists, a token you have used in another tool, a small misspelling of one of the six — all three are handled the same way.

The message still sends. It goes out with a hole where you expected a word, and there is no error, no warning and no failed-send notice to catch it. The first person who sees the gap is your customer, on their birthday.

A supported placeholder does the same thing when the contact’s field is blank. <%First Name%> on a record with no first name substitutes as nothing.

The platform has no fallback value for a placeholder. You cannot set a stand-in word that fills the gap when a field is empty, so never write a template that leans on one. Everything the message needs in order to make sense has to sit in the fixed text.

There is a way to see the delivered message before a customer does, and it follows from the two rules above. Because a contact is matched on month and day, and because every contact in an enabled group with a birth date is included, a test contact sitting in this group is treated exactly like a customer.

Pick a number that is not already a contact in this group. The group holds your customer list, so your own number may already be in there — if it is, write down the birth date currently on that record before you change anything, or run the test on a second number instead.

Now add that number to the group and set its birth date to tomorrow’s day and month, or today’s if it is still before 08:00. Either way the test lands on the next 08:00 run, and what arrives is exactly what your customers will receive: placeholders resolved, sender ID and all.

Read that message rather than the template. Then put things back: delete the contact if you added a new one, or restore the original birth date if you changed a record that was already there.

Birthday texts are one of several sends that run without anyone opening the dashboard. See how scheduled and automated sending works on Arkesel’s SMS Platform.

What should a business birthday message say?

Write the template so it reads correctly whether or not the name arrives. That rule has a specific shape: keep punctuation away from the placeholder, and never let the meaning of a sentence depend on it.

Here is the difference in practice. This template:

Happy birthday, <%First Name%>! Enjoy your day.

delivers as Happy birthday, Ama! Enjoy your day. to a contact with a first name, and as Happy birthday, ! Enjoy your day. to one without. The comma does the damage, and every contact with a half-finished record gets that second version.

Move the placeholder off the punctuation and the worst case is one extra space, which nobody notices.

For a salon

Happy birthday <%First Name%>! Everyone at Adepa Beauty Studio is thinking of you today. Come in any time this week and your next treatment is on us.

For a pharmacy

Happy birthday <%First Name%>. Wishing you a healthy year ahead, from all of us at Nsawam Community Pharmacy.

For a supplier or wholesaler

Happy birthday <%First Name%>. From everyone at Kwame Motors, thank you for another year of working together.

Three habits make these hold up.

  • Put the offer in the fixed text, never inside a placeholder, so the message still says something useful to a contact with a sparse record.
  • Keep it to one screen, because the fixed text is carrying the message and the merged name is only the greeting.
  • If you want <%Company%> in a trade template, check the field is filled across the whole group first — a blank company leaves the same gap a blank name does.

What time does the birthday message go out?

Once a day, at 08:00. The scheduled job picks up every contact group that has birthday messaging switched on and sends to whoever has a birthday that day. That single run is the whole of the automated birthday SMS schedule.

Four things follow from it.

  • Matching is on month and day, as above — the birth year never affects who gets a message.
  • Blacklisted numbers are filtered out before the send, so a customer who has opted out of your messages will not receive a birthday text from you.
  • Contacts with no birth date on file are skipped, so a part-filled group still works.
  • The message goes out on the birthday itself — there is no setting to send it a fixed number of days ahead.

When should you use the API instead?

A birthday is a date already sitting on a contact record, which is why the platform can act on it without you writing a line of code. A checkbox is enough.

Events inside your own systems work the other way round. A payment landing, a cart left behind, a new sign-up — the platform cannot see any of those, so your system has to fire them at it. Our guide to event-triggered SMS campaigns covers that side.

The two fit together neatly: dates on the contact go through the group, events in your system go through the API. For the wider picture, our guide to SMS marketing in Ghana shows where recurring messages like these sit alongside your campaigns.

Start with one group

One contact group, one template with a sender ID, one tick box — and your automated birthday SMS takes care of itself from the next morning’s run. The two things worth checking twice before you save are the sender ID and the placeholder spelling. Everything else is forgiving.

Birthday messages draw on the same SMS credit as any other send; see SMS credit pricing for current rates, and our comparison of bulk SMS providers in Ghana for how that sits against the rest of the market.

Related Articles

Ready to set yours up? Create a free Arkesel account, build your first birthday group and let the platform handle the dates.

The post How to Send Automated Birthday SMS to Your Customers appeared first on arkesel.com.

]]>
Call Centre Quality Monitoring in Ghana: A 2026 Guide https://arkesel.com/call-centre-quality-monitoring-ghana/ Tue, 25 Aug 2026 09:48:19 +0000 https://arkesel.com/call-centre-quality-monitoring-ghana/ Call centre quality monitoring in Ghana: supervise live calls, score every one, and see what the Data Protection Act asks before you switch recording on.

The post Call Centre Quality Monitoring in Ghana: A 2026 Guide appeared first on arkesel.com.

]]>
Call centre quality monitoring in Ghana is really two jobs: watching calls while they happen, and reviewing them after they end. If you run the floor, the first is squeezed between your own calls and the second happens rarely, so your picture of what customers experience comes from a handful of recordings. This guide covers both, and the part that decides whether you may do either: what Ghana’s Data Protection Act asks of you the moment you switch recording on.

What does call centre quality monitoring actually involve?

Two halves that do different work, and a call centre quality assurance programme needs both. Live supervision can change the outcome of the call in front of you; post-call review can change the next hundred calls.

Run one without the other and the blind spot is predictable. Live-only supervision catches today’s crisis and misses the script that fails every Tuesday; review-only writes an excellent report about a customer you already lost.

Live supervision Post-call review
When it happens While the call is in progress After the call ends
What it catches A call going wrong now, a queue backing up, an agent stuck Patterns across calls: repeated objections, a script that fails, a recurring compliance slip

Still choosing the platform underneath? Our cloud contact centre in Ghana guide covers that decision.

How can a supervisor watch live calls without disrupting them?

Start with the wallboard: every queue and every agent on one screen. Go into a call only when it tells you to.

VoiceConnect’s supervisor tools are silent listen, whisper coaching, barge-in, force-ready and a real-time wallboard. They are levels of intervention, and the order matters.

Silent listen puts you on the call as a listener only. Keep it as the default: it tells you how a call is really going before you decide.

Whisper coaching lets you speak to the agent mid-call. Use it for the correction that saves the call: the right refund policy, the forgotten question.

Barge-in joins you as a third voice. Use it rarely, and only for the call about to lose a customer or breach a commitment.

Force-ready returns an agent to the available state so the queue can route to them. Use it when someone sits in wrap-up while the queue climbs.

Escalate in that order and your team learns that a supervisor on the line is help, not inspection.

Four live supervision steps in escalating order: silent listen, whisper, barge-in and force-ready, each with a note on when a supervisor should use it.

Which numbers should a supervisor watch in real time?

Four, and they are all about the queue rather than the individual agent.

  • Queue depth. How many callers are waiting right now. Your earliest warning: it moves before wait time does.
  • Longest wait. How long the caller at the front has been holding. Queue depth is the size of the problem; longest wait is how angry the first person is.
  • Abandons. Callers who hung up before an agent answered. Each one is a customer with an unresolved problem.
  • Agent state mix. How your logged-in agents split across talking, wrap-up, ready and unavailable. Deep queue with zero ready means you need capacity; deep queue with half the floor in wrap-up means you need a different conversation.

Set thresholds from your own two weeks of data, not a figure you read somewhere: a five-agent desk and a forty-seat outbound campaign do not share a normal. Attach an action to each, because a number nobody acts on is decoration.

If the queue climbs because after-hours and overflow calls have nowhere to go, that is a routing problem, and AI voice agents and call bots handle it upstream.

How do you review every call instead of sampling a few?

Do the arithmetic on your own operation: divide last month’s calls by the number anyone actually sat down and listened to. That ratio is the sample your coaching programme rests on, and for many teams it is a small fraction of the queue.

Let the platform do the first pass on every call instead, and reserve human attention for what it flags. VoiceConnect’s AI post-call analysis produces a transcription, a sentiment reading, a quality score, a call summary and a suggested disposition. Call scoring means rating a finished call against consistent criteria, so two calls a week apart are measured the same way.

That changes the supervisor’s job. You stop hunting for calls worth listening to and start opening the ones the system surfaced: sentiment that fell off a cliff, a low score on the dimension you are coaching, a transcript mentioning a refund.

See how VoiceConnect handles live supervision and post-call analysis for contact centres in Ghana: VoiceConnect.

What does Ghana’s Data Protection Act require before you record calls?

Start with three, and the first one happens before you record anything: register with the Data Protection Commission, tell the caller what you are collecting and why, and keep the recording no longer than the purpose needs.

The full text of the Act does not use the words “call recording” anywhere, and it does not need to. A recording of a customer call is information about an identifiable person, which is what the Act means by personal data.

Read plainly, that puts a contact centre which records, transcribes and scores calls in the position of a data controller, and the duties below follow from that reading. This is a plain reading of the statute rather than legal advice, and the Data Protection Commission is the authority on how it applies to your operation.

Register before you process. Ghana’s Data Protection Act, 2012 (Act 843) requires a data controller that intends to process personal data to register with the Data Protection Commission. The Commission’s own registration guidance states that all entities involved in processing personal data are required to register with it, and lists data controllers, data processors, foreign companies processing personal data within Ghana, businesses and organizations, and public and private institutions among those that must complete registration. The Act names the data controller; the Commission’s list goes wider and names data processors too. A contact centre is inside it either way, whether you run it for your own customers or for someone else’s, and your registration is yours: a registered platform does not register you.

This is not a formality to pick up later. Under section 56 of the Act, a person who fails to register as a data controller but processes personal data commits an offence and is liable on summary conviction to a fine of not more than two hundred and fifty penalty units or a term of imprisonment of not more than two years or to both. Arkesel is registered with Ghana’s Data Protection Commission, and the advice would be the same either way: do this before you switch recording on, not after your first complaint.

Tell the caller. Section 27(2) lists nine matters, (a) to (i), that a data controller collecting personal data must make the data subject aware of. Three of them shape a recording announcement: the nature of the data being collected, the purpose for which the data is required, and the recipients of the data. In a contact centre those three go before the conversation starts: that the call is recorded, what you will use it for, and who else will have access.

“This call may be recorded for quality purposes” covers one of the nine. Write the wording once and use it at the top of every inbound flow and every outbound campaign.

Something in this shape carries those three: “This call is recorded and transcribed so we can check service quality and settle any dispute about what was agreed, and it is handled by us and by our contact centre provider.” Change the details to match your operation. Read section 27(2) in full before you sign it off: six further matters run from who is responsible for the collection to the caller’s right to see and correct what you hold.

The third duty, retention, has the next section to itself.

The Act does not require you to appoint anyone: section 58 says a data controller may appoint a certified and qualified data supervisor to act as a data protection supervisor. It does govern who is eligible: nobody may be appointed unless they satisfy the Commission’s criteria. The supervisor may be your own employee, so read those criteria before you name anyone.

The Commission’s compliance guidance does tell organisations to appoint a Data Protection Supervisor to oversee compliance internally, and to develop internal policies including privacy notices, consent forms and data protection impact assessments. One named person then owns the answer when a customer asks what you did with their recording.

Call recording duties under Ghana's Data Protection Act, as three numbered cards. One, register with the Data Protection Commission before you process, under section 27(1); processing without registering is a section 56 offence. Two, tell the caller: section 27(2) lists nine matters, (a) to (i), and three of them shape a recording announcement — the nature of the data being collected, the purpose for which the data is required, and the recipients of the data. Three, under section 24(1) keep the recording no longer than the purpose needs. A separate gold-dashed panel marked 'not one of the three' sets out section 58 in two halves. Above the divider, under a SECTION 58 chip: appointing is optional, because a controller may appoint a certified and qualified supervisor, but who qualifies is not optional, because no one qualifies unless they meet the Commission's criteria. Below the divider, under a gold Commission compliance guidance caption: Commission guidance recommends appointing one, and internal policies in writing.

How long can you keep call recordings in Ghana?

As long as the purpose you collected them for requires, and no longer. Under section 24(1), Ghana’s Data Protection Act bars a data controller that records personal data from retaining it for longer than is necessary to achieve the purpose for which the data was collected and processed, unless retention is required or authorised by law, is reasonably necessary for a lawful purpose related to a function or activity, is required by a contract between the parties, or the data subject consents to it.

That is a purpose test rather than a fixed number of days, which is why “keep everything forever” is the wrong default. Low storage cost is not one of the four exceptions. Write down each purpose separately and give each one its own clock:

  • Quality scoring and coaching. Short. Once the call is scored and the coaching conversation has happened, the recording has done its work.
  • Dispute and complaint resolution. Longer, tied to how long a customer realistically has to raise a dispute with you. Read that window off your own terms of service, your sector regulator, or your contract with the client if you run the centre for someone else. It is the input to an irreversible deletion.
  • A contractual or regulatory obligation. Whatever the contract or the regulator specifies, documented against that source rather than against a habit.

One recording usually serves more than one of those purposes, and where it does, the longest applicable clock governs. A call that has been scored and closed can still be the only record of a disputed order.

So before you switch any automatic deletion on, take one pass over what you already hold and set aside anything under an open dispute, a contractual retention term, or a request from a regulator. Those are the kinds of thing the Act’s own exceptions protect, and they outlast your quality-scoring clock.

Then make deletion automatic, because a policy that depends on someone remembering to clear a folder is not a policy. Automatic deletion is a configuration job rather than a paragraph in a document: a retention period on the recording platform, a deletion rule on the storage where recordings land, or a scheduled job someone writes. Find out which of the three you have before you promise anyone a retention period.

Then decide who can access recordings, log that access, and review the list when people change roles.

Three retention clocks running from one recorded call: a short quality-scoring clock, a longer dispute-resolution clock and a contract or regulator clock, with the longest one governing, then the set-aside step and automatic deletion.

How do you turn call scores into coaching that changes behaviour?

Scores are inputs to a conversation, not the conversation itself.

Pick one behaviour per agent per cycle. Not six. Play them the specific moment, agree the one change they will make on the next call, then re-check that dimension next week and only that one.

Score the process alongside the person. When five agents miss the same step, the step is wrong or the training was.

Do not let the score become the target, or you will get calls that score well and customers who leave. The same loop applies outbound, though campaign mechanics shape what you can coach: our outbound dialling in Ghana guide covers those choices.

How VoiceConnect handles supervision, scoring and recording

VoiceConnect is Arkesel’s cloud contact centre platform, available in Ghana. The contact centre supervisor tools above cover live supervision; the AI post-call analysis makes review by exception possible instead of sampling.

Be clear on which plan does what. On VoiceConnect, call recording is included from the Growth plan, supervisor tools from the Business plan, and AI analysis from the Enterprise plan.

The plans track how a contact centre grows: recording first, supervisor tools once someone watches the floor, automated scoring once volume passes what a person can review. Check the current pricing page.

If you run a contact centre for other companies, our white-label contact centre platform for BPOs guide covers isolation and billing. If your agents need the customer’s history before they speak, that is contact centre CRM integration.

Frequently asked questions

Is call recording legal in Ghana?

On a plain reading of the Act, recording customer calls is processing personal data, and the Data Protection Act sets conditions on it rather than prohibiting it: register with the Data Protection Commission before you process, make the caller aware of what you are collecting and why, and do not keep the recording longer than the purpose requires.

Do I have to tell the caller the call is being recorded?

Section 27(2) of the Act lists nine matters a data controller must make the data subject aware of when it collects personal data. An announcement at the start of the call normally carries three of them: the nature of the data, the purpose it is required for, and the recipients. Read the section for the rest before you settle your wording.

How long can I keep call recordings?

Only as long as necessary to achieve the purpose you collected them for, unless one of the Act’s exceptions applies: retention required or authorised by law, reasonably necessary for a lawful purpose related to a function or activity, required by a contract between the parties, or consented to by the data subject. Where a recording serves more than one purpose, the longest applicable clock governs.

Does my contact centre have to register with the Data Protection Commission?

The Commission states that all entities involved in processing personal data are required to register with it, and its list covers businesses and organizations that use personal data to provide services. Processing personal data without registering is an offence under the Act.

Can a supervisor listen to a live call without the agent knowing?

Treat that as a policy decision you publish rather than a technical one: tell your agents the floor is supervised and how. The Act’s notice duty runs to the caller.

Related Articles

Where to start

Call centre quality monitoring in Ghana comes down to two decisions. If your quality process today is listening to whichever calls you find time for, the first fix is a live view of the floor and an automated first pass over every call. The second is a recording policy that names its purposes, protects what is under dispute, and deletes the rest on schedule, the half a regulator will ask about.

Talk to the Arkesel team about setting up supervision and call scoring for your contact centre in Ghana.

The post Call Centre Quality Monitoring in Ghana: A 2026 Guide appeared first on arkesel.com.

]]>
How to Become a Bulk SMS Reseller in Ghana: The Business Model and What to Ask a Supplier https://arkesel.com/how-to-become-a-bulk-sms-reseller-in-ghana/ Fri, 21 Aug 2026 16:21:18 +0000 https://arkesel.com/how-to-become-a-bulk-sms-reseller-in-ghana/ How to become a bulk SMS reseller in Ghana: how wholesale capacity works, 8 questions to ask a supplier, and the NCA rules your clients have to follow.

The post How to Become a Bulk SMS Reseller in Ghana: The Business Model and What to Ask a Supplier appeared first on arkesel.com.

]]>
Becoming a bulk SMS reseller in Ghana means buying messaging capacity wholesale from a supplier that holds the connections into the mobile networks, then selling it on under your own brand. Your margin is the gap between the wholesale rate you pay and the price you charge your client.

Three decisions shape whether it works: how the chain runs and where your margin sits in it, which supplier you buy from, and what happens on your side once your clients start sending.

How wholesale A2P SMS actually works in Ghana

A2P means application-to-person — messages generated by software and delivered to a phone, rather than two people texting each other. Wholesale A2P is that capacity bought in volume on commercial terms. Arkesel’s Wholesale A2P SMS page describes it as an SMS sending service designed for wholesale SMS customers, connecting them directly to its gateway. Its Ghana wholesale page addresses that service to aggregators, resellers and wholesalers in Ghana.

The chain has four links, and every bulk SMS reseller sits at the third one.

  1. The mobile networks — MTN, Telecel and AirtelTigo in Ghana — deliver the message to the handset.
  2. A supplier with direct connections into those networks moves traffic onto them and sells capacity in volume.
  3. You buy that capacity wholesale and sell it on under your own brand, your own pricing and your own support.
  4. Your clients — a school, a church, a fintech, a retailer — send the messages and pay you.

Your margin is the gap between what you pay per message and what you charge per message. Because that number is per message, volume is what turns it into a business, and the two levers on your economics are the rate you negotiate and how much your book of clients sends each month. Rates move, so check Arkesel’s current pricing directly, and read up on what determines bulk SMS cost in Ghana before you quote anyone.

Aggregator, reseller, or wholesale buyer — which one are you?

These three terms describe positions in the same chain: who holds the network connections, whose routes carry the traffic, and who owns the client relationship.

Position Who holds the network connections Whose routes carry the traffic Who owns the client relationship
SMS aggregator Direct connections into multiple mobile networks Its own Sells to businesses sending their own messages, and to resellers
SMS reseller None of its own; buys capacity from a supplier The supplier’s Owns the end client — your brand, your pricing, your support
Wholesale buyer None of its own; buys capacity from a supplier The supplier’s No end clients; the volume is its own traffic
Three positions in the bulk SMS chain in Ghana compared: SMS aggregator, SMS reseller and wholesale buyer, set against who holds the network connections, whose routes carry the traffic and who owns the client relationship.

If you are buying capacity and selling it on under your own name, you are in the middle row. That row is the whole reason the next section matters.

Why the route you buy decides the business you can run

As a bulk SMS reseller, your delivery rate is your supplier’s delivery rate. You cannot promise a client better delivery than the route underneath you actually achieves, so the route — not the platform, not the dashboard — is the product you are really buying.

Our guide to how SMS aggregation works and why direct network connections matter puts this from the buyer’s side: a reseller sells another provider’s routes under its own brand, which adds hops between the buyer and the carrier and can mean weaker delivery and less visibility. That warning stands, and it is not an argument against the business you are building. It is an argument about buying from a reseller of a reseller.

Applied one level up, it becomes your buying rule. Take your wholesale capacity from a supplier with direct connections into the networks rather than from another reseller. Every extra hop you inherit becomes your delivery problem and your client’s complaint — and your client will never see the hop, only the message that did not arrive.

It is also why an unusually low wholesale quote deserves a question rather than a signature. Unauthorised routing is a problem the regulator has named in its own words: the NCA’s March 2026 consultation paper on international A2P messaging traffic lists revenue leakage through unauthorised routing of messaging traffic among the challenges it set out to address. Ask where a low-priced route terminates and who holds the connection at the far end.

Two wholesale SMS routes compared: a direct route with one party between a bulk SMS reseller and the Ghanaian mobile networks, and a reseller-of-a-reseller route with three parties in between and no visibility of the extra hops.

What to ask a wholesale supplier before you sign

Two wholesale offers can look identical on a rate card and behave completely differently in production. These are the questions that separate them. If you are still shortlisting on the retail side first, our guide to comparing bulk SMS providers covers that half of the decision.

  1. Routes and network connections. Do you hold direct connections into the Ghanaian networks, or do you buy from someone who does? A good answer names the networks and is specific about which routes are direct and which are onward.
  2. Delivery reports at message level. Can I see per-message delivery status rather than a campaign summary? You need message-level status the day a client tells you their customer never got it. A good answer is one the supplier can show you on screen rather than describe: a live delivery log with per-message status specific enough to forward to a client unedited.
  3. Sub-accounts and pricing control. Can I run a separate account per client, and do I set what they pay? Without both, you are administering someone else’s platform instead of running your own book.
  4. Billing and reconciliation. How is usage billed, how often is it reported, and does it break down per sub-account? You cannot invoice a client whose usage you cannot isolate. A good answer is a per-sub-account statement you can set beside your own invoice and match line for line, on a reporting schedule written into the agreement rather than left to whoever is on shift.
  5. Integration and documentation. Which integration methods are supported, and can I see the documentation before I commit? Arkesel publishes its API documentation openly, which is the standard to hold any supplier to.
  6. Support when a route fails. Who do I reach at 9pm on a Friday, and what response commitment is written into the contract? “Email support” is not an answer when a client’s OTP traffic has stopped. A good answer names who you reach out of hours and how, and puts the response commitment in the agreement rather than on the call — something specific enough to hold them to.
  7. Sender IDs. What is the approval process, how long does it usually take, and what happens to a campaign if a sender ID is rejected? Read how sending bulk SMS with your own sender ID works before you promise a client a go-live date.
  8. What is expected of you when a client misbehaves. If one of my clients sends something they should not, what happens to my account, and what am I expected to have done in advance? The answer tells you exactly what to write into your own client terms.
Eight questions to ask a wholesale SMS supplier in Ghana before signing, covering routes and network connections, message-level delivery reports, sub-accounts and pricing control, billing and reconciliation, integration and documentation, out-of-hours support, sender IDs, and what happens when a client misbehaves.

One practical note on the account itself: opening a wholesale or reseller account with Arkesel requires a registered business.

One upstream change is worth raising on the same call: the consultation paper from that March 2026 exercise, which closed on 10 April 2026, proposes licensing a single neutral national gateway operator to build and run a national A2P gateway as infrastructure, and states that this operator would not sell retail messaging services. The same paper asks whether a per-message regulatory levy should apply to international A2P traffic instead of revenue sharing between the parties. Ask a supplier what either outcome would mean for the routes they sell you and for wholesale pricing; as at publication, no final framework had been published.

Working through that list with a shortlist of suppliers is a better use of a week than any amount of platform comparison. See what wholesale A2P SMS in Ghana covers for aggregators and resellers before you make the calls.

The rules you are now enforcing — on your clients

Your clients send the messages. The rules those messages have to follow are published by Ghana’s National Communications Authority, and enforcing them across a book of clients is the ongoing work of running a reseller business. It is far easier to build into your platform on day one than to retrofit after the first complaint.

Those rules are not written only for the mobile networks. The NCA’s Code of Conduct on Unsolicited Electronic Communications defines an operator to include a company that transmits bulk SMS, not only mobile network operators — so its conduct duties are not confined to the carriers.

Three published rules matter most to the traffic your clients will send.

  • Sending hours. The NCA’s consumer guidance states that promotional messages, which it describes as coming from mobile network operators or from third-party providers, should reach consumers only between 8.00 a.m. and 7.00 p.m., and should not be sent on Sundays.
  • A way out of every commercial message. The Code requires that a means for a recipient to unsubscribe be provided in all commercial electronic communications, and that unsubscriptions be without charge.
  • Free opt-out by STOP. The NCA tells consumers they can stop promotional messages by sending STOP to the same short code the message came from, and that opt-outs and unsubscriptions are at no cost to them.

Three things follow for a reseller. Write the rules into your client terms, so a breach is a contract matter rather than an argument.

Then enforce what your platform can enforce, rather than leaving it to trust. Hold the suppression list yourself and apply it at send time instead of relying on every client to honour a STOP they received. Put the sending window in your own scheduler, so a campaign queued for 11pm on a Sunday is held until the window reopens rather than going out and becoming a complaint.

And keep records, because when a complaint lands you want to show who sent what, to whom, and when.

Our guide to the conduct rules your clients have to follow sets them out in more depth, and the NCA-compliant bulk SMS workflow shows how a clean send is put together end to end.

Frequently asked questions

How do I become a bulk SMS reseller in Ghana?

It starts with a wholesale supply agreement: you buy messaging capacity at a wholesale rate from a supplier with direct connections into the mobile networks, then sell it on under your own brand at your own price. The decisions that decide the outcome are whose routes you inherit and how well you handle your clients’ sending conduct.

What is wholesale A2P SMS, and how is it different from buying bulk SMS credits?

A2P messaging is software-generated messages sent to phones. Buying bulk SMS credits is buying capacity to send your own messages; wholesale A2P is buying capacity in volume, on commercial terms, to send on behalf of others or to sell on. Expect to agree rate, volume, sub-accounts and support with the supplier directly rather than pick them off a page.

What is the difference between an SMS aggregator and an SMS reseller?

An aggregator holds direct connections into multiple mobile networks and carries traffic on its own routes. A reseller sells another provider’s routes under its own brand, which means the reseller’s delivery quality is the supplier’s delivery quality. The difference is where the network connections sit, not how large the company is.

What should I ask a wholesale SMS supplier before signing up?

Ask about routes and direct network connections, message-level delivery reports, sub-accounts and control of end-client pricing, billing and reconciliation, integration methods and documentation, support response when a route fails, sender ID handling, and what the supplier expects of you if a client of yours sends something they should not. The checklist above expands each one.

What are the rules on when promotional SMS can be sent in Ghana?

The NCA’s consumer guidance states that promotional messages should reach consumers only between 8.00 a.m. and 7.00 p.m., and should not be sent on Sundays. For a reseller, those are rules to enforce on the clients sending through your account.

Am I responsible for what my clients send?

Your supply agreement is where that answer is written, so read the acceptable-use and suspension clauses closely and put the question to the supplier directly. Practically, the traffic leaves under your account and your client calls you first when something goes wrong, which is why opt-out handling and message records belong in your platform rather than in a promise from each client.

Where to start as a bulk SMS reseller in Ghana

The supplier you choose sets the delivery rate you can promise, and the client terms you write decide how much of your week goes to complaints. Settle both before you take on your first client.

Talk to Arkesel’s wholesale team about routes, sub-accounts and what they expect of you on client conduct.

The post How to Become a Bulk SMS Reseller in Ghana: The Business Model and What to Ask a Supplier appeared first on arkesel.com.

]]>
WhatsApp Ticketing System: Turn Chats Into Tickets With SLAs That Fit the 24-Hour Window https://arkesel.com/whatsapp-ticketing-system-sla/ Tue, 04 Aug 2026 14:27:04 +0000 https://arkesel.com/whatsapp-ticketing-system-sla/ A WhatsApp ticketing system turns chats into tickets with owners, statuses and SLA clocks. See how to set response targets that fit Meta's 24-hour window.

The post WhatsApp Ticketing System: Turn Chats Into Tickets With SLAs That Fit the 24-Hour Window appeared first on arkesel.com.

]]>
A WhatsApp ticketing system turns every customer conversation into a tracked request with one owner, a status, a priority and a response-time target, so support work on WhatsApp becomes measurable instead of scattered across chat threads.

The complication is that WhatsApp is not a neutral channel. Meta runs a 24-hour clock on every service conversation, and that clock decides whether your next reply is a free-form message or a pre-approved template. Set your response targets without accounting for it and your policy and the platform will disagree.

This guide covers the decision between a shared inbox and a WhatsApp ticketing system, what the 24-hour rule actually says, and how to write first-response and resolution targets that fit inside it — including the Friday-evening-before-a-public-holiday case.

What is a WhatsApp ticketing system?

A WhatsApp ticketing system captures inbound WhatsApp conversations as tickets: tracked units of work, each with an owner, a status, a priority and a deadline. The customer keeps chatting in WhatsApp. Your team works a queue where every request carries a name and a clock.

The lifecycle runs in one pass:

  1. A customer messages your business number.
  2. The message opens a new ticket or attaches to an open one.
  3. The ticket gets categorised, prioritised and routed to an owner.
  4. The owner works it, logs time against it, and resolves it.
  5. If the customer returns on the same issue, the ticket reopens instead of starting a thread nobody recognises.

What changes is not the conversation. It is that you can answer three questions at any moment: who owns this, is it late, and what is still open.

Is a shared WhatsApp inbox the same as a ticketing system?

No. A shared inbox solves access. A ticketing system solves accountability.

A shared WhatsApp inbox for teams lets several agents work one WhatsApp number without passing a phone around. Everyone sees the thread, replies go out under one business identity, and conversations stop dying in one person’s chat list. A ticketing system sits on top of that and adds structure: an owner per request, a state, a target time, and a record you can report on afterwards.

Question Shared inbox Ticketing system
Who owns this request? Whoever picks it up One named owner, assigned and reassignable
What state is it in? Read or unread Configurable statuses from new through to resolved
Is there a deadline? No First-response and resolution targets per priority
What can you report on? Volume and activity Response times, breaches, reopens, per-agent performance
What happens when the customer returns? A new message in the thread The original ticket reopens with its history
What is the audit trail? The chat history A logged record of every status change, owner and edit

The decision rule is short. If your problem is two agents replying to the same customer, or a conversation nobody else can see, a shared inbox closes it. If your problem is that you cannot say whether a request was answered in time, who owned it, or what is still open, you need a WhatsApp ticketing system on top.

Build the inbox first, then add ticketing to it.

What is the WhatsApp 24-hour customer service window?

When a customer messages or calls your business on WhatsApp, a 24-hour clock starts. Inside it, you reply with free-form messages. When it closes, your options change.

According to Meta’s WhatsApp Business Platform documentation, a 24-hour customer service window opens when a WhatsApp user messages or calls your business, and the timer resets to 24 hours if they message or call again before it expires. Every new inbound message buys you another full day.

This is the part that circulating summaries get wrong. It is not true that you cannot reply after 24 hours. Meta’s documentation states that when the window closes, you can only send pre-approved template messages.

What expires is the free-form reply, not your ability to reach the customer — but the template has to be written and approved in advance, so the conversation continues on the platform’s terms rather than yours.

One scope note worth having: this rule governs the WhatsApp Business Platform, the API-based route that inbox and ticketing tools connect through. If you have not set that up yet, start with WhatsApp Business API setup in Africa.

Why the 24-hour window changes how you set support SLAs

A service-level agreement (SLA) is the response-time promise you make to a customer and then measure yourself against. On WhatsApp, a first-response target is not only a service promise. It decides which kind of message your reply is.

Meta replaced conversation-based pricing with per-message pricing on 1 July 2025, according to its own deprecation notice. Under that model, Meta’s pricing documentation states that you are only charged when a template message is delivered, and that Meta does not charge for non-template messages, which can only be sent inside an open customer service window.

So a reply that lands inside the window and a reply that lands after it are not the same transaction. The first is a free-form message on a conversation that is already open, and it carries no charge. The second has to be a template, and template messages are charged: a message you pay for, and would not have needed to send, because the clock ran out.

Every first response that lands late turns a reply you could have sent for nothing into one you pay for. Current rates sit on Arkesel’s pricing page.

There is a second cost that has nothing to do with billing. A template is copy you wrote and submitted for approval in advance, so restarting a lapsed conversation takes a step that a timely reply never needed.

That gives you a concrete design constraint. Your first-response target has to sit comfortably inside 24 hours of real elapsed time, not 24 hours of working time. Those are different numbers the moment a weekend or a public holiday is involved.

How to set WhatsApp customer support SLAs that fit the 24-hour window

Start from the window and work backwards. Every first-response target belongs well inside 24 hours of the customer’s last message, with enough margin that a queue spike does not push it over.

Priority Typical request First response Resolution target At breach
Urgent Payment taken but no order created; account compromised; service down 15 minutes 4 hours Warn the owner at 10 minutes; alert the supervisor and reassign at breach
High Delivery overdue; account locked; wrong item shipped 1 hour Same working day Escalate to the team lead at 45 minutes
Normal Product questions, order changes, account details 4 hours 1 working day Warn the owner at 3 hours
Low General enquiries, feedback, feature requests Acknowledged inside the window, substantive reply by the next working day 3 working days Weekly queue review
WhatsApp support SLA targets by priority: Urgent, 15 minutes to first response and 4 hours to resolution, warn the owner at 10 minutes and reassign at breach; High, 1 hour and same working day, escalate to the team lead at 45 minutes; Normal, 4 hours and 1 working day, warn the owner at 3 hours; Low, acknowledged inside 24 hours with a substantive reply by the next working day and 3 working days to resolve, reviewed weekly. Every first-response target sits well inside the 24-hour customer service window, which runs on real elapsed time.

Two rules make a table like this work on WhatsApp specifically.

Any resolution target longer than a day needs a defined re-contact step. If a Normal ticket will not close the same day, your policy has to say what happens once the window shuts: either you wait for the customer’s next message to reopen it, or you re-engage with an approved template. Decide that in writing, so an agent is not discovering it at 9am in front of a lapsed thread.

The same logic sets the floor on the Low tier: acknowledge inside the window even when the substantive answer waits for the next working day, because a first-response target measured in working days will cross the window every weekend.

The window does not observe your working hours. It runs on real elapsed time, counting overnight, on Sundays and through every public holiday.

Working hours, weekends and public holidays

Take a message that arrives at 6:00pm on the Friday before a Monday public holiday — a long weekend any team working to Ghana’s public-holiday calendar plans around, and a shape that repeats on every calendar your customers keep.

The window expires at 6:00pm on Saturday. By the time your team is back at their desks on Tuesday, the free-form reply is long gone — for a customer who messaged on an ordinary working day.

Timeline of the WhatsApp 24-hour customer service window over a long weekend: a customer messages Friday at 6:00pm and the clock starts, the window expires Saturday at 6:00pm while the office is closed, and the team returns Tuesday at 9:00am to find only a pre-approved template can reopen the conversation.

The fix is a policy decision rather than a heroic one. Pick one and write it down: staff a holiday rota that covers first response only, or set an after-hours acknowledgement that tells the customer what to expect and when, then plan the template re-engagement for the morning you return. A well-built WhatsApp auto-reply setup covers the acknowledgement; the rota covers the resolution.

Then configure your published support hours and holiday closures in the tool that measures the SLA. A clock that counts Sunday night against your agents produces breach reports nobody trusts, and a team that ignores its breach reports has no SLA at all.

KOVA IQ turns every WhatsApp, social and live-chat conversation into a ticket with an owner, a status and an SLA, with working hours and public holidays built into how those targets are measured. See how KOVA IQ runs support operations.

How do you convert WhatsApp messages to tickets?

Six steps, start to finish.

Capture. Every inbound message lands in one queue rather than on a device. The first message on a new issue creates the ticket; follow-ups attach to it.

Categorise and prioritise. Tag the request type and set a priority. Priority sets the clock, which is why your priority definitions belong in writing and shared with the team rather than decided per agent.

Route to an owner. Routing rules send the ticket to the right team or agent. If a bot took the first pass, this is the point of handing a chatbot conversation to a human agent with the transcript attached, so the customer does not repeat themselves.

Work and time-track. The owner replies, logs time against the ticket, and leaves internal notes on it rather than in a side chat. If two threads turn out to be the same issue, merge them. If one thread carries two issues, split it.

Resolve. Move the ticket to resolved with a resolution note. That note is what makes the next reopen fast.

Reopen. When a customer comes back about a resolved issue, the ticket reopens with its history. If their reply lands after the window has closed, that message itself opens a fresh 24-hour window, because the customer’s inbound message is what starts the clock. Your agent has a full day of free-form replies again, and the reopen is the moment to use it.

What to measure once WhatsApp support runs on tickets

Five numbers cover it, and a WhatsApp ticketing system records every one of them as a by-product of the work.

The five numbers a WhatsApp ticketing system records as a by-product of the work: first-response time, resolution time, reopen rate, per-agent SLA result, and window-expiry rate — the WhatsApp-specific measure, highlighted, because a closed window turns a service problem into an outbound-message problem.

First-response time. Measured from the customer’s message to your first human reply, against the target for that priority. This is the number that connects service quality to the window.

Resolution time. Measured to the resolved status and reported by priority and by category. Sort it by category: the categories that run long are where to look first for a fix outside the support team.

Reopen rate. The share of resolved tickets a customer comes back on. A climbing reopen rate means tickets are being marked resolved before the customer agrees they are.

Per-agent SLA performance. Response and resolution results by owner. Use it to rebalance workload and find the queues that are structurally understaffed, not to rank people.

Window-expiry rate. The share of conversations where the 24-hour window closed before your first reply. This is the WhatsApp-specific number, and it is the one that turns a service problem into an outbound-message problem.

Where WhatsApp support breaks without tickets

If your team answers customers from personal phones, or from one device everybody reaches for, here is what you lose.

  • Ownership. Two agents answer the same customer, or nobody does, and there is no record of which was supposed to happen.
  • History. When an agent leaves, the conversations on their phone leave with them.
  • Deadlines. Without a clock on each request, “we got back to them” and “we got back to them in time” look identical in a status meeting.
  • Duplicates. One customer with one problem opens three threads across three numbers, and every agent starts from zero.
  • The reopen path. A customer returns a week later. Nobody knows what was decided, so the conversation restarts — often after the window has closed, which means it restarts on a template.

None of this is WhatsApp’s doing. It is what happens when a channel carrying real support volume runs without the structure a WhatsApp ticketing system supplies. For the wider picture of running sales and support on WhatsApp in Ghana, our full guide covers the sell, serve and follow-up side together.

Running SLA-backed WhatsApp support with KOVA IQ

KOVA IQ is Arkesel’s messaging-first CRM and customer engagement platform. WhatsApp, Facebook Messenger, Instagram DM, Telegram and website live chat land in one agent queue, and every conversation sits against a single Customer 360 timeline rather than in a channel-specific silo.

On the ticketing side, KOVA IQ ships conversation-to-ticket conversion, configurable ticket statuses and priorities, routing rules, ticket merge and split with undo, ticket time tracking, ticket audit logging, and an OTP-gated customer ticket portal that lets customers check and reply to their own ticket without an account or password.

On the SLA side, it tracks conversation SLAs and delivers SLA warnings and breach alerts, working hours and public-holiday schedules, and per-agent SLA reporting. That last set is what makes the policy in this article enforceable rather than aspirational: targets measured against your real calendar, a warning before a breach rather than a report after it, and per-owner results you can act on.

Because the same platform runs your WhatsApp Business API messaging, your campaigns and your customer record, a ticket does not sit in one tool while the customer’s order history sits in another. That matters most for teams graduating off personal-phone support, where the whole point of the move is getting one view of the customer.

Frequently asked questions

Can I use WhatsApp as a helpdesk or support ticket system?

Yes, through the WhatsApp Business Platform. A WhatsApp ticketing system connects to your business number, and the work splits cleanly: the messaging happens in WhatsApp, while the ticketing, routing, SLA clocks and reporting happen in the connected platform. A WhatsApp helpdesk is that arrangement, not a feature inside the chat app.

How do I turn WhatsApp messages into support tickets automatically?

Connect your WhatsApp business number to a WhatsApp support ticket system with conversation-to-ticket conversion, then set rules for which inbound messages open a ticket and how they are categorised and routed. After that, the first message on a new issue creates the ticket and follow-ups attach to it.

What happens if you reply to a WhatsApp customer after 24 hours?

You can still reach them, just not with a free-form message. Meta’s documentation is explicit that when the window closes, you can only send pre-approved template messages. Its pricing documentation is equally explicit that template messages are charged while non-template messages are not, so the late reply costs you something the in-window reply would not have. The customer’s next inbound message opens a new window and returns you to free-form replies.

What SLA should you set for WhatsApp support?

Set first-response targets that sit comfortably inside 24 hours of real elapsed time for every priority tier, then resolution targets by priority on top. Anything longer than a day needs a defined re-contact step, because the free-form window will have closed by then.

How do you track first-response and resolution time on WhatsApp?

Measure from the customer’s message to your first human reply, and from ticket creation to resolved status. Both come from the ticket layer, which is where the target, the owner and the breach state live.

What happens when a customer replies to a resolved WhatsApp ticket?

The ticket reopens with its history intact, and the customer’s message opens a fresh 24-hour customer service window. That gives your agent a full day of free-form replies to close it out properly.

Is a shared WhatsApp inbox enough on its own?

It is enough if your problem is access. Once you need to prove who owned a request and whether it was answered in time, add the ticket layer.

Start measuring what your team already does

Support on WhatsApp stops being guesswork the moment a WhatsApp ticketing system gives every conversation an owner, a status and a clock that respects the platform’s 24-hour window. Write the policy first, then configure the tool to measure it.

Turn your WhatsApp conversations into SLA-backed tickets with KOVA IQ, create an account to get started, or talk to the team about your support workflow.

The post WhatsApp Ticketing System: Turn Chats Into Tickets With SLAs That Fit the 24-Hour Window appeared first on arkesel.com.

]]>
Bulk SMS in Tanzania: What Businesses Need to Know Before Choosing a Provider (2026) https://arkesel.com/bulk-sms-tanzania-guide/ Mon, 03 Aug 2026 07:40:42 +0000 https://arkesel.com/bulk-sms-tanzania-guide/ Choosing a bulk SMS provider in Tanzania? Compare network reach, deliverability, sender ID compliance, and API needs in this practical 2026 buyer's guide.

The post Bulk SMS in Tanzania: What Businesses Need to Know Before Choosing a Provider (2026) appeared first on arkesel.com.

]]>
When you choose a bulk SMS provider in Tanzania, four things decide whether your campaigns land: whether the provider delivers to all five mobile networks, whether you can see a delivery status for every message, how it handles sender ID registration, and whether it gives you an API when you need one. You can check every one of them yourself before you commit. Get them wrong and you cannot tell which of your messages reached anyone.

This guide gives you a provider-neutral checklist for choosing a bulk SMS service in Tanzania, so you can measure any option, Arkesel included, against the same standard. Every check below is one you can run with your own numbers.

Why does bulk SMS still work in Tanzania?

SMS works in Tanzania because it reaches any mobile phone, not just smartphones.

As of December 2025, Tanzania had 106.9 million telecom subscriptions, up 7.7% from 99.3 million in September 2025, and mobile subscriptions made up 99.9% of them, as reported by TanzaniaInvest, citing the Tanzania Communications Regulatory Authority (TCRA) Q4 2025 Communication Statistics. Mobile is how the country connects.

The handset mix is the other half of the picture. As reported by TanzaniaInvest, citing TCRA, Tanzania’s smartphone penetration rate was 41.82% as of December 2025, while feature-phone penetration was 87.11%. Feature-phone penetration is roughly double smartphone penetration.

That matters when you pick a channel. App notifications and messaging apps only reach customers who have the app installed. SMS works on a basic phone without any app, so it arrives on a basic handset as readily as on a smartphone.

For time-sensitive messages, such as a payment confirmation, a delivery update or a promotion with a deadline, that reach is the reason to use the channel: the message does not depend on which phone your customer carries.

Which mobile networks must a bulk SMS provider reach in Tanzania?

A provider is only useful for the networks it can deliver to. In Tanzania, that means five operators: Vodacom, Yas (formerly Tigo), Airtel, Halotel and TTCL. The operator formerly branded Tigo has traded as Yas since November 2024, according to Yas Tanzania, so a provider page that still lists Tigo is working from an old network list.

The market is split, so partial coverage is a real risk. As reported by TanzaniaInvest, citing TCRA’s Q4 2025 Communication Statistics, Vodacom held the largest subscription share (31.2%), followed by Yas (28.9%) and Airtel (21.8%). Halotel and TTCL make up the remainder.

Network Position in the market (December 2025)
Vodacom Largest subscription share (31.2%)
Yas (formerly Tigo) Second largest (28.9%)
Airtel Third largest (21.8%)
Halotel Smaller operator (remaining share)
TTCL Smaller operator (remaining share)
Tanzania's mobile networks for bulk SMS: Vodacom 31.2%, Yas (formerly Tigo) 28.9% and Airtel 21.8% of mobile subscriptions, with Halotel and TTCL making up the remaining share (TCRA Q4 2025)

No single network holds even a third of subscriptions, so a provider that delivers well on Vodacom but poorly on Yas or Airtel leaves a large slice of your audience unreached.

The question to put to every provider is simple: do you deliver to all five Tanzanian networks, and will you let me prove it? A good answer is a test send to numbers on each network, with a delivered status you can read for every message. A description of how the provider’s connections are built is not a substitute for that test.

What should you look for when choosing a bulk SMS provider in Tanzania?

Use these six criteria to compare any provider on the same terms. Treat them as a scorecard, not a wish list.

What to check What good looks like
Network coverage Delivers to all five Tanzanian networks, with a delivered status per message on each network in your own test send
Delivery reports Real-time delivery status for every message, not just a “sent” confirmation
Sender ID registration Registers your branded sender ID for you and tells you what it needs from you
API and integration A documented REST API for teams that need to send from their own systems
Pricing transparency Published per-message rates, with any setup or registration fees stated up front
Support Responsive support with a clear way to report and resolve a delivery problem
Six criteria for choosing a bulk SMS provider in Tanzania: network coverage, delivery reports, sender ID registration, API and integration, pricing transparency and support

Network coverage comes first, for the reasons above. Make it a result you have seen, not a promise you have been given.

Delivery reports are how you see that result. A “sent” status only means the message left the provider.

What you need is a per-message delivered, failed or pending status you can see in real time, so you can spot a problem on one network before it costs you a whole campaign. Our guide on SMS delivery reports and tracking walks through how to read these statuses and act on them.

Sender ID registration protects your brand. A branded sender ID shows your business name in place of a phone number, so customers know who is writing. It goes through registration before you can send with it, so ask each provider how it handles that step.

Pricing transparency matters because the advertised per-message rate is not always the whole cost. Ask whether setup, sender ID registration or sending to particular networks carries extra fees. Compare the total cost to send, not the advertised rate.

See how per-message delivery tracking works on the Arkesel SMS Platform.

How do you register a sender ID for bulk SMS in Tanzania?

To register a sender ID in Tanzania through a provider, you supply four things:

  • Your chosen sender ID
  • A short description of the service you will use it for
  • Sample messages you intend to send
  • Your business registration certificate

A provider such as Arkesel then completes and submits the registration on your behalf. Handled this way, approval typically takes 7 to 14 working days.

Plan for that window early. If your messages are ready and your list is clean but the sender ID has not been approved, the campaign waits. Build the registration time into your launch plan rather than finding it on the day you want to send.

When you compare providers, ask one question here: do you register my sender ID for me, and what do you need from me to start? A provider that owns this step saves you from working through the process alone.

Timelines and requirements can change, so confirm the current specifics with your provider when you sign up.

Do you need an SMS API, or is a dashboard enough?

The answer depends on how your messages are triggered.

Choose a dashboard-only provider when your sends are campaign-style and started by a person: a promotion to your customer list, an event reminder, a seasonal offer. You upload a list, write the message and send. No developer required.

Choose a provider with a strong API when messages need to fire automatically from your own systems. An API is a connection that lets your software send messages directly.

You need one for order confirmations, delivery updates, appointment reminders and one-time passwords (the short codes used to verify a login or payment). An event in your app or platform triggers these, not someone clicking send.

A Dar es Salaam retailer running weekend promotions is well served by a dashboard alone. The same retailer, once it starts taking online orders, needs an API so that every checkout triggers a confirmation SMS when a customer pays. The message channel is identical; only the trigger changes, and that decides whether you need code or a login.

So even if you only run campaigns today, favour a provider that offers a documented REST API you can grow into.

A REST API is a standard way for one piece of software to send requests to another over the web. For your developer, clear documentation with copy-paste code samples matters more than a long feature list, because that documentation is what they build from. When your developer is ready to assess an API, our guide on integrating an SMS gateway API covers what to look for in an SMS API and the steps to connect one.

What mistakes should you avoid when choosing a bulk SMS provider?

Most costly mistakes are the checks above left undone: signing up on a coverage claim you have not tested on all five networks, accepting a “sent” status in place of per-message delivery reports, and starting sender ID registration too late for your launch date.

The mistake the checklist cannot catch for you is skipping the shortlist and picking the first name on a search results page. Put at least three providers through the same checks, so each result has something to be compared against.

Provider choice follows the same discipline in other markets. Our guide on choosing a bulk SMS provider in Nigeria and our look at free bulk SMS in South Africa show how it plays out there, and our comparison of bulk SMS providers covers more of the options.

How Arkesel fits

Arkesel’s SMS Platform serves Tanzania, so measure it against the same checklist you would use for any provider.

On coverage, Arkesel delivers to all five Tanzanian networks: Vodacom, Yas, Airtel, Halotel and TTCL. Still run the same five-network test send on Arkesel that you run on every other provider, and let the delivery reports confirm it for your own numbers.

On delivery reports, the platform gives you real-time delivery tracking with a status for every message, so you see what landed and what did not rather than guessing. On sender ID registration, Arkesel submits the registration for you, as set out above.

On integration, Arkesel offers a documented REST API with copy-paste code samples in cURL, Python, Node.js and PHP, plus a sandbox for testing your API calls without spending live credit. Your developers can move from campaigns to automated, event-triggered messages when you are ready. The platform is built for high availability, and Arkesel is ISO 27001:2022 certified.

On pricing, rates for Tanzania are published openly. Because prices change, check the current figures on the Arkesel pricing page rather than any number quoted elsewhere. For the Tanzania product details, see the Arkesel bulk SMS in Tanzania page.

How can you test a bulk SMS provider in Tanzania in a week?

Shortlist three or four providers, send a small test batch to numbers on all five networks, read the per-message delivery reports, then check sender ID registration and the API. You do not need a long procurement cycle: comparing bulk SMS providers in Tanzania is a one-week job if you give the week a structure.

One-week plan to test a bulk SMS provider in Tanzania: Days 1-2 shortlist and screen, Days 3-4 test delivery on Vodacom, Yas, Airtel, Halotel and TTCL, Days 5-7 check sender ID and integration

Days 1 to 2: shortlist and screen. List three or four providers. Ask each the coverage question directly: do you deliver to all five Tanzanian networks, and will you show it with per-message delivery reports in a test send? Drop any that will not.

Days 3 to 4: test delivery. Open an account with your top two and send a small batch to real numbers on each of the five networks: Vodacom, Yas, Airtel, Halotel and TTCL. Read the delivery reports. The provider that shows a clear delivered status for your numbers on every network has passed the test that matters most for your shortlist.

Days 5 to 7: check sender ID and integration. Confirm how each provider registers your sender ID and what it needs from you. If you will need automation, have a developer read the API documentation and try one test call. Then compare the total cost to send.

At the end of the week you will have evidence, not marketing claims, behind your decision.

Related Articles

Start your own delivery test in Tanzania

Choosing well comes down to proven coverage, delivery visibility, sender ID registration and the option to automate. Score every provider on those, test delivery with your own numbers on all five networks, and let the delivery reports decide.

Ready to run that test? Create a free Arkesel account and send your own test batch across Tanzanian networks with real-time delivery tracking.

The post Bulk SMS in Tanzania: What Businesses Need to Know Before Choosing a Provider (2026) appeared first on arkesel.com.

]]>
Email List Segmentation: How to Segment Your List for Higher Conversions https://arkesel.com/email-list-segmentation-guide/ Fri, 31 Jul 2026 08:53:53 +0000 https://arkesel.com/email-list-segmentation-guide/ Email list segmentation for African marketers: the segments to build first, a decision table, list hygiene, and how to lift opens, clicks, and conversions.

The post Email List Segmentation: How to Segment Your List for Higher Conversions appeared first on arkesel.com.

]]>
Sending the same email to your whole list feels efficient, but one message cannot be relevant to everyone who signed up, so opens and clicks stay weak. Email list segmentation fixes that by splitting your contacts into smaller groups, each getting a message it cares about. Here is how to segment your email list for higher conversions: the four ways to divide it, a rule you can copy for each, and how to keep your segments accurate once they exist.

What Is Email List Segmentation?

Email list segmentation, also called mailing list segmentation, is the practice of dividing your email list into smaller groups, called segments, based on shared traits or behaviour. You then send each group a message that matches what it needs, instead of one broadcast to everyone.

A segment might be everyone who clicked an email in the last 90 days, everyone who bought from a particular product category, or everyone in Greater Accra. Each one is defined by a rule, so the same rule keeps sorting new contacts into the right place.

Segmentation and personalisation solve different problems:

  • Segmentation decides who receives a message.
  • Personalisation changes details inside the message, such as a first name or a recent order.

They work best together. Segment to pick the audience, then personalise to sharpen the copy for that audience.

Does Segmenting Your Email List Improve Results?

Independent research points in that direction, for opens. A peer-reviewed study published in Review of Managerial Science analysed 5765 promotional emails sent between 2013 and 2018 by multinational companies to 455 million users in 73 countries. It found that segmentation significantly affects whether recipients open promotional email.

The study counted an email as segmented when it went to part of the database chosen by personal preference, such as a particular language in multilingual countries, or by consumer habit, such as interest in a given product.

Two findings matter most for your planning:

  • Segmentation had the second-strongest influence on open rates, after sending frequency.
  • The authors conclude that segmenting all communications may be the single most impactful action email marketers can take to improve attention.

Read those findings with their limits. The study measured opens, not clicks or sales. Its effect sizes were small, ranging between 0.01 and 0.06, and its sample came from a single product category.

In plain terms, segmentation nudged opens rather than transforming them.

So treat segmentation as a direction for your own list, not a promised uplift, and test the result on your own campaigns.

The practical point still stands. An offer for a product someone already bought, or an event in a city they do not live in, teaches people to skip your emails. Segmentation is how you stop sending those.

How to Segment an Email List: The Four Types

Almost every useful segment comes from one of four types. Each one depends on data you have to collect first.

1. Demographic and firmographic segmentation

This groups contacts by who they are: location, language, age range, or, for business buyers, company size and industry.

Data you need: fields captured at signup or on your customer records, such as city, country and preferred language.

2. Behavioural segmentation

This groups contacts by what they have done: what they bought, which product pages or emails they clicked, and how they paid.

Data you need: order history or click history linked to each email address.

3. Lifecycle stage segmentation

This groups contacts by where they are in their relationship with you: new subscriber, first-time buyer, repeat customer, or lapsed customer.

Data you need: signup date and purchase dates.

4. Engagement recency segmentation

This groups contacts by how recently they opened or clicked your emails.

Data you need: open and click activity over a set time window.

Email List Segmentation Examples: One Recipe per Type

A segment idea is only useful once you can type it into a tool. Each recipe below states the rule as a field, a condition and, where it matters, a time window.

The rules are platform-neutral, so you can build them in whichever email tool you use. Two of them also show the matching condition in Arkesel Email Marketing.

Demographic recipe: local event invitation

  • Rule: city is Kumasi.
  • Send: an invitation to an in-store event in Kumasi.
  • Do not send: the same invitation to contacts in other cities, who cannot attend.
  • In Arkesel Email Marketing: keep city as a field on each contact, then set the condition city equals Kumasi.

Behavioural recipe: category follow-up

  • Rule: purchased from the “kitchen appliances” category in the last 180 days.
  • Send: accessories and care tips for what they bought.
  • Do not send: a discount on the product they already own.

Lifecycle recipe: second purchase

  • Rule: exactly one purchase, and that purchase was more than 30 days ago.
  • Send: a message that helps them choose a second product.
  • Do not send: your new-subscriber welcome email again.

Engagement recency recipe: win-back

  • Rule: has not opened or clicked any email in the last 90 days, and signed up more than 90 days ago.
  • Send: one clear reason to come back, plus an easy way to update preferences.
  • Do not send: your full weekly newsletter at the usual pace. If a win-back attempt gets no response, take those contacts out of regular sends. Our guide on how to stop emails going to spam covers the wider inbox-placement routine.
  • In Arkesel Email Marketing: build one segment with two conditions, last email open more than 90 days ago and last link click more than 90 days ago, and set it to match all of them. There is no signup-date condition, so the “signed up more than 90 days ago” half of the rule cannot be set there.
Email list segmentation examples: four segment types with one rule each, city equals Kumasi, bought kitchen appliances in the last 180 days, one purchase over 30 days ago, and no open or click in the last 90 days, set in Arkesel Email Marketing as last open and last click both over 90 days with match all

Match each recipe to the right kind of message. Our guide to the types of email to send helps you pick the format.

Worked example A: a retailer in Ghana

This is an illustration, not a customer case. Picture a home goods retailer with shops in Accra and Kumasi and one email list built from in-store and website signups.

It combines three rules into a small set of segments:

  1. Recent buyers by region: purchased in the last 90 days, split into Greater Accra and Ashanti Region. Each gets news about its nearest shop.
  2. Lapsed buyers: last purchase more than 180 days ago. They get a win-back offer in the category they last bought from.
  3. Browsers: signed up but never purchased. They get a short welcome sequence explaining delivery and returns.

The retailer builds these three before anything else, because every one of them changes what the email says, not just who gets it.

Worked example B: a sender reaching several African countries

Again, an illustration. Picture a business emailing customers across several West African countries, some of whom read in English and some in French.

  • First split: language. Contacts who chose French at signup get French campaigns. Everyone else gets English. The study above gives language in multilingual countries as an example of segmentation, although it did not measure language segments on their own.
  • Second split: country. Within each language, split by country so offers, delivery details and public holidays match where the reader lives.
  • Fallback rule: contacts with no language recorded go into the English segment and receive a one-time email asking them to choose.

In Arkesel Email Marketing, keep language as a custom field on each contact. One segment uses the condition language equals French, and a second uses the blank condition on the same field to find the contacts who need the one-time email.

That last rule matters. Without it, contacts with missing data fall out of every campaign.

Ready to try one of these? Build your first segment and A/B test a subject line on it with Arkesel Email Marketing.

Which Segments Should You Build First?

You do not need dozens of segments to see results. Start with the few that change your messages the most, then add more as your data grows. Build them in this order:

  1. Engagement recency. Knowing who is active, who is drifting and who has gone silent shapes almost every campaign you send after it.
  2. Purchase behaviour. Separate recent buyers from browsers, and one-time customers from repeat ones.
  3. Location. City, region or country, for events, delivery details and regional offers.
  4. Signup source. In-store, website form, event or checkout. The entry point tells you what a contact expected when they signed up.
  5. Language. The language a contact chose, so you write to them in it.

If you can only build one, build the engagement segment.

Segment type Data you need Use it for Example rule
Engagement recency Opens and clicks over recent sends Win-back emails, sending less to inactive contacts Opened an email in the last 30 days
Purchase behaviour Order history Category follow-ups, repeat-purchase offers Two or more purchases in the last 12 months
Location City, region or country Local events, regional offers City is Accra
Signup source Source recorded at opt-in Welcome emails that match the entry point Signed up in store
Language Preferred language Sending in the reader’s language Preferred language is French

How to Build and Maintain Your Segments

A segment that was accurate six months ago can quietly stop matching your list. These email segmentation best practices keep yours useful.

Collect the data before you need it

Decide what you want to segment on, then capture it at signup. A “preferred language” segment does nothing if the field is empty for most contacts. If you are still growing your list, start with our guide on how to build an email list without buying one.

Name segments so anyone can read them

Use names that state the rule, such as “Engaged, last 90 days” or “Lapsed buyers, 180 days plus”. A colleague picking up a campaign then knows exactly who will receive it.

Review segments on a schedule

Put a recurring check in your calendar, monthly for fast-moving lists and quarterly for slower ones. At each review:

  • Look for contacts who sit in no segment, usually because a field is missing. Give them a fallback segment.
  • Look for contacts who sit in two segments that clash, such as “new subscriber” and “lapsed buyer”. Decide which rule wins.
  • Retire segments you have not sent to in months, so your list of segments stays short enough to use.

Use segments to manage how often you send

The study above found sending frequency had the stronger influence on opens, ahead of segmentation. It did not tell you the right frequency for your list, so test it.

Segments let you do that: keep your usual pace for engaged contacts and send less often to contacts who have stopped opening. For when to send, see our guide to the best days and times to send emails.

Check segment health after each campaign

Rising bounces or spam complaints on a campaign sent to one segment are a sign its contacts need cleaning. Every Arkesel Email Marketing campaign reports its bounce and spam-complaint counts and rates, with per-recipient logs, so you can find the addresses behind the numbers. For a full routine, see how to keep your email list clean.

Carrying a Segment Across Email, SMS and WhatsApp

A segment is a group of people, not an email setting. Once you know who belongs in it, you can reach the same group on the channel that suits the message:

  • Email for detail: full offers, guides and newsletters.
  • SMS for short, time-sensitive nudges, such as a reminder on the last day of an offer.
  • WhatsApp for two-way conversation, such as answering questions before a purchase.

Export the segment, then import it into SMS

Arkesel Email Marketing runs as its own application, separate from the Arkesel SMS platform. A segment you build in Email Marketing does not appear in SMS on its own, and the two do not sync.

To reach the same people by SMS, export the segment from Email Marketing as a CSV file, then import that file into your contacts on the SMS platform. The Arkesel SMS platform organises recipients into contact groups, so give the group the same name as the segment, such as a Kumasi group built from the city equals Kumasi segment above.

Because nothing syncs, the SMS copy stops changing the moment you export it. If people may have joined or left the segment since, export it again before the next SMS send.

Moving an email list segmentation from Arkesel Email Marketing to SMS: export the Kumasi segment as a CSV file, then import it into an SMS contact group of the same name; the two do not sync

For WhatsApp, recreate the audience as a WhatsApp contact group in the tool you send from, such as the WhatsApp Business API. Keep the name identical, so reports from each channel describe the same people. Like the SMS group, it is a fixed list that does not update when the segment changes, so refresh it before each WhatsApp send.

For the multi-country sender in example B, check which countries Arkesel SMS covers before planning SMS follow-up for a country segment.

One point of vocabulary: in SMS, “segment” can also mean one part of a long text message that has been split for delivery. That is unrelated to audience segments.

For the wider plan, see how to combine SMS, WhatsApp and email marketing, and for SMS-specific ideas, read our guide to segmenting SMS audiences in Ghana.

Common Email List Segmentation Mistakes

When segmenting email lists, the mistake the maintenance routine above does not cover is over-segmenting too early. Splitting a small list into a dozen tiny groups leaves each one too small to send to and too small to learn from. Start broad, and split a segment only when it is large enough to act on.

Most other segmentation mistakes come from skipping that routine, so run it on a schedule rather than when something breaks. For the rest of your email routine, see these email marketing best practices.

How to Segment and Send with Arkesel Email Marketing

Arkesel Email Marketing gives you contact segmentation, automation flows and A/B testing in one platform. Here is the flow:

  1. Prepare your contacts. Make sure the data each rule needs is on your contacts before you build.
  2. Build a segment. Conditions cover contact fields, including your own custom fields, email verification status, tags, and how many days since a contact last opened an email or clicked a link. A segment can hold several conditions and match all of them or any of them. Start with engagement recency: last email open more than 90 days ago.
  3. Test on the segment. Run an A/B test of two subject lines on part of the segment, then send the winning version to the rest.
  4. Automate the follow-up. Set up welcome, follow-up or reminder sequences so repeat messages run without manual sends each time.
  5. Check the results. Review each campaign’s bounce and spam-complaint rates, then refine the segment.

For current plans, see Arkesel pricing.

Getting Started with Email List Segmentation

Email list segmentation turns one broadcast into several messages that each fit their audience. Start with an engagement segment, add purchase and location segments as your data allows, and review them on a schedule.

Start segmenting your list with Arkesel Email Marketing — create your account and send your next campaign to the people it was written for.

The post Email List Segmentation: How to Segment Your List for Higher Conversions appeared first on arkesel.com.

]]>
Contact Centre CRM Integration: How to Give Agents the Whole Customer Before They Say Hello https://arkesel.com/contact-centre-crm-integration/ Thu, 30 Jul 2026 15:54:23 +0000 https://arkesel.com/contact-centre-crm-integration/ Contact centre CRM integration puts a caller's open tickets and WhatsApp history on your agent's screen before hello. Run these 10 checks before you buy.

The post Contact Centre CRM Integration: How to Give Agents the Whole Customer Before They Say Hello appeared first on arkesel.com.

]]>
A customer messages your WhatsApp line on Monday about a transfer that failed. Nobody closes the loop, so on Tuesday they call, and your agent picks up to a bare phone number and asks them to explain the whole thing again.

Contact centre CRM integration is what removes that second explanation. The caller is identified before your agent speaks, and the call lands back on one customer record when it ends.

What does contact centre CRM integration actually do for an agent on a live call?

Your contact centre owns the call. Your CRM owns the customer. Integration means the customer record reaches the agent at the moment the call connects, instead of after a manual search in a second tab.

In practice, the agent’s screen fills in before the greeting: who is calling, which tier they sit in, which tickets are still open, and what they last said to your team. The industry name for that screen is a screen pop, which is the caller’s record opening on its own as the call arrives.

You will see per-call time savings quoted for this. Ask which study produced the figure — the numbers in circulation name no sample and no method. The mechanism needs no stopwatch: your agent stops asking a customer for information the customer already gave you.

What is the difference between a contact centre, a CRM and a shared inbox?

Three products get sold into the same problem and they are not interchangeable. A contact centre, which plenty of teams still call a call centre, owns the call. A CRM owns the customer record.

A shared inbox owns the conversation. Each of the three owns one part of the picture. A unified customer view across calls and chat is what appears when the call data and the conversation data land on the same record.

System What it owns What it answers What it does not own by default
Contact centre The call: routing, queues, IVR, recording, agent state Where the call goes, who is free, how long it waited The customer’s history — orders, tickets and past conversations sit in the record system
CRM The customer record: profile, tickets, orders, notes, history Who this person is and what has already happened to them The call path: queues, agent state and recordings. Some CRMs bundle a phone feature, so check what it actually covers
Shared inbox The conversation: WhatsApp, social DMs, live chat What the customer said, in which channel, and who replied The call itself. Some inboxes add a voice channel, so ask whether it writes back to the customer record

Name your own three tools against that table and the gap names itself. Whichever row you are missing is the question your next demo has to answer.

If your team calls itself a call centre rather than a contact centre, the table maps the same way. CRM integration for call centres is the same build under your own label.

The labels are muddled in the market, and one of the vendors ranking for the term says so in its own copy. respond.io’s guide to omnichannel CRM tools tells readers to choose respond.io, which the same sentence describes as “a customer conversation management platform, not a CRM”.

No Africa-based provider appears among that guide’s recommendations. Worth knowing before you treat a global shortlist as the whole market.

If you are still choosing the record side of the stack, our guide to choosing a CRM in Africa works through that decision first.

Contact centre, CRM and shared inbox side by side: the call, the customer record and the conversation, and what each one does not own by default

How does a contact centre know who is calling before the agent speaks?

By the number the call arrives on. The platform reads the calling number, looks it up in the CRM, and hands the matching customer to the agent while the call is still ringing.

Why does one phone number work across calls, WhatsApp and mobile money in Ghana?

In Ghana that lookup starts from a strong identifier. The same number often holds the mobile money wallet, the WhatsApp account and the voice line.

As reported by DataReportal, citing GSMA Intelligence, there were 41.8 million active cellular mobile connections in Ghana at the end of 2025 — equivalent to 119 percent of the total population. Connections count SIM cards rather than people, and one person often holds several, which is why the total runs past the size of the population. The same report counts 26.3 million individuals using the internet in Ghana at the end of 2025, with online penetration at 74.6 percent, so being reachable online is common without being universal.

Email addresses go stale. Account numbers get forgotten at the counter. The number a customer is calling from is the one piece of identity that arrives with the call itself.

What happens when the calling number does not match a record?

Where the number does not match a record, because the call comes from a spouse’s handset, an office line or a new SIM, the IVR can ask for an account code and resolve the customer that way before the call reaches an agent. IVR CRM integration is the same lookup by a different route: the menu collects the identifier, and the record still reaches the agent before the greeting. Our guide to IVR self-service covers how those menus get built.

What does an inbound call look like with and without CRM integration?

Without the integration, one call goes like this:

  1. The call lands in the queue and rings on the agent’s screen as a bare number.
  2. The agent answers and asks for a name, then a phone number, then an account number.
  3. The agent searches the CRM in another tab while the customer waits on the line.
  4. Monday’s WhatsApp thread lives in a different tool, so the agent never sees it and asks the customer to retell the story.
  5. A second ticket gets opened for a problem that already has one.
  6. After the call, the agent retypes what happened, or does not, and the record stays empty.

With the integration, the same call goes like this:

  1. The call arrives and the platform resolves the caller by number before the first ring reaches the agent.
  2. The agent’s screen opens with the customer’s name, their tier, their open tickets and their recent conversations.
  3. The agent opens with “Kwame, is this about the transfer you messaged us about on Monday?”
  4. The open ticket is already on screen, so no duplicate is created.
  5. The agent adds a note to the customer’s record during the call.
  6. On hang-up, the call event, its duration, the recording and the transcript land on that same record.

Same call, same team, same phone line. The only difference is whether your two systems recognise each other.

The same inbound call on two lanes across six beats: without CRM integration the agent sees a bare number, asks for a name and searches a second tab; with CRM integration the caller is resolved by number before the first ring, the open ticket is already on screen and the call is written back to the record

Can your agent see a customer’s WhatsApp conversation when that customer calls?

Yes, when the messaging inbox and the call platform write to the same customer record. If WhatsApp sits in one vendor’s tool and calls in another’s, your agent gets a contact card and no context, which is not the integration you thought you were buying.

Customers routinely start in one channel and finish in another. The chat stalls, so they call. The call gets complicated, so they send a screenshot on WhatsApp afterwards.

One journey, two systems, and only one of them has the story.

Messaging identities are common in Ghana, so a caller may well hold a message thread with your team alongside their phone number. DataReportal’s Digital 2026: Ghana report counted 8.59 million active social media user identities in Ghana in October 2025, equal to 24.4 percent of the total population, and those are identities rather than confirmed individuals. The same report put Instagram’s potential ad reach in Ghana at 2.30 million users in late 2025, and Messenger’s ad reach at 999 thousand — reach figures that DataReportal cautions are not a count of active users, so treat them as evidence of messaging presence rather than a measure of how many people message businesses.

A shared WhatsApp inbox for a support team puts those threads in one queue. Contact centre CRM integration is what carries them onto the phone call. If your follow-ups go out by text, the same logic applies to connecting SMS to your CRM.

What happens to the call recording, transcript and outcome after the call ends?

The call event lands on the customer record, carrying its duration, the recording, the transcript, an AI summary, a sentiment reading and the resolution.

Screen pop is the half that demos well. The return leg is the half to ask about, because it decides whether that record stays current or quietly rots.

When the write-back works, here is what happens in the seconds after hang-up:

  • The call, whether started, ended or missed, is written to the customer’s timeline.
  • A ticket is created for the call automatically, where your organisation switches that on.
  • The agent closes the ticket from the handset with a keypad code once the customer has gone.
  • Notes the agent typed during the call sit on the customer’s record instead of in a notebook.
  • The recording and the transcript stay retrievable from that record over signed links.
  • A workflow fires in KOVA IQ on call end, so a follow-up message goes out without anyone remembering to send it.

Nobody retypes the summary after hanging up. And the next colleague who meets this customer, on any channel, opens a record that already includes the call.

Two systems, one record, and no second explanation. See how Arkesel VoiceConnect and KOVA IQ work as one customer record.

Can the CRM drive outbound calling too, or only inbound?

Both, when the integration runs in both directions. Build the list where the customer data already lives, browse and preview the segment, then import it into an outbound campaign.

Your marketing lead defines the list and the dialler works it, which removes the weekly CSV export that nobody enjoys owning. Which dialling mode fits depends on the campaign, and our guide to outbound dialling modes compares progressive, predictive and preview. Do-not-call enforcement stays in the platform rather than in the spreadsheet.

For after-hours and overflow calls, AI voice agents can take the conversation and hand off to a human when it needs one, with the same customer record attached.

What should you check before you buy a contact centre that claims CRM integration?

Run this list in the demo, and ask to watch a real inbound call land rather than a slide about one.

  1. Is the caller resolved automatically by phone number, or does the agent still search by hand? Watch the screen at the moment the call connects. If a human has to type anything to find the record, the integration is a search box.
  2. Is the write-back bidirectional, or is it inbound only? A screen pop with no return leg leaves your CRM exactly as stale as it was before you bought anything.
  3. Do recordings and transcripts reach the customer record, and can an agent open them from there? Ask where the audio lives and who can retrieve it six months later.
  4. Can an agent create or close a ticket without leaving the call? If closing a ticket means switching tools, it gets done later, if at all.
  5. Does the caller’s messaging history appear, or only the contact card? The card tells your agent the customer exists. The thread tells them what the customer already asked.
  6. Can CRM segments feed outbound campaigns directly? If the answer involves exporting a spreadsheet every Monday, the two systems are not integrated, they are adjacent.
  7. Who owns the SIP trunk and the numbers, and which country’s number ranges is that trunk allowed to carry? Get this answered before contracts, not during onboarding.
  8. How are integration keys rotated, and can you test the connection yourself? Look for a test-connection control you can press without raising a support ticket.
  9. What happens when the number does not match? Ask what the agent sees on a withheld number, a new handset or a missed call, and what gets written to the record in each case.
  10. Is the integration shipped or on a roadmap? Ask for the date it went live and the name of a team already running it.

If you run a BPO serving several client brands, tenant isolation matters as much as the CRM link, and our guide to white-label contact centre platforms for BPOs covers that side of the build.

Ten checks to run in a contact centre CRM integration demo, from automatic caller resolution by phone number and bidirectional write-back through to who owns the SIP trunk and whether the integration is shipped or still on a roadmap

How VoiceConnect and KOVA IQ share one customer record

Arkesel VoiceConnect is the cloud contact centre and IVR platform: a visual IVR builder, queue routing, a browser softphone your agents run without installing anything, outbound dialling and AI post-call analysis. KOVA IQ is the messaging-first CRM: WhatsApp, Instagram, Messenger and live chat in one queue, ticketing with SLA tracking, and a Customer 360 timeline for every customer.

The integration between the two is shipped, and it runs both ways. An inbound caller is resolved in KOVA IQ by phone number and returned with open tickets and recent conversations before your agent speaks. That record opens in the VoiceConnect agent app, where your agent is already taking the call.

Call events flow back onto the KOVA IQ timeline when the call ends, and KOVA IQ segments import into VoiceConnect outbound campaigns. Your admins map agents between the two systems, rotate the integration key and test the connection from the KOVA IQ admin screens.

If your customer records already live in another CRM, say so in the first conversation. The shipped, two-way path today is VoiceConnect with KOVA IQ, so put your own stack to us the way check 10 asks: shipped or roadmap, and who is already running it.

In Ghana, Arkesel supplies the SIP trunk and the numbers, with direct connections to MTN, Telecel and AirtelTigo. A business that already holds its own SIP trunk can run VoiceConnect on that trunk instead, with the trunk restricted to its own country’s number ranges.

Moving off on-premise hardware at the same time? Our comparison of a cloud contact centre versus a traditional PBX covers the switch, and for the wider picture of queues, staffing, numbers and reporting, start with the full guide to running a cloud contact centre in Ghana. What each package includes sits on our pricing page.

Related Articles

What to have ready before you talk to us

Five things make the first conversation productive:

  • Your inbound call volume and the hours you answer.
  • Where your customer records live today.
  • Which messaging channels your team already replies to.
  • Whether you hold your own SIP trunk.
  • The two or three agents who will use it first.

The real test of contact centre CRM integration is the first ten seconds of a call. Either your agent knows who this is, or the customer starts again from the beginning. Talk to our team and see what your agents would see on the next call.

The post Contact Centre CRM Integration: How to Give Agents the Whole Customer Before They Say Hello appeared first on arkesel.com.

]]>