TMS Feature - Campaign Manager

TMS Feature - Campaign Manager

The purpose of campaigns is to improve efficiency and outcomes compared to manual calling by introducing structure, automation, and optimisation into the calling process. Instead of isolated manual dialling, campaigns allow calls to be managed at scale with controlled timing, retry logic, and performance tracking, resulting in more consistent and measurable results. 


The Campaigns menu item enables the administrator/manager to create a campaign. The main page is an overview of created campaigns, and the “Add Campaign” button is on the top right of the page




In the campaign overview, the following information can be seen: 

  • The campaign name

  • Campaign Type: Preview, Power or Auto (To be explained)

  • A progress bar indicates how far the campaign has progressed. Selecting the progress bar will show a tooltip with the progress percentage as well as the outstanding target.

  • Campaign status: If the campaign is active (Green Circle), inactive(Red Circle), or completed (Blue Tick).

Note A blue tick only shows for campaigns and lists with targets, and if they were set to automatically stop once the target was reached. This does not work for campaigns or lists with no target 

  • Date Created: The day the campaign was created. 

  • Action Buttons. 

    • A Play/Pause button

    • Arrows to move the campaign up or down

    • Manager button to adjust campaign settings. 

  • = to move the campaign in the list order:


Note: When an agent is allocated to more than one preview campaign, they will receive leads from the higher-priority campaign first, until that campaign is completed or its leads are exhausted. However, an agent can't belong to more than one power dial campaign at a time. If an agent is part of a power dialler campaign, they are not able to be added to any other campaigns. 


It is possible to create several campaigns, each with different agents assigned if desired. 

An administrator can create a campaign only if this has been enabled in their “Permission” menu in TMS Users. Likewise, Agent extensions will only be assigned to a campaign if this feature has been enabled for them.


Campaign Creation 

Before a campaign can be created, the campaign type needs to be established. There are different campaign types to cater to various business cases; each has its own attributes and parameters.


Campaign Types

There are different campaign types available to cater for varying business cases; these are beyond the scope of this manual and will be covered under specialist topics. Each campaign type has its attributes and parameters.


Preview

Preview Dialler selects a contact for an available agent and then works through each number in the contact until there are no more numbers to try or a result is reached. This approach means no leads are wasted, and every number that should be attempted is attempted. When the contact has been chosen, the contact's information is displayed to the agent, allowing them to familiarise themselves while a countdown begins. When the countdown ends, the system will dial automatically on the agent's behalf.


Power-Dial

Power-Dial campaigns are generally better suited to scenarios with vast numbers of contacts, which come at little or no cost, so wasting leads is less of a consideration than agent idle time. When an agent is flagged as idle, the system selects multiple contacts and then dials a single number from each of those contacts. The first person to answer is then passed to the agent. The remaining contacts who answer may be routed to a set of actions, such as a message or a queue of available agents.


Auto Dialler

Auto Dialler is a voice broadcasting dialler that runs calls independently from any extension. It calls on a concurrency scheme rather than a ratio because of independence. Its primary function is to call high volumes of leads very rapidly. An example where this would be useful is to test reachability on a list of contacts. 


Note: Auto-dialer campaigns are charged per contact reached on the list (Successful answer and voicemail), not for all contacts on the list itself. Please speak to a sales representative for more information or clarification. 


Scripts

There are 2 Script Options: 

  • Text Script

  • Interactive Script


Text is used to create a written script that needs to be followed to the letter. Custom Fields, or Placeholders, can be added to create a personalised conversation. These placeholders will automatically be replaced with the relevant data uploaded with the list of contacts.


Note: Custom fields do not pull through to standard reporting(example, Call Disposition reporting.) If reference numbers are important for tracking, they need to be mapped to CrmTags. 


An interactive script allows the managers to add a scorecard on what must be covered during the conversation. This allows the agent free rein on how to interact with the client, as long as all points are covered.


Campaign Parameters

Parameters available are dialler-dependent. 


Preview Campaign Parameters

Wrap-Up Time

The Wrap-up time parameter specifies how long an agent will have to disposition a call after the hangup, i.e., provide an outcome for the just-completed call. The wrap-up timer countdown is visible to the agent on the Post-Call Wrap-up screen. Agents should aim to submit their disposition before the timer reaches zero. If a disposition is submitted early, the agent is immediately returned to an available state without waiting for the timer to expire.

Preparation Time

Preparation time is the amount of time, in seconds, that an agent will have to familiarise themselves with the next contact information. This will count down and, upon reaching zero, will dial. This countdown can be skipped by pressing the Dial button.

Max Call Attempts Per Number

The Maximum Call Attempts Per Number indicates the amount of times a number will be tried before it is deemed unreachable.

Minimum Contact Interval

A Minimum Contact Interval establishes the shortest time before a contact may be retried.

CallerID

The number used to make the calls. This can be set as Anonymous, a randomised pool, a verified CLI pool, a personal caller ID, or a static number.


  1. Randomised Pools allow agents to call using a caller ID randomly selected from a pool. This gives the advantage of not being recognised by the contact, as the feature ensures different DIDs will show on the contact's phone. If using a randomised pool, please remember it must be created in advance. Only geographic numbers are used in randomised pools, not extension numbers. Cell phone numbers can be used for preview and power dialer campaigns, not for auto dialer campaigns. 
  2. A Verified CLI pool is a pool of numbers that has been confirmed. Depending on the agreed-upon package, the CLI pool will show the company name or rotate the number within a specified timeline. Please speak to a euphoria representative for more information on verified CLI pools
  3. The Personal caller ID is the number assigned to an extension as the CLI. The dialler will use whichever CLI is configured for the agent as the outgoing CLI on all calls. If the campaign CLI is selected, it will override the individual ID set on an extension.
Ring Time

Ring Time indicates the maximum number of rings the call will be allowed before it is considered unanswered, and the next number is called.


Power-Dial Campaign Parameters

Some of the parameters are the same for the preview Diallers. The ones that are slightly different are: 

Minimum Contact Interval

A contact can have multiple numbers. The minimum contact interval will now indicate the minimum amount of time before a particular number of a contact is attempted again. 


Note: Minimum contact interval is one of several aspects that is considered for the contactaibility if a list. Contacts are selected firstly on their priority (so that redials and callbacks, for example, take precedence) and then based on their number of attempts, and from there the numbers within a contact are chosen from an ascending number of attempts. This means that the least dialled contact will be chosen, and then the least dialled number of that contact will be chosen. If all things are considered equal, then the system will base calls on the order that they were provided. 

Dial Ratio

The number of contacts that are selected for the dialler server to call at one time. Because the power dialler works down the list, only one number per contact will be selected. When answering machine detection recognises that a number is not available, another contact’s number will be added to the list of dialled numbers. 

Answering Machine Detection

This button can be enabled to assist the dialler server in detecting voicemail, as well as any other machine that answers a call, such as IVRs. When an answering machine is detected, the system will automatically select a disposition of unsure. Therefore, not occupying agent time with calls that have been answered by voicemail. 

Overflow Hunt List

An Overflow Hunt List in Power Dialler will redirect a second contact's calls when more than one contact has answered. As a huntlist makes use of queues, this will activate additional queue analytics, which will be discussed further in the  analytics lesson.

Trigger PD(Power Dialler) Call on 

Trigger Power Dialler will indicate when to dial the next set of contacts. If the power dialler is triggered on disposition, it means that the agent will be able to complete the disposition report before the dialler selects the next set of contacts. If the power dialler is triggered on the hang-up of a call, the next set of contacts will be dialled whilst the agent is filling in the disposition report. 


Auto-Dial Campaign Parameters

The auto dialler parameters are different from the preview and power diallers, as no agents are needed.


Overflow Hunt List

When a caller decides to hold after the announcement has played, they will be sent to the huntlist. An example of this is when a caller hears a promotional announcement and is interested in the product or service. As the auto dialler does not make use of dispositions, the hunt lists analytics will be seen in the outbound queue.

Announcement to Play 

Chosen from the list of available recordings in the system.


General Campaign Parameters

Custom Fields

Custom fields allow for non-standard information to be added to the script and appear on the agent’s screen when the contact is being dialled (or, in the case of Power-Dialler, on the phone). Custom fields are used to add additional information to the agent's view. This information is imported with the contact list and needs to be in individual columns. When more than 5 custom fields are needed, it is recommended to add a webhook that links to the CRM with the client's details.


Dispositions


Dispositions are used to provide outcomes for each call; this is particularly useful in reporting the progress and results of a campaign, and is done in the wrap-up time. 

Dispositions can be enabled in two contexts in TMS: on queues and on campaigns. While the underlying mechanics are similar, there are important differences in how they are configured, what they capture, and how they interact with the retry engine.


Queue Dispositions

Queue dispositions are optional and must be enabled on each queue individually by the administrator. When enabled, agents handling calls through that queue are presented with the dispositioning process after each call. Queue dispositions are well-suited to inbound call handling scenarios where agents need to record the outcome of customer-initiated calls, for example, whether a support query was resolved, whether a callback was scheduled, or whether a complaint was logged. Queue dispositions use the same category structure (Success, Unsure, Failed) but do not interact with a campaign’s retry engine or contact list. Because inbound queues do not manage contact lists in the same way campaigns do, a failed disposition on a queue call does not trigger any retry logic; it is recorded for reporting purposes only.


Campaign Dispositions

Campaign dispositions are integral to the campaign’s operation and are always active when a campaign is configured. They are assigned at the campaign level and are specific to the outcome options relevant to that campaign’s purpose. Dispositions directly drive the campaign engine: a failed contact disposition and a success disposition flag the contact as no longer available. From the active pool. A failed number flags that particular number, not the whole contact, as unavailable. Unsure outcome, leaves the contact and number as being available for retry. The key distinction is that campaign dispositions are operational; they control what happens next to a contact, while queue dispositions are primarily informational, feeding into analytics and reporting without affecting a contact list or retry schedule. During this period, the agent is automatically placed in a system pause state labelled “Wrapup”, which is classified as a productive pause and is reflected accordingly in Time and Attendance reporting. 


Note: Frequent No Submission dispositions for a particular agent may indicate that the wrap-up time allocated is insufficient for the call type, or that the agent requires additional training on the dispositioning process.


Campaign setup allows for different dispositions to be created for each campaign and reported accordingly. There are some default tags in each category, and these are flagged with an asterisk (*) to identify them. Every disposition in TMS is assigned to one of three behavioural categories: Success, Unsure, or Failed. The category drives how the system treats the contact after the call ends, whether to retry, hold, or permanently remove the contact from the active pool. Selecting the correct category is critical, as it directly affects campaign retry behaviour, contact management, and the accuracy of all reporting.


Category

Sub -Type/Label

Description

Success



The desired outcome has been reached. The contact is completed and removed from the retry pool. Counts toward the campaign’s target metrics.

Unsure

Voicemail, Unavailable, Redial, Call back, No Agent, No Answer, Overflow, No Disposition Submission

Viable for retry. May be set automatically when answering machine detection is enabled. No clear outcome as yet. 

Failed

Number

The specific number is unreachable, invalid, or permanently out of service. Will not be attempted again. Other numbers on the contact record may still be tried.


Contact

All retry attempts across all numbers for this contact have been exhausted. No further call attempts will be made. The contact has asked not to be contacted.


Unsure means there is no finite outcome, and this contact is still viable to be called again. There are multiple scenarios that could cause an unsure disposition: 

  1. Voicemail: The call connected to the network and was answered by a voicemail inbox. The contact was reachable in principle but was unavailable to speak. Where the answering machine detection feature is enabled, Voicemail dispositions may be applied automatically by the system without requiring agent input.
  2. Unavailable: The network reports that the device or SIM card cannot be reached at this time, for example, “The subscriber you have dialled is unavailable, please try again later ”. This generally indicates the handset is switched off, out of coverage, or roaming without data. The contact is still viable for retry once the device is likely back online.
  3. The Max retries parameter interacts with this category when the Max retry value is reached; the outcome is changed to a Failure state of “Unreachable”. This would be either a Number Failure or, should there be no further numbers to try, a Contact Failure.
  4. If the agent does not submit a disposition before the wrap-up timer reaches zero, TMS automatically submits a disposition on the agent’s behalf: the category is set to Unsure, and the outcome is recorded as “No Submission”. This ensures that every call in the system has a recorded outcome, preserving the integrity of analytics and retry logic. The contact will be returned to the retry pool as an Unsure contact.

There are certain system-generated and other mandatory dispositions in the platform; these are listed in the table below with their categorisations and a description of the disposition.



Disposition

Category

Description

Agent Unavailable

Unsure

An agent is already in a call, paused, or logged off 

Callback

Unsure

The agent scheduled a callback

No Answer Preview, Power and Auto

Unsure

The system auto-detected no answer (only when there is no voicemail)Timeout Triggered. 

No Submission

Unsure

The agent didn't submit a disposition (Wrapup time timed out)

To Overflow

Unsure

It's to indicate that the call got answered and went to overflow (only for PD)

Voicemail Preview

Unsure

An agent submitted that the call was answered by voicemail

Voicemail - Power and Auto Dialler

Unsure

The system detected via Answering Machine Detection (AMD) that the call was answered by voicemail. Submitted automatically by the system, not the agent. 

Redial

Unsure

The agent selected to Redial the previous number

Max Attempts Reached

Failed Number

When the "Max retries" value for the campaign is reached for a particular number

Wrong Number

Failed Number

An agent submitted that this number is incorrect for this contact

Invalid

Failed Number

An agent submitted that the number dialled was invalid

Invalid_PD

Failed Number

Power Dialler submitted that the number dialled was invalid

DNC

Failed Contact

Contact requested to be added to a "Do Not Call" list

Unreachable

Failed Contact - Derived (Landed at)

When all numbers within a contact have failed, then the contact is considered unreachable.

Unavailable Preview and Power and Auto Dialler

Failed Number

The network was unable to reach the device. The handset may be switched off, out of coverage, or the SIM is not active on the network 

To Agent - Auto Dialer

Unsure

The caller chose to hold after the announcement played and was redirected to an available agent via the configured overflow hunt list 


Note: Disposition Data in Campaign Analytics

Disposition data surfaces in real time across the Campaign Analytics view, presenting a breakdown of Successful, Unsure, Failed Number, and Failed Contact outcomes per campaign. As a campaign progresses, managers should expect: 

  1. The Unsure count decreases as contacts are retried; the Success count grows; the Failed Contacts count stabilises toward the end of the campaign lifecycle. A spike in Failed Numbers is a signal to investigate contact list data quality. As *propensity data matures, retry efficiency typically improves across subsequent passes.


* As a campaign progresses through retry passes, the system accumulates call history for each contact and builds a profile of when that contact is most likely to answer, based on the days, times, and patterns observed across previous attempts. This is referred to throughout the following scenarios as propensity-to-answer data or the propensity engine.


Reporting data is explained further after the Campaign List section.  


Agent Permissions

Update Contact Details

Allows the agent to modify or add to a contact’s details, particularly useful in adding alternative numbers to a contact.

Add new customers

Enables agents to add contacts to the current list.

Add notes

Allows an agent to make notes either in the Agent Workspace whilst on the call or in the disposition window at the end of the call. These notes are stored with the call dispositions.

Set CRM Tag

This is also available in-call or in the disposition window and allows an agent to capture a reference number and associate it with the call. These tags are also helpful in searching for calls in Call Detail Records or Recordings pages.

Allow incoming calls during prep.

Will enable an agent to receive an inbound call during the preparation countdown; the countdown will then resume when that call is complete. If this is not enabled, calls will be automatically rejected.

Sticky Agents

Sticky Agents allow contacts to be assigned to agents who have tried or have made contact with the client.

Allow Early HangUp

Allow Early Hang Up allows the agents to hang up on a call before the specified ring timeout.

Targets

It is possible to create targets for a campaign, namely, Total Calls, Completed Contacts, Successful Calls or Financial Target. Note that targets are also available at a list level.


Financial Target

The Financial Target option allows a campaign to be run toward a specific monetary goal rather than being measured solely by call volume. A Financial Target is typically used where the success metric is a rand value of sales achieved, a revenue threshold, or a defined financial outcome. When Financial Target is selected, the agent needs to add a financial value in the wrap-up form. (This same concept applies to all targets)


As the campaign runs, progress is tracked in real time in the campaign’s reporting view, allowing the manager to monitor commercial performance at any point during the campaign’s operation.


Auto-Deactivation on Target

When the “Auto deactivate when reaching the target” option is enabled, the campaign stops automatically as soon as the target value is reached, with no manual intervention required. This is particularly useful for cost-controlled campaigns where continuing beyond the goal would result in unnecessary expenditure. Deactivation is immediate: any calls queued for retry are halted, and agents stop receiving new call assignments from the campaign. If auto-deactivation is not enabled, the campaign continues past the target, allowing the manager to deactivate manually at their choosing or until the contact list is depleted.


Campaign Manager Page

The Campaign Manager page allows for an overview of parameters, with buttons to Edit or Delete the campaign and options to link to the statistics, add webhooks, assign agents and manage lists.




Add a Webhook

Webhooks are a mechanism to allow the platform to interact with other systems. These can be added to campaigns to allow feedback or the start of a workflow in a secondary system to the TMS, such as a CRM platform. Webhooks must already exist in order to be selected within campaigns; these are created in the API & Integration.


The action of the webhook can be seen in the Agent Workspace and will be covered in the corresponding chapter.

 

When a webhook is added, three settings are available:

  • Which webhook

  • When to Fire, i.e. what event will  initiate the webhook

  • Behaviour, i.e. whether to ask or  just to do it.


Stats

Here, an administrator will find all information, including how many calls were completed, how many failed and why.  These stats are linked to the administrator’s Campaign Analytics tab and will be discussed further in the Analytics chapter.


Agents

Assigning an agent to a campaign means that when they are logged in, the campaign is active, and there are available contacts in an active list, the agent will receive calls from that campaign. Agents assigned at a campaign level will be default agents on all lists of this campaign. Note that extensions will not be available for selection if they have not been enabled as an agent.

 

For an extension to be activated as an agent, the administrator must enable the agent on the Agent tab in the extension manager menu and assign the agent to an outbound queue. 


To assign the agents to a campaign, click on the “Manage” button of the desired campaign on the Campaign Manager page. This will open a new “Manage Campaign” page with the agents and contact lists as well as Stats, Webhooks, Edit and Delete buttons. Select the “Edit” button within the Agents section. 


A pop-up window will appear, with two panes. Agents on the left-hand side arranged according to groups, and groups in the right-hand pane. Should a group be selected, all members of that group will be included. Note: Multi-campaign membership is possible with Preview Dial but not Power Dial campaigns. Should an agent be part of a Power-Dial campaign and are assigned to another campaign, they will be unassigned from the Power-Dial campaign.



Campaign Lists


Once a campaign is set up and agents are assigned, a contact list should be uploaded to complete the requirements needed to start a campaign. Lists available for a campaign are visible at the bottom of the Manage Campaign page and are prioritised by the order in which they are listed. It is essential to note that list priority takes precedence over lead priority. Lists may have their own properties, which will take precedence over those set at the campaign level, allowing different lists within the same campaign to behave differently where required.

Planning Your List 

Before a list is prepared and uploaded, several factors should be considered. Thoughtful list planning directly affects campaign throughput, agent efficiency, and the quality of results produced.

 

  1. List Sizing and Agent Capacity: The size of a contact list should be considered in relation to the number of active agents assigned to the campaign and the intended campaign duration. A list that is significantly larger than the campaign's capacity to work through within a reasonable time window risks contacts at the lower end of the list never being reached, or being reached at a point when the data has become stale. As a general guideline, campaign managers should estimate the expected number of dial attempts per agent per hour, multiply by the number of active agents and the available campaign hours, and size the list accordingly. Uploading lists in stages, rather than as a single large file, allows the campaign manager to maintain better control over pacing and to introduce fresh data as earlier segments are worked through. 
  • Lead Freshness: Contact rate is closely linked to how recently a lead was generated. Industry data consistently shows that leads contacted within 24 to 48 hours of generation have significantly higher answer and conversion rates than leads that have aged beyond this window. As lead age increases, contact rates decline sharply. Campaign managers should aim to upload and activate lists as close to the point of lead generation as possible. Where lists are sourced from external providers or generated through marketing activity, the date on which the data was collected should be confirmed before upload. Lists containing data older than 30 days should be treated with caution, as they are more likely to produce elevated Unavailable and Failed Number rates. The Dialler Trickle Feed feature, covered LATER in this chapter, provides a mechanism for injecting fresh leads directly into an active campaign list in real time, which is particularly effective for maintaining lead freshness during ongoing campaigns.
 
  • List Segmentation: Rather than uploading a single undifferentiated list, campaign managers can improve contact rates and agent relevance by segmenting contacts before upload. Segmentation involves dividing a contact pool into smaller, more targeted lists based on shared attributes such as language preference, geographical area, product interest, or lead source. Each segment can then be loaded as a separate list within the campaign, with its own assigned agents, custom script, and target. This allows, for example, Afrikaans-speaking agents to be assigned to a list of Afrikaans-speaking contacts, or agents with specific product knowledge to be matched to the relevant lead segment. The custom script-per-list functionality supports this approach directly, as described later in this section. Segmentation is particularly valuable in Preview Dialler campaigns, where the agent's ability to personalise the interaction before dialling is a key part of the contact strategy.
  1. List Loading Approaches: When preparing a contact list for upload, the administrator should consider how contact numbers are structured within the CSV file. There are two approaches: loading contacts with a single number per record, or loading contacts with multiple numbers per record. Each approach has its own advantages depending on the campaign's objectives.
    1. Single Number Per Contact: In this approach, each row in the CSV file represents one contact with one number. If the same person has multiple numbers, each number is loaded as a separate contact entry. This method is well-suited to high-volume campaigns where the priority is maximising throughput and working through a large pool of leads quickly. It simplifies list preparation and makes retry tracking straightforward, as each contact entry represents a single dial attempt. The trade-off is that numbers belonging to the same person are not linked within the system — disposition history, notes, and call outcomes are recorded independently per entry, with no unified contact view across multiple numbers for the same individual.
    2. Multiple Numbers Per Contact: In this approach, a single contact record carries more than one number. The system will work through each number on the contact before the contact is considered exhausted and moved to a failed state. This method is better suited to campaigns where the objective is to reach a specific individual rather than simply maximise dials. All disposition history, agent notes, and call outcomes are stored under a single contact record, giving agents and managers a unified view of all attempts made for that person. The trade-off is that list preparation is more complex, requiring that the source data is structured with multiple number columns mapped correctly at the time of import
  1. List Hygiene: The quality of a contact list directly affects campaign performance. Before any list is uploaded, it is considered industry best practice to prepare and clean the data to minimise wasted dial attempts and improve agent efficiency. The following checks should be completed prior to upload.
    1. Numbers should be in a consistent format. South African numbers should be in 10-digit format (e.g., 0821234567), with no spaces, dashes, brackets, or country code prefixes unless the system has been configured to handle these. 
    2. Duplicate numbers should be identified and removed, both within the list being uploaded and across other active lists in the same campaign, to prevent the same contact from being dialled multiple times simultaneously.
    3. Numbers that are known to be inactive, landlines where only mobile numbers are appropriate for the campaign, or numbers obtained from unreliable sources should be removed before upload.


Note: Poor list hygiene is one of the most common causes of high Failed Number rates. A list producing above 15% Failed Numbers on first pass is a strong indicator of a data quality issue in the source data.

 

  • Do Not Call Compliance

 Before a contact list is uploaded, it should be scrubbed against any internal Do Not Call (DNC) records. Contacts who have previously requested not to be contacted, or who have been assigned a DNC disposition in a prior campaign, should be excluded from new lists before upload. This is a legal obligation under the Protection of Personal Information Act (POPIA) and applies to all outbound calling activity.


Note: The TMS system provides a DNC disposition that flags a contact at the point of the call, but proactive scrubbing before upload is the responsibility of the campaign administrator and should not be relied upon as the sole DNC management mechanism.

 

Adding a List

To add a list, click on the Add List button. A pop-up window will appear. Lists may have their own properties, which will take precedence over those set at the campaign level.

  1. Name
  2. Inherit target from the campaign
  3. Target: Type and value, should inheritance be disabled (When a target is set on a list level, this will overrule the campaign target for that list of contacts)
  4. Auto-deactivate when reaching the target.
  5. Custom script(When a script is created on list level, this will overrule the campaign script)
Uploading Contacts via CSV

Upload a CSV spreadsheet by selecting the upload area to browse the local machine, or drag a file onto the window. Once the list is imported, the categories need to be checked to ensure that all information matches the configured field settings, i.e. the first name is in the First Name field.

Note: A contact in a list can only be deleted if they have not been dialled before.
Uploading via SFTP

As an alternative to manual CSV upload, Euphoria provides a dedicated SFTP server that allows contact lists to be automatically ingested into a campaign. Once a file is created via a client's CRM and placed in the correct location with the correct naming convention(This should be done by a technical person in the company), the system will pick it up and load it automatically, removing the need to upload lists manually through TMS. The SFTP server is hosted at sftp.euphoria.co.za. Access credentials are provisioned by Euphoria.  (Please contact a Euphoria representative to request SFTP access.) Euphoria will need to Whitelist the client's information to ensure that a firewall does not block the information. 


  • Folder Structure

Files must be placed in the uploads folder on the SFTP server, within a sub-folder that corresponds exactly to the campaign name as configured in TMS. For example, a campaign named Absa_OBS_PD would require a folder path of uploads/Absa_OBS_PD/.


  • File Naming Convention

The file name must end with _YYYYMMDD.csv, where YYYYMMDD represents the date on which the list should run. The portion of the filename before the date suffix may be named freely. Campaign and List fields are irrelevant in the list, the service picks up the campaign name from the folder name, and the list name is derived from the filename. 

Example: ContactList_20241215.csv


Note: File naming is critical. Files that do not follow this convention will not be ingested automatically.

  • File Content and Field Mapping

The order of columns within the CSV file does not need to follow a specific sequence; however, it is best practice to place the most contactable numbers first when more than one number is allocated to a contact. The column headings need to correlate with the field settings configured in TMS. Custom fields are an important exception. Rather than using the field label as the column heading, custom fields must be mapped using the headings Custom1 through Custom5, corresponding to their order in the campaign’s custom field configuration. TMSv3 only caters for 5 custom fields so anything you put in Custom6 or 7 won't be 

Ingested. Phone numbers should be in local format (0649001428) or E164 format (27649001428 or +27649001428), and multiple numbers should be / delimited, i.e. 0649001428/0649001427. 


Note: If custom field columns are not correctly labelled, the data will not map to the correct fields on the agent’s screen.


Add Dialler Trickle Feed 

Dialler trickle Feed is an API call that allows a user to push contacts directly into a specific contact list of a campaign in order to be dialled by one of their agents as a priority. This can be done through any type of URL where lead generation is done, for example, Facebook. The lead will feed into the top of a campaign list automatically  as a priority.

Dialler Trickle feed can be used with both a preview and a power dialler, but is recommended for the preview dialler.

An example of this would be when a user adds their information to a Facebook page and specifies their language. The lead will then be added to the list with that language specification in the campaign. To set up this API key for dialler trickle feed, please refer to the API Documentation on the Support Portal.

Viewing Contact Histor

Within each campaign list, an administrator will be able to view the most recent campaign history and the details of each call. This includes all the contacts' dial statuses with a time, number of attempts, and the agent who last called them. More details of the disposition are available in a tooltip when clicking on a contact name, whilst further contact history details can be found by selecting the Detail button


Note: The number shown next to the contact name is the last contacted number. 

List Agents


Once a list has been created, agents can be assigned to it. Agents already assigned to the campaign will already be selected. Assigning agents at the list level allows for targeted allocation, such as pairing specific agents with a particular segment or language group, which complements the segmentation approach described earlier in this section.
List Priority

Lists are prioritised by the order in which they appear on the Manage Campaign page. The list at the top will be contacted first. A drag-and-drop handle is available to the left of the list name to reorder list priorities. It is essential to note that list priority takes precedence over lead priority. When multiple lists are active within a campaign, agents will work through contacts in the higher-priority list before moving to the next.


Understanding reporting data 


Disposition data tells a story about how a campaign is performing. The scenarios below describe common patterns that campaign managers will encounter in analytics, explain what the data means, and suggest appropriate actions. These scenarios are illustrative; actual figures will vary by campaign, list quality, and industry.


Core Principle: LSM Defines Behavioural Baseline

In Euphoria campaign analytics, Living Standards Measure (LSM)  is the primary lens through which disposition data is interpreted.

Contactability, timing, device stability, and response behaviour all shift significantly across LSM groups. Without this context, disposition metrics risk being misread as system or campaign inefficiencies when they may simply reflect expected audience behaviour.

Before interpreting any campaign outcome, the manager establishes a key principle: there is no universal definition of normal contactability. Contact rates vary significantly depending on who is being called, not just how the campaign is configured. Office-based users may show predictable weekday availability, while shift workers and informal sector users tend to show irregular or split availability windows. Lower-income or shared-device households often have intermittent and unpredictable access, whereas higher-stability segments show more consistent reachability patterns. Identical contact rates can therefore represent fundamentally different realities depending on the underlying audience.

Lower LSM segments (LSM 1–4) typically show shared or rotating device access, higher natural unavailability, inconsistent network or power availability, and greater variability in reachability patterns. Higher LSM segments typically show more stable device ownership, predictable availability windows, and stronger data reliability and consistency.

Contactability is not a fixed KPI. It is a reflection of audience structure and accessibility patterns, and must always be interpreted before operational changes are made.

Scenario 1: High Voicemail Rate: Calling Window is Behavioural, Not Fixed

After the first week of a Power-Dial campaign, analytics show 65% Voicemail and 12% Successful connections. The campaign is running between 09:00 and 11:00.

The first interpretation step is to challenge a common assumption: that calling windows are inherently aligned to standard working hours. In reality, calling windows are defined by when the target audience is actually reachable, and this varies significantly by segment. Different audiences have different availability patterns, and calling windows should reflect this rather than defaulting to standard business hours.

In lower LSM segments, voicemail rates are naturally higher due to shared device access, prepaid airtime constraints, inconsistent network coverage, and the reality that devices are frequently switched off or rotated between users. In these environments, voicemail is not necessarily a failure, it is often a structural outcome of accessibility constraints.

The manager evaluates the actual observed reachability patterns by time of day, the dataset composition and LSM weighting, data age and number stability, and CLI recognition and trust behaviour. After identifying both misaligned timing assumptions and audience-driven constraints, the calling window is adjusted to 12:00–14:00 and 17:00–19:00. Voicemail drops to 35% and Success rises to 28%.

Interpretation: High voicemail rates must be interpreted as a combination of audience accessibility and operational configuration, not timing alone. Calling windows are behavioural outputs, not predefined business-hour assumptions.


Scenario 2: Sudden Unavailable Spike: Structural Behaviour vs System Fault

Mid-campaign, Unavailable dispositions spike from 15 to 80 in a single day. Before assuming a system issue, the manager evaluates whether the spike is structural (audience-driven) or operational (system or data-driven).

