SMS Blast Performance — April 2026

Infobip channel · Ghana · Apr 1–28 complete · Apr 29 partial (attribution pending)
Generated Apr 30, 2026
Source: INFOBIP_SMS · SUBSCRIPTION_LOG · SEMANTIC_LAYER.USERS · DOCUMENT_PROCESSING_STATUS
Cost rate: 0.02 GHS/segment · ~14.5 GHS/USD
Apr 29 update (as of Apr 30): Infobip CAMPAIGN_NAME remains null for the Apr 29 "Non-Eligible to Eligible" blast — attribution lag still active. Partial data shown below (4.7K sends, 52% still in PENDING_WAITING_DELIVERY). Re-run tomorrow for final numbers.
Total SMS Sent
897K
7 blast types · Apr 1–29
Unique Recipients
~478K
98.3% receive only 1 type
Total Cost
$1,296
~18,792 GHS · +Apr 29 partial
Best Cost / L0
$0.11
Eligible but no L0
Spam Risk
Low*
*dedup bug in 1 blast
Blast Performance — Apr 1–29 · Conversions = L0 disbursals except where noted
Blast TypeBlastsSendsUnique Recip.Sends/UserDeliveryTarget Action24h48h7d30dConv. RateCost (USD)$/Conv.Verdict
Eligible but no L010165,57176,8622.15x91.9%L0 disbursal5887871,4302,5843.4%$286$0.11Keep
KYC verified w/o Survey856,59829,8911.89x91.2%Survey completion367 sv470 sv768 sv1,137 sv / 545 L03.8%$78$0.14Keep
USSD Dropoffs
25% confirmed USSD · 15% -> app
9349,799208,1321.68x86.9%App sign-up -> L02773817241,3370.6%*$483$0.36*Keep · audit
KYC USSD Boost
29% confirmed USSD · 4% -> app
986,07137,6592.29x80.0%KYC completion65 kyc84 kyc157 kyc84 L00.4%*$119$1.42*Kill
Reset Fido Score6142,55588,8421.60x78.4%Score reset -> L072911351830.2%$197$1.07Kill
Non-Eligible (Apr 16)
Goal: doc upload to boost score
151,43650,4991.02xDoc upload -> score36374149 L0 · 816 docs1.7% doc$71$1.45Fix segment
EasySave240,00040,0001.00x89.8%First deposit35 dep39 dep39 dep39 dep0.1%$55$1.41Kill / Rethink
Non-Eligible -> Eligible
Apr 29 · attribution pending
14,9524,7381.04x17.8%*L0 disbursal66~0.1%†$8$1.33†PARTIAL
TOTAL46896,982~478K1,066+1,425+2,614+4,475+$1,296
* USSD blasts: conv. rate vs. all recipients. Only 25–29% confirmed in SUBSCRIPTION_LOG as USSD users. Non-Eligible conv. rate = doc upload rate.  |  * Apr 29 delivery 17.8% because 52% still PENDING in Infobip. † Metrics provisional — 1 day of data, mixed attribution.
Conversion Curves — Speed of Response
% of 7d conversions arriving within 24h. Fast = SMS-driven. Flat/slow = organic.
24h
48h
7d
30d
24h of 7d
Elig. but no L0
588
787
1,430
2,584
41% SMS-driven
KYC w/o Survey
367
470
768
1,137
48% SMS-driven
USSD Dropoffs
277
381
724
1,337
38%
Non-Eligible (docs)
154
229
529
816
29% — weak
EasySave
35
39
39
39
90% — flat/organic
Non-Eligible (L0)
36
37
41
49
88% — organic
Signal: Healthy SMS-driven blasts show 40–50% of 7d conversions in 24h (Eligible no L0, KYC w/o Survey). Non-Eligible doc uploads at 29% = weakly driven. Non-Eligible L0 at 88% = purely organic.
Spam Assessment
Verdict: Low risk overall
98.3% of users receive exactly 1 blast type. Cross-blast overlap is minimal.
1 SMS
55.1%
2–3 SMS
38.9%
4–6 SMS
6.0%
7+ SMS
0.01%
Dedup bug — Eligible but no L0
1 phone got 2,017 SMS in 3 days. 15+ others got 17–65 copies. ~4,271 wasted sends total.
No cross-channel cap
These 897K Infobip SMS run alongside ~700K+ CleverTap SMS/push with no shared frequency cap.
Cost Breakdown
Total: $1,296 · ~18,792 GHS · Apr 1–29
USSD Dropoffs
$483
Elig. but no L0
$286
Reset Fido Score
$197
KYC USSD Boost
$119
KYC w/o Survey
$78
Non-Eligible
$71
EasySave
$55
$/L0 vs. paid acquisition
$0.11 Elig. no L0 $0.14 KYC w/o Survey $0.36 USSD Dropoffs $1.07 Reset Score $1.42 KYC Boost $1.45 Non-Elig. ~$12.85 Google paid
USSD Attribution — Fixed via BANKING_SERVICE.SUBSCRIPTION_LOG
USSD match rates via SUBSCRIPTION_LOG
Blast Recipients In Sub. Log -> App L0 30d
USSD Dropoffs 208,132 51,740 (25%) 7,918 (15%) 1,337
KYC USSD Boost 37,659 10,846 (29%) 406 (4%) 84
The remaining 71–75% of recipients are phones that dialed a USSD code but dropped before opt-in logged, or used an untracked menu path. These are pre-app users with no identity in any table we have.
To close the gap fully
1. Add drop_step to SUBSCRIPTION_LOG (which menu node they exited)
2. Track USSD session -> app install -> sign-up as a single funnel
3. Source blast lists directly from sub_log so the segment is reproducible
Blast Verdicts & Actions
Eligible but no L0
Keep — fix copy + dedup
Best ROI: $0.11/L0, 3.4% conv., 41% in 24h. Fix two things: (1) 25% of messages are 2-part SMS — trim to <160 chars. (2) Fix the dedup bug — 1 user received 2,017 SMS in 3 days.
KYC verified w/o Survey
Keep
3.8% survey conv., 48% in 24h — strong and fast. 545 of 1,137 survey completers go on to L0 within 30d. $0.14/L0. Check overlap with CleverTap's "GH KYC Done No Survey" blast — may be double-hitting same population.
USSD Dropoffs
Keep — audit segment
$0.36/L0 is good (vs $12.85 paid — 36x cheaper). Worth keeping. But 75% of recipients aren't in SUBSCRIPTION_LOG. Audit: pull the blast list source and cross-check against sub_log. If 75% are real unconverted USSD users, real CPL is even better. If phantom numbers, cut them and halve cost.
KYC USSD Boost
Kill
$1.42/L0. Only 4% of confirmed USSD users ever converted to an app account. The USSD -> app install barrier is structural — SMS can't fix it. Reallocate $119/month to Eligible but no L0.
Reset Fido Score
Kill or restructure
142K sends, zero score resets detected, 183 L0 in 30d. $1.07/L0. Worst delivery (78.4%). CTA isn't resonating — users already have scores. Migrate this list into Eligible but no L0 blast.
Non-Eligible (Apr 16)
Fix segment + CTA
Goal is doc uploads (MTN, POE, POA) to boost score. Only 816 uploaded (1.7%), 13 got L0. Weak 24h signal (29%) — not clearly SMS-driven. Core problem: 58% of recipients already have L0 — their block is debt/recency, not score. Fix: filter to pre-L0 users only (~21K), rewrite CTA to name specific docs + deep link.
EasySave
Kill via SMS / Rethink
40K sends, 39 deposits. 90% respond in 24h (immediate or never) — 0.1% rate is dead. Existing borrowers don't convert to savings via SMS. Try in-app banner at loan repayment instead.
Non-Eligible Blast — Score Document Funnel (SOURCE: DATA.DOCUMENT_PROCESSING_STATUS)
Funnel: 50K recipients -> doc upload -> L0
Blast recipients (app-matched)49,814
Already have L0 (wrong segment)28,97558%
Pre-L0 (right targets for doc boost)20,83942%
Uploaded score doc (MTN/POE/POA/BS/payslip)8161.7%
  within 24h of SMS15429% of 7d
  within 48h of SMS22943% of 7d
Doc uploader who got L0131.5% of uploaders
Diagnosis & Fix
Is SMS driving uploads? Weakly. 29% of 7d uploads in first 24h. SMS-driven blasts show 40–48%. The curve is flat, not spiked.
Is the segment right? No. 58% already have L0 — their block is debt/recency, not score. Uploading docs does nothing for them.
Is the CTA clear? Probably not. 1.7% across 50K people suggests most don't know what to do. Must explicitly name: "Upload your MTN statement, payslip or employer letter."
3 fixes to unlock this blast
1. Segment: filter to users with no L0 + score below eligibility threshold (~21K not 50K)
2. CTA: name exact docs (MTN statement, payslip, employer letter) + deep link to upload screen
3. Target: doc upload rate should move from 1.7% to 5%+ if both are fixed
USSD Tracking — Why It Is Structural, Not a Bug
What USSD users are
USSD users dial *998# and interact with Fido entirely via shortcode menu — no app, no account. The SMS blast tries to convert them from USSD to app user. If they do not install and sign up, they have no identity in our database at all. The tracking gap is not a query problem — unconverted users are invisible to every table we have.
Why 75% are invisible
25–29% completed USSD opt-in — in SUBSCRIPTION_LOG — trackable
~50% dropped mid-USSD-menu before opt-in logged — no record in any DB
~25% source unknown — in blast list but no USSD trace at all
If an unconverted user later installs the app, we match by phone number — but only then.
Verdict per blast
Keep USSD Dropoffs
$0.36/L0 vs $12.85 paid — 36x cheaper. Economics work even with foggy attribution. Audit who the 75% not in sub_log are: real USSD users = keep, phantom numbers = cut them and CPL halves.
Kill KYC USSD Boost
$1.42/L0. Only 4% of confirmed USSD users ever created an app account. The install barrier is structural — SMS cannot fix it.
Attribution caveats: All conversions are observational (no holdout group). True incremental lift is lower than shown. The 24h response rate is used as a causality proxy — fast decayers are more likely SMS-driven, flat curves indicate organic activity. USSD blast conversions reflect only users matchable to SEMANTIC_LAYER.USERS. The ~75% of USSD recipients with no match in any DB table are excluded from all conversion counts. Non-Eligible doc upload funnel sourced from DATA.DOCUMENT_PROCESSING_STATUS (doc types: MTN, TELECEL, POE, POA, BS, PAYSLIP). CleverTap SMS/push (~700K sends in April) excluded from volumes and costs. Non-Eligible to Eligible (Apr 29): CAMPAIGN_NAME null in Infobip; metrics provisional.