USSD Funnels Guide
All suggested CleverTap funnels for the Uganda USSD service (*284*300#). Each funnel includes the exact steps, filters, and the product question it answers.
February 2026
Uganda
8 Events
11 Funnels
How to Read This Guide
Each funnel card shows:
Must Have
Essential for launch — set up in CleverTap immediately
Should Have
Important for optimization — set up within first week
Nice to Have
Deeper insights — set up once baseline data exists
Step colors: cherry = entry point, aqua = user action, mauve = decision point, lime = goal/success.
All funnels use a 30-minute conversion window (USSD sessions are short-lived).
Session Start
BE_USSD_SESSION_START
status = loan_found
→
Balance Viewed
BE_USSD_BALANCE_VIEWED
→
Repayment Confirmed
BE_USSD_REPAYMENT_CONFIRMED
→
Repayment Success
BE_USSD_REPAYMENT_RESULT
status = success
Key question: What is our overall USSD-to-repayment conversion rate? Where is the biggest drop-off?
Session Start
BE_USSD_SESSION_START
status = loan_found
→
Balance Viewed
BE_USSD_BALANCE_VIEWED
→
Full Confirmed
BE_USSD_REPAYMENT_CONFIRMED
payment_type = full
→
Success
BE_USSD_REPAYMENT_RESULT
status = success
Key question: What % of users choose full repayment, and what is the success rate? (Expect higher conversion than partial — fewer steps.)
Session Start
BE_USSD_SESSION_START
status = loan_found
→
Balance Viewed
BE_USSD_BALANCE_VIEWED
→
Amount Entered
BE_USSD_AMOUNT_ENTERED
valid = true
→
Partial Confirmed
BE_USSD_REPAYMENT_CONFIRMED
payment_type = partial
→
Success
BE_USSD_REPAYMENT_RESULT
status = success
Key question: How much does the extra "enter amount" step hurt conversion vs full repayment? Is the amount entry UX causing drop-off?
Repayment Drop-off & Failure Analysis
Balance Viewed
BE_USSD_BALANCE_VIEWED
→
Repayment Confirmed
BE_USSD_REPAYMENT_CONFIRMED
vs
Cancelled
BE_USSD_REPAYMENT_CANCELLED
Key question: What % of users reach the confirmation screen but cancel? Are amounts too high? Is the confirmation wording unclear?
Repayment Confirmed
BE_USSD_REPAYMENT_CONFIRMED
→
Success
BE_USSD_REPAYMENT_RESULT
status = success
vs
Failed
BE_USSD_REPAYMENT_RESULT
status = fail
Key question: What is our payment success rate? Which error codes are most frequent? Are failures concentrated on certain users or times of day?
Balance Viewed
BE_USSD_BALANCE_VIEWED
→
Invalid Amount
BE_USSD_AMOUNT_ENTERED
valid = false
then
Valid Amount
BE_USSD_AMOUNT_ENTERED
valid = true
Key question: What % of amount entries are invalid? Do users recover (retry with valid amount) or abandon? Should we show clearer validation hints?
Registration & Onboarding Funnels
Session Start
BE_USSD_SESSION_START
status = no_payment_method
→
Registration OK
BE_USSD_REGISTRATION
status = success
→
Balance Viewed
BE_USSD_BALANCE_VIEWED
→
Repayment Success
BE_USSD_REPAYMENT_RESULT
status = success
Key question: Is inline registration effective? Or do users drop off after registering (too many steps in one session)?
Session Start
BE_USSD_SESSION_START
status = no_payment_method
→
Registration Success
BE_USSD_REGISTRATION
status = success
vs
Registration Failed
BE_USSD_REGISTRATION
status = fail
Key question: What is the registration success rate? If low, is it a UX issue (users entering wrong format) or a backend issue (verification failures)?
Unregistered User Acquisition
Session Start
BE_USSD_SESSION_START
status = unregistered
→
Menu Selection
BE_USSD_UNREGISTERED_MENU
Group by the choice property to see the split:
📲
Choice 1
Download the app
📞
Choice 2
Contact support
🔔
Choice 3
Request callback
Key question: Which CTA resonates most? Is USSD driving app downloads? Should we change the menu order or wording?
Unregistered Menu
BE_USSD_UNREGISTERED_MENU
choice = 1 (download)
→
SMS Sent
(SMS delivery log)
→
App Signup
App signup event
same phone number
Key question: Is USSD an effective acquisition channel? What is the SMS-to-signup conversion? (Requires cross-platform identity matching by phone.)
Create as a pie chart / bar chart in CleverTap, not a funnel. Event: BE_USSD_SESSION_START, grouped by status.
no_payment_method
Needs registration
no_active_loan
No outstanding loan
kyc_not_verified
KYC incomplete
Key question: What % of USSD traffic is actually repayment-eligible? How much is unregistered users discovering the code? Are error rates acceptable?
Summary — All 11 Funnels at a Glance
| # |
Funnel |
Steps |
Priority |
Answers |
| 1 |
Overall Repayment |
Session → Balance → Confirm → Success |
Must |
End-to-end conversion rate |
| 2 |
Full Repayment |
Session → Balance → Confirm (full) → Success |
Must |
Full repayment adoption & success |
| 3 |
Partial Repayment |
Session → Balance → Amount → Confirm (partial) → Success |
Must |
Amount entry friction & conversion |
| 4 |
Cancellation |
Balance → Confirmed vs Cancelled |
Should |
Why users bail at confirmation |
| 5 |
Repayment Failure |
Confirmed → Success vs Fail (by error_code) |
Should |
Payment success rate & error patterns |
| 6 |
Invalid Amount Entry |
Balance → Invalid → Valid recovery |
Should |
Amount input UX quality |
| 7 |
Registration → Repayment |
Session (no PMT) → Register → Balance → Success |
Must |
Inline registration effectiveness |
| 8 |
Registration Success/Fail |
Session (no PMT) → Success vs Fail |
Should |
Registration pass rate |
| 9 |
Unregistered Engagement |
Session (unregistered) → Menu choice |
Must |
Which CTA works for non-users |
| 10 |
USSD-to-App Conversion |
Menu (download) → SMS → App signup |
Nice |
USSD as acquisition channel |
| 11 |
Session Outcome Distribution |
All sessions grouped by status (chart) |
Must |
Channel health & traffic mix |
CleverTap Setup Notes
1
Conversion Window
Use 30 minutes for all USSD funnels. Sessions timeout after 5 minutes, but allow buffer for retry flows.
2
Identity Resolution
Events use user_id when known, phone_number when not (unregistered users). CleverTap should resolve both to the same profile once the user signs up.
3
Event Naming
All events use the BE_USSD_ prefix. They appear under this prefix in CleverTap's event list.
4
Pipeline
ussd-service → SNS topic → events-service → CleverTap. Events arrive in near real-time (seconds).
5
Full vs Partial Comparison
Set up funnels 2 and 3 side by side to compare conversion rates. The key delta is the amount entry step — if partial drops off significantly more, consider UX improvements (e.g., suggested amounts).