In lower LSM segments, intermittent connectivity is common, devices may frequently be switched off, network coverage is inconsistent by geography, and availability is structurally unstable. This can result in natural spikes in unavailability without any campaign change. The manager checks for external disruptions such as load-shedding, outages, or public holidays, whether the spike is isolated to a specific batch or segment, and whether higher-stability segments are also affected.

Interpretation: If concentrated in lower LSM contacts or isolated to a specific time window, the spike may reflect normal behavioural conditions. If it appears across stable segments or specific data batches, it indicates a data or system-level issue requiring intervention.


Scenario 3: High Failed Numbers: Data Integrity vs Structural Churn

At the end of the first pass, 28% of numbers are marked as Failed. Before treating this as a pure data quality issue, the manager evaluates data stability patterns within the audience composition. The manager reviews the data source and acquisition age, whether failures are concentrated in specific segments, and whether ingestion or formatting issues may have contributed.

Interpretation: Failed Numbers are a permanent outcome and cannot be recovered through retries. However, their rate must be interpreted against the audience structure. In lower LSM-heavy datasets, higher failure rates may be structurally expected due to SIM and number churn, while in higher LSM datasets, the same rate indicates a clear data quality issue requiring immediate investigation.


Scenario 4: Retry Pass Improvement: Behavioural Learning in Context

Across multiple retry passes, Success rates improve from 18% to 31%. This improvement is driven by the interaction between propensity-to-answer learning and underlying audience behaviour patterns. As the system builds historical response data, it identifies individual contact response tendencies, optimal time-of-day windows, and segment-level behavioural patterns.

Different audience structures influence how quickly this learning stabilises. Some segments produce predictable patterns early, while others require more interaction history due to irregular availability, particularly in lower LSM groups where device access and connectivity are less consistent.

Interpretation: Improving performance across retry passes is expected behaviour. The key driver is not system learning alone, but how well that learning aligns with the real-world behavioural constraints of the audience being contacted. Managers should not judge campaign viability on first-pass results alone.


Scenario 5: Campaign Stalling: Structural Reach Limits vs True Exhaustion

Three weeks into a campaign, Success rates decline from 40 per day to under 10. Failed and Unreachable outcomes increase significantly, and the remaining contacts are on late-stage retries. Before concluding exhaustion, the manager evaluates whether the decline is structural (access-driven) or saturation-driven (true exhaustion).

Some audiences naturally produce late-cycle performance drops due to the gradual reduction of the reachable population over time, the earlier capture of easily contactable leads, and an increasing concentration of structurally hard-to-reach users. Other campaigns stall due to true list saturation, diminishing response probability, or campaign effectiveness limits. The manager evaluates whether remaining contacts share structural accessibility constraints, whether failures accelerated early in the campaign lifecycle, and whether retry optimisation has already reached diminishing returns.

Interpretation: Campaign stalling must be interpreted in context. It may reflect either structural reach limitations within the audience or true list exhaustion. The correct classification determines whether further optimisation is still possible or whether the campaign has reached its natural endpoint.

Across all scenarios, campaign metrics are not self-explanatory. They are outcomes of audience behaviour, data structure, and system configuration interacting together. 


Articles Related “How To” Document Links:

How to Create a Campaign.

How to Adjust Dispositions for a Campaign.

How to Manage a Campaign.

How to Create a Script to the Campaign.

How to Add Agents t the Campaign.

How to Assign a List to a Campaign.

If Agents are Added to a Campaign, are the Same Agents Added to a List on Creation?

Where to Customise a Script?

    • Related Articles

    • TMS Feature - DID Manager

      Direct Inward Dialling (DIDs) numbers are an organisation’s telephone numbers. Within the DID manager tool, an administrator can view and manage DIDs assigned to their organisation. Telephone Numbers Within this sub-menu, an administrator can see all ...
    • TMS Feature - TMS Users

      What is a Manager Login? A Manager login is a configurable and restrictable account that allows a business to set boundaries on a user’s feature and data access. Within the TMS Users page, it is possible to create managers, set permissions, create ...
    • TMS Feature - PBX Manager - Queues

      Call queues coordinate incoming calls. Employees who are members of a queue will receive calls in a specific order, depending on that queue’s settings. Queues are useful when there are many callers and few agents and for statistical purposes, such as ...
    • TMS Feature - Downloads & Tools

      Downloads and tools are there to assist with the day-to-day use of the TMS account and give options to download applications that allow access to functionality not available on the TMS. The tools include Windows applications, development ...
    • TMS Feature - Automated Reporting

      Automated reporting is a Manager login specific function. Most of the reports found under this section correlate to the exports found on the corresponding pages within the TMS. There are currently two categories of the report available: Call Centre ...