Fido Ghana — May 2026 Growth Plan

LN0 Target: 26,402 · Baseline: 26,214 (Apr target) · Budget: $132,000 · CAC Target: $5.00 · New: Google restructure + Meta new campaigns + CleverTap Journeys live
Generated: Apr 27, 2026
Fido Marketing Agent
May LN0 Target
26,402
+0.7% vs Apr target 26,214
31-day month
Proposed Budget
$132,000
+$930 vs April plan
CAC hold $5.00
Daily Target (weekday)
975
Weekend: 633 · Holiday: 584
31-day pace
Daily Budget (weekday)
$4,875
Weekend: $3,165 · Holiday: $2,920
Weighted
CleverTap Journeys
7 Live
J01–J03, J04, J05, J06, J08
+700–1,100 LN0 lift
🤖CleverTap Journey Engine — Phase 1 Live (May 2026)
🟣
New in May: Phase 1 CleverTap journeys (J01–J08) are live. These run in parallel to all paid channels — automated push + SMS at the right funnel moment. Combined expected lift: 700–1,100 incremental LN0/month at near-zero marginal cost (~$0–2 CAC). Journey-attributed LN0 should be excluded from paid CAC calculations — track separately in CleverTap analytics.
Pre-L0 Acquisition Journeys
JourneyTriggerEst. May LN0 Lift
J01 Reg→KYCSignup event+2–3% KYC rate
J02 KYC→SurveyKYC verified+1–2% survey rate
J03 Score→L0Score ≥270+400–600 LN0
J04 IneligibleScore <270+100–200 (lagged)
J08 KYC FailedKYC failure+150–300 recovered
Key: J03 is highest ROI — users already approved, just haven't taken the loan. T+1h push → T+25h SMS → T+3d SMS → T+7d final.
Post-L0 Retention Journeys
JourneyTriggerKPI
J05 L0 OnboardingL0 disbursedL1 reborrow rate
J06 Post-RepayLoan repaid (LN1+)Reborrow within 7d
Guardrail (CRITICAL): DPD >0 = immediate journey exit. Collections owns all DPD messaging. Marketing must not contact any user with active DPD.
Global CT frequency cap: 3 messages / 7 days enforced at platform level. No user receives >3 automated messages per week across all journeys.
Journey Monitoring — May
  • 📊 Weekly CT report: journey entry volumes, CTR, L0 conversion per journey
  • 🔍 J03 holdout check (10% control) — confirm uplift is real
  • ⚠️ Opt-out rate alert if any journey exceeds 3% (J01) or 2% (J08)
  • 🔗 UTM tracking: all journey deeplinks tagged utm_source=clevertap&utm_medium=journey&utm_campaign=[J0X]-gh-may26
  • 🚨 If J01 KYC rate <35% by May 15 → review T+55min timing and SMS fallback
  • 🚨 If J03 L0 rate <8% → check entry trigger latency (target: <10 min from score event)
📅Daily Pace Calendar — May 2026 (Ghana)
ℹ️
Pace model: Weekdays ×1.0 = 975 LN0, Weekends ×0.65 = 633, Holidays ×0.60 = 584. Workers' Day (May 1) is a holiday — depress traffic 40%, compensate Wk 2 by +15% on UAC caps. Salary cycle (May 25–31) is historically peak — hold budget for final sprint. Total 31-day pace = 26,414 (12 buffer over 26,402 target). Today is highlighted in yellow.
DateDayTypeDaily LN0Cumulative LN0% of TargetDaily BudgetCum. BudgetDaily RegCum. RegDaily KYCCum. KYCKey Activity / Event
🔴Google — New Campaign Structure (May 2026)
Restructured from April: Legacy "L0 Signals" campaign fully killed. Dynamic ROAS L0 is the single primary acquisition vehicle. Added GH App Purchase as a parallel volume driver. PMAX retained for brand/FidoBiz. All incremental budget goes to Dynamic ROAS L0 cap.
May Google Budget: $74,500 · Avg $2,403/day
CampaignBudget% of GoogleLN0 TargetTarget CAC
UAC Dynamic ROAS L0 (Primary)$44,70060%5,900$7.58
UAC App Purchase — GH$22,35030%2,700$8.28
PMAX Ghana (Brand + FidoBiz)$7,45010%900$8.28
TOTAL Google$74,500100%9,500$7.84
Daily Run Rates by Day Type
Day TypeDaily SpendExpected LN0Conv RateNotes
Weekday$2,85063710.5%Dynamic ROAS primary; scale if CPA <$7
Weekend$1,85041310.2%Maintain auto-bidding; no manual adj
Holiday$1,68038010.0%Reduce cap May 1; recover May 4–7
🔑 May Google triggers:
  • May 1 (Workers' Day): reduce UAC daily cap by 40%; recover May 4–7 at +20%
  • If CPA >$9 by May 10 → consolidate App Purchase into Dynamic ROAS
  • May 25–31 (salary cycle): increase Dynamic ROAS cap by +25%
  • If LN0 pace <80% by May 14 → pull reserve into Dynamic ROAS (+$3K)
🔵Meta — New Campaign Structure (May 2026)
💡
Updated from April A/B results: Scale the April A/B winner (Salaried Workers creative won vs Unbanked control). Add Workers' Day seasonal creative (May 1–14 only). Restructured into two campaigns: App Purchase (performance) + Retargeting (warm audiences). Budget up $430 vs April to fund Workers' Day creative flight.
May Meta Budget: $25,500 · $823/day avg
Campaign / AdsetBudgetLN0 TargetNotes
Campaign 1: GH App Purchase$20,4001,120Primary acquisition
└ Salaried Workers (Apr winner — scale)$8,160450Proven creative, expand audience
└ Mid-income Unbanked (scale)$6,120335Apr A/B challenger scaled to winner
└ Workers' Day Seasonal (May 1–14)$4,080225"Celebrate your hustle" creative · 2-week flight
└ Small Business Owners$2,040110Restocking season ahead — test
Campaign 2: GH Retargeting$5,100280Warm / high-intent audiences
└ KYC Started, Not Completed$2,550140High intent, stalled — rescue
└ Score Eligible, Not Disbursed$2,550140Approved users who haven't drawn down
TOTAL Meta$25,5001,400CAC: $18.21
Daily Run Rates + Creative Schedule
Day TypeDaily SpendExpected LN0Conv RateFocus
Weekday$9758911.0%App Purchase primary + retargeting always-on
Weekend$6335710.5%Brand + retargeting, reduce acquisition
Holiday$5705010.2%Workers' Day creative heavy-up (May 1)
🔑 May Meta creative schedule:
  • Wk 1 (May 1–7): Launch Workers' Day creative — "Celebrate Your Hustle"
  • Wk 2 (May 8–14): Scale April A/B winner (Salaried Workers). Pause loser by May 10.
  • Wk 3 (May 15–21): Introduce small business "restock" creative for June preview
  • Wk 4 (May 22–31): Salary-cycle creative — "Salary in? Fido has your back"
  • All creative assets → Google Drive $DRIVE_MARKETING. Never CF Pages for images.
🌱Organic Traffic — Targets & Levers
April Organic Baseline (est.)
Organic LN0 (Apr est.)~10,200
% of total LN0~39%
Daily organic LN0~340/day
KYC→L0 conversion (organic)~16.6%
Journey-attributed LN0 (new)~700–1,100
Sources: Play Store discovery, direct app opens, word-of-mouth, SEO blog, referrals, CleverTap journeys.
May Organic Target
Target organic LN010,600 (+4%)
Journey contribution800–1,000 (within organic)
Daily target (excl. journeys)~315/day
Weekday target~374/day
% of May total~40%
Organic is "free" LN0 — protect it. Journey lift is included here. Paid needs to deliver ~15,800 LN0.
Organic Lift Levers (May)
  • 📝 Publish 2 SEO posts: "school fees loans Ghana" + "Workers' Day cash"
  • 📱 Play Store listing update — new May screenshots + holiday copy
  • 🤝 Referral push via J03 + J06 referral CTA branches (see Journey Engine)
  • 📣 Workers' Day influencer co-tagging (May 1–3)
  • 🌍 Africa Day awareness post (May 25 — social/blog, no paid)
  • ⭐ Play Store review ask in J05 L0 onboarding push (T+24h node)
🏪Offline Activities & Partnerships Timeline
MoMo Agent Network — Accra, Kumasi, Takoradi
WeekActivityBudgetEst. LN0
May 1–4Workers' Day QR push: brief agents on "Celebrate your hustle" copy. Accra Circle + Makola 50 agents.$450~60
May 11–15Kumasi Suame + Kejetia 30 agents. Mid-month refresh: new QR cards with May copy.$450~50
May 25–31Salary week: bonus incentive for top agents (≥10 signups/week = GHS 30 bonus). Takoradi expansion pilot (20 agents).$900~90
MoMo Agent CAC: ~$9.00 · Target 200 LN0 from agents in May · Track via unique referral codes per agent.
Radio, Influencers & Events
ChannelScheduleCopy ThemeBudget
Joy FM + Citi FMMay 4–31 · 2× 30-sec/day · 6–8am + 5–7pm"Cash in 2 mins — dial *998*41#"$800
Nano-influencers (5×)Wk 1–2 (May 1–14) · TikTok/IG"Celebrate your hustle with Fido"$600
Mid-tier influencers (2×)Wk 3 (May 18–22) · FacebookVideo testimonial — salary advance$600
Community FB pagesWk 4 (May 25–31)Salary week — pinned post + USSD$300
All influencers: unique UTM. utm_source=influencer&utm_medium=social&utm_campaign=gh-may26_[name]
Radio unique USSD codes: Joy FM = *998*41#, Citi FM = *998*42#, Asaase = *998*43# (maintained from April).
📨Full Blast Schedule — May 2026
📋 Blast Audience Guide — who is each channel targeting?
Infobip flows — our registered users (warm DB)
People already in Fido's database, segmented by where they dropped off. Not cold — they know us.

Eligible→No LN0: Passed KYC + credit scoring, were approved for a loan, but never drew it down. Highest-intent segment (~5,000–8,000 users).
Reg→No KYC: Downloaded app + created account, but never completed identity verification (~18,000–20,000 users).
KYC→No Score: Passed face ID, hasn't completed the eligibility survey (~10,000 users).
EasySave: Existing repeat customers (LN1+) who have never used the savings feature. LTV play — not LN0.
AT nurture — our registered users (D+5 warm)
People who registered in the last 5 days and haven't taken a first loan yet. Pulled from our DB by signup date. Not cold strangers — they've been through onboarding but stalled.

Query: registered_at BETWEEN [date-5d] AND [date-1d] AND loan_count = 0

Audience per send: ~2,000–3,000. Suppress anyone who received an Infobip flow in the prior 48h (see frequency rules below).
AT cold / RCN / TSMS — external cold audiences
People not in Fido's system at all — sourced from telco / aggregator databases. No prior relationship with Fido.

Africa Talking cold: AT's Ghana subscriber DB (~100K per send).
RCN: RCN aggregator network (~900K per send — broad reach, lower intent).
TSMS: TSMS aggregator DB (~200K per send).

All three require DNC cross-check in Snowflake before sending. These are awareness plays — LN0 conversion rate will be low; measure via attributed smartlink installs.
MTN SMS (TSMS blasts) — telco subscriber base
Sent via MTN's own SMS gateway to MTN subscribers who match demographic filters (age, region). Not our database — MTN's. We don't have individual identities; it's a telco broadcast.

Audience: ~500K per blast. Targeting criteria set at campaign level — typically age 22–45, Greater Accra + Ashanti. CTA is USSD dial (*998*8#) or smartlink.
⚠️
All blasts require UTM tagging before sending. Coordinate exact copy and send-time with @team at least 48h before blast date. Confirm audience sizes in Snowflake before budget commitment. May 1 Workers' Day — use "Celebrate your hustle" hook across all scheduled May 4–5 blasts.
DateDayChannelFlow / Target SegmentEst. AudienceCopy ThemeCTA / DeeplinkEst. LN0Est. Cost
May 4MonMTN SMS (TSMS) #1MTN subscribers — month launch~500k"Fresh May start — cash in 2 mins, dial now!"*998*8# or smartlink~250$825
May 4MonCT C1 — Referral Push #1LN1+ · no DPD · push-opted-in · not in active J03/J06 window~30,000–60,000"Invite a friend, earn GHS [X] — share your code now"app.fido.money/referralReferral acq.$0 (CT owned)
May 5TueInfobip — Eligible→No LN0Verified eligible, never disbursed~5,000–8,000"Your credit is ready — take it now"app.fido.money/apply-now~750–1,200$700
May 5TueRCN SMSRCN network — cold acquisition900KFIDO RCN blast · May freshSmartlink + UTM$92
May 5TueAfrica Talking SMSAT — cold acquisition100KFIDO AT blastSmartlink + UTM$300
May 5TueInfobip M2 — Score Reset #1LN1+ users whose score was reset before automation; never re-notified. Export from Snowflake: score_reset_date < automation go-live AND no subsequent disbursement AND no recent CT entry.TBD (backlog)"Your Fido credit score has been updated — open the app to check your new limit" + deep linkapp.fido.money deeplinkReactivationInfobip CPM
May 6WedUSSD BlastNew MTN subscribers (last 30 days)~8,000"New to MTN? Get instant cash" via *998*8#USSD *998*8#~130$300
May 6WedAfrica Talking SMSAT — cold acquisition100KFIDO AT blastSmartlink + UTM$300
May 6WedTSMS SMSTSMS — cold acquisition200KFIDO TSMS blastSmartlink + UTM$501
May 6WedInfobip M1 — USSD KYC #1Users who registered via USSD (*713#) and are not in CleverTap — no app, no push token. Goal: drive them to complete USSD KYC. Fresh list from Snowflake (remove anyone who completed KYC since last export).TBD (Snowflake pull)"Complete your Fido verification — dial *713# now. Takes 2 minutes."USSD *713#KYC completionInfobip CPM
May 7ThuInfobip — Reg→No KYCRegistered, KYC incomplete~18,000"Complete your ID — 2 mins to cash"app.fido.money/verify-identity~500–700$700
May 7ThuRCN SMSRCN network — cold acquisition900KFIDO RCN blastSmartlink + UTM$92
May 7ThuTSMS SMSTSMS — cold acquisition200KFIDO TSMS blastSmartlink + UTM$501
May 8FriAfrica Talking SMS — nurtureD-5 from May 3 signups~2,000"Still need cash? Your Fido offer still active"Smartlink + UTM~45$250
May 8FriRCN SMSRCN network — cold acquisition900KFIDO RCN blastSmartlink + UTM$92
May 11MonMTN SMS (TSMS) #2MTN subscribers — refresh blast~500k"No wahala — cash in 2 mins. Dial now!"*998*8# + smartlink~250$825
May 11MonRCN SMSRCN network — cold acquisition900KFIDO RCN blastSmartlink + UTM$92
May 11MonAfrica Talking SMSAT — cold acquisition100KFIDO AT blastSmartlink + UTM$300
May 11MonCT C1 — Referral Push #2LN1+ · no DPD · push-opted-in · not in active J03/J06 window · not sunsetted (0 opens in 4 consecutive weekly sends)~30,000–60,000"Know someone who needs quick cash? Share Fido — earn GHS [X]"app.fido.money/referralReferral acq.$0 (CT owned)
May 12TueInfobip — Eligible→No LN0Eligible mid-month FOMO~5,000–8,000"Your limit available — don't let May pass you by"app.fido.money/apply-now~750–1,200$700
May 12TueTSMS SMSTSMS — cold acquisition200KFIDO TSMS blastSmartlink + UTM$501
May 12TueInfobip M2 — Score Reset follow-upUsers from May 5 M2 send who did not open the app within 7 days. 1 final SMS then remove from manual list. Do not send if app opened.Subset of May 5 list"Still there — your new Fido limit is waiting. Open the app today." + deep linkapp.fido.money deeplinkReactivationInfobip CPM
May 13WedMTN BC (Branded Caller)MTN subscriber baseBroadJingle: "Fido cash — fast, no paperwork"*998*8#~80$525
May 13WedRCN SMSRCN network — cold acquisition900KFIDO RCN blastSmartlink + UTM$92
May 13WedAfrica Talking SMSAT — cold acquisition100KFIDO AT blastSmartlink + UTM$300
May 13WedInfobip M1 — USSD KYC follow-upUsers from May 6 M1 send who still have no KYC completion event after 7 days. Export fresh list from Snowflake — remove anyone who completed KYC between May 6–12. Final attempt; then remove from list for 30 days.Subset of May 6 list"Last reminder — dial *713# to verify your Fido account and unlock your cash."USSD *713#KYC completionInfobip CPM
May 14ThuInfobip — EasySaveApp users not using EasySave~35,000"Earn 10% on your savings — starts at GHS 20"app.fido.money/savingsLTV uplift$1,200
May 14ThuTSMS SMSTSMS — cold acquisition200KFIDO TSMS blastSmartlink + UTM$501
May 14ThuCT C8 — Eligible→No L0 (post-journey)Users with score ≥270, never took L0, AND no J03 message in last 30 days (journey sunsetted them). Push to push-active; SMS fallback for push-inactive (no push open in 30+ days). This replaces the old "all reg completed but no L0 — monthly" campaign.J03 sunset cohortPush: "GHS [X] is still waiting for you — school fees? emergency? it's yours." · SMS fallback same angleapp.fido.money/apply-now~200–400$0 (CT owned)
May 15FriAfrica Talking SMS — nurtureD-5 from May 10 signups~2,000"Still need cash? Your Fido offer active"Smartlink + UTM~45$250
May 15FriRCN SMSRCN network — cold acquisition900KFIDO RCN blastSmartlink + UTM$92
May 15FriTSMS SMSTSMS — cold acquisition200KFIDO TSMS blastSmartlink + UTM$501
May 18MonMTN SMS (TSMS) #3MTN subs — salary cycle push~500k"Salary month — get ahead with Fido now"*998*8#~250$825
May 18MonRCN SMSRCN network — cold acquisition900KFIDO RCN blastSmartlink + UTM$92
May 18MonAfrica Talking SMSAT — cold acquisition100KFIDO AT blastSmartlink + UTM$300
May 18MonCT C1 — Referral Push #3LN1+ · no DPD · push-opted-in · not in active J03/J06 window · not sunsetted~30,000–60,000"Help a friend — share your Fido code and earn GHS [X] together"app.fido.money/referralReferral acq.$0 (CT owned)
May 19TueInfobip — Reg→No KYCLast chance — registered not KYC'd~20,000"Final reminder — verify ID or lose your spot"app.fido.money/verify-identity~500–700$700
May 19TueTSMS SMSTSMS — cold acquisition200KFIDO TSMS blastSmartlink + UTM$501
May 20WedInfobip — KYC→No ScoreKYC done, survey pending~10,000"Check your eligibility now — takes 2 minutes"app.fido.money/apply-now~400–600$800
May 20WedUSSD BlastLapsed users (30–60 days)~6,000"We miss you! Your credit limit is waiting"USSD *998*8#~100$150
May 20WedRCN SMSRCN network — cold acquisition900KFIDO RCN blastSmartlink + UTM$92
May 20WedTSMS SMSTSMS — cold acquisition200KFIDO TSMS blastSmartlink + UTM$501
May 22FriAfrica Talking SMS — nurtureD-5 from May 17 signups~3,000"Month-end offer — borrow before May closes"Smartlink~60$250
May 22FriRCN SMSRCN network — cold acquisition900KFIDO RCN blastSmartlink + UTM$92
May 22FriTSMS SMSTSMS — cold acquisition200KFIDO TSMS blastSmartlink + UTM$501
May 25MonRCN SMSRCN network — cold acquisition900KFIDO RCN blast · salary weekSmartlink + UTM$92
May 25MonAfrica Talking SMSAT — cold acquisition100KFIDO AT blastSmartlink + UTM$300
May 25MonTSMS SMSTSMS — cold acquisition200KFIDO TSMS blastSmartlink + UTM$501
May 25MonCT C1 — Referral Push #4LN1+ · no DPD · push-opted-in · not in active J03/J06 window · not sunsetted~30,000–60,000"Salary week — invite a friend, earn GHS [X] while you both get sorted"app.fido.money/referralReferral acq.$0 (CT owned)
May 26TueMTN SMS (TSMS) #4MTN subscribers — salary week~500k"Salary in? Treat yourself — Fido cash today"*998*8#~250$825
May 26TueCT C3 — Payday BoostEligible users (score ≥270) · no active loan · not DPD · not in J03/J06 active window. Push to push-active users. SMS fallback only for users with no push open in last 30 days (likely deleted app or disabled notifications) — same message, counts toward 2/14d SMS cap.Eligible cohortPush: "Payday is here — your GHS [X] is ready whenever you need it" · SMS fallback: same textapp.fido.money/apply-now~300–600$0 (CT owned)
May 27WedInfobip — Eligible→No LN0Eligible, salary trigger~5,000–8,000"Salary just dropped? Your Fido credit is ready"app.fido.money/apply-now~750–1,200$700
May 27WedRCN SMSRCN network — cold acquisition900KFIDO RCN blastSmartlink + UTM$92
May 28ThuAfrica Talking SMS — nurtureD-5 from May 23 signups~3,000"Still active — Fido offer before month close"Smartlink~60$250
May 28ThuTSMS SMSTSMS — cold acquisition200KFIDO TSMS blastSmartlink + UTM$501
May 29FriRCN SMSRCN network — cold acquisition900KFIDO RCN blast · final pushSmartlink + UTM$92
🟢 Cold blasts (green): RCN ~12 × $92 = $1,104 · AT cold ~10 × $300 = $3,000 · TSMS ~10 × $501 = $5,010 · LN0 benchmarks TBD (evolving)  |  🔴 Infobip DB flows (pink): Reg→No KYC · Eligible→No L0 · KYC→No Score · EasySave · M1 USSD KYC · M2 Score Reset — all targeting existing registered users by funnel stage  |  🟣 CleverTap campaigns (purple): C1 Referral ×4 · C3 Payday Boost · C8 Eligible post-journey — push-first, SMS fallback for push-inactive users · $0 incremental cost
TOTAL blast schedule (incl. cold channels) ~4,345–5,945 + TBD ~$18,400
🚦 Frequency Cap & Deduplication Rules
Enforce before every send. Violating these creates spam complaints, opt-out spikes, and compliance risk.
CT Global Caps — apply to all CT campaigns
1 push per user per day (CT Global Limit).
3 pushes per user per 7-day rolling window.
2 SMS per user per 14-day window.

C1 Referral fires weekly — if a user hits the 3/7d push cap via a journey that week, C1 is skipped for them.
C3 Payday (May 26) and C8 (May 14) both count toward the 3/7d cap. Plan accordingly — check if any journey is active on those dates for the same segment.

CT: set Global Frequency Limit at account level — enforced automatically
Never fire a CT campaign while…
• User is DPD 1+ (any campaign)
• User is in active KYC journey (J01/J08/J02)
• User is in J03 active window — especially C8 (this was the old bug: campaign firing on top of active journey)
• User is in J06 reborrow window (7d post-repay) — except C2 reward notification
• User received a push today

C2 Referral Reward is exempt — it's a reactive event notification (friend disbursed), not a scheduled campaign. Does not count toward caps.
C8 — Critical exclusion rule
Exclude users who received a J03 message in the last 30 days.

This is the rule that was missing before — the old "all reg completed, no L0" campaign was firing on top of an active J03 journey, double-hitting the same user.

C8 is the post-journey safety net, not a duplicate. It only touches users J03 has already given up on.

CT segment: eligible AND score≥270 AND J03_last_message > 30 days ago AND loan_count=0
AT Nurture — D+5 sends
Suppress if Infobip flow fired within prior 48h.
AT nurture targets the same warm segment (registered, no LN0) that Infobip flows also cover. Hold users out of AT nurture if they received any Infobip message in the prior 2 days.

Overlap dates:
— May 7 Infobip → May 8 AT nurture (48h gap — tight, check)
— May 12 Infobip → May 15 AT nurture (3 days ✓)
— May 19 Infobip → May 22 AT nurture (3 days ✓)

Snowflake filter: last_infobip_sent_at > DATEADD('day',-2,CURRENT_DATE) → exclude
Infobip — Eligible→No LN0 (3 sends)
Max 2 Infobip touches per user per month.
Plan has sends on May 5, 12, 27. Before May 27: exclude users who received both May 5 + May 12 and haven't converted. Third identical message = spam. Change angle significantly (salary hook vs "credit ready") or suppress.

Note: C8 (CT, May 14) targets the same eligible-no-L0 segment. Coordinate: users receiving Infobip Eligible→No L0 on May 5 or 12 should be suppressed from C8 on May 14. Pick one channel per user per fortnight.

Snowflake: infobip_eligible_sent_count_may ≥ 1 → exclude from C8 on May 14
Cold Blasts + M1/M2 Infobip Manual
Cold blasts (AT/RCN/TSMS): DNC cross-check in Snowflake before every send. No same-day stacking across all 3 aggregators.

M1 USSD KYC: Max 2 SMS per user per month (May 6 + May 13 follow-up). After 4 attempts over 2 months with no completion → permanent removal. Refresh list from Snowflake before each send — never recycle a stale list.

M2 Score Reset: Max 2 SMS per user total (May 5 + May 12 follow-up for non-openers). One-time campaign for the pre-automation backlog. After sending, monitor that backend automation is firing correctly for all new resets.

CT journey suppression on Infobip send days: May 5,6,7,12,13,14,19,20,27
💰Budget Allocation — $132,000 Total
Total May Budget
$132,000
+$930 vs April plan ($131,070) · CAC target: $5.00 held
April Estimated Spend
~$131,070
+0.7% QoQ increase
Google 56.4%
Meta 19.3%
SMS
Info
Other+Reserve
Channel / ActivityApr BudgetMay BudgetChange% of TotalLN0 TargetTarget CAC
Google UAC (all GH campaigns)$73,958$74,500+$54256.4%9,500$7.84
Meta (Facebook/Instagram)$25,070$25,500+$43019.3%1,400$18.21
MTN SMS Blast (TSMS) — 4 blasts$6,600$6,600Hold5.0%1,000$6.60
MTN BC (Branded Caller)$2,100$2,100Hold1.6%310$6.77
MTN RC (USSD) — maintain$929$929Hold0.7%205$4.53
USSD Blast (2× cadence)$1,200$1,200Hold0.9%450$2.67
Africa Talking SMS (nurture + cold)$2,000$2,000Hold1.5%180$11.11
RCN SMS (cold acquisition)$923$1,104+$1810.8%TBD
TSMS Blast (cold acquisition)$4,506$5,010+$5043.8%TBD
MoMo Agent Activation (Ops)$1,800$1,800Hold1.4%200$9.00
Infobip SMS Blasts (5 flows)$5,100$5,100Hold3.9%~2,000–2,700~$2.20
Influencer Partnerships$1,500$1,500Hold1.1%
Radio (Joy FM + Citi FM)$800$800Hold0.6%
Creative Production (Meta + Workers' Day)$2,500$2,500Hold1.9%
CleverTap Journeys (platform cost)$0Tech budget700–1,100~$0–2
Contingency / Reserve$6,937$7,3575.6%
TOTAL$131,070$132,000+0.7%100%~15,945–17,245 + organic 10,600$5.00
🏁Weekly Milestones & KPI Gates
Week 1 (May 1–7)
Workers' Day holiday — soft launch, compensate Wk 2
  • ✅ Google restructured campaigns live (Dynamic ROAS primary)
  • ✅ Meta Workers' Day creative launched
  • ✅ MTN SMS Blast #1 (May 4)
  • ✅ Infobip Eligible→LN0 Workers' Day hook (May 5)
  • ✅ USSD Blast new MTN subs (May 6)
  • 🟣 CT Journeys J01–J08 confirm entry volumes in dashboard
KPI Gate: ≥5,750 cumulative LN0 by May 7 end
Budget pace: ≤$28,750 spent
Week 2 (May 8–14)
Recovery sprint — max digital push after Workers' Day dip
  • ✅ MTN SMS Blast #2 (May 11)
  • ✅ Infobip Eligible→LN0 mid-month FOMO (May 12)
  • ✅ MTN BC Branded Caller (May 13)
  • ✅ EasySave cross-sell blast (May 14)
  • 🔍 Meta A/B — scale winner, pause loser by May 10
  • 🔍 UAC recovery: +15% Dynamic ROAS cap vs Wk 1
KPI Gate: ≥11,891 cumulative LN0 by May 14 end
Budget pace: ≤$59,455 spent
Week 3 (May 15–21)
Salary pre-period + mid-month review
  • 📊 Mid-month perf review (May 18 — full Snowflake + CT pull)
  • ✅ MTN SMS Blast #3 (May 18) — salary cycle angle
  • ✅ Infobip Reg→KYC final (May 19)
  • ✅ Infobip KYC→Score final + USSD lapsed (May 20)
  • 🔍 Check J03 conversion — if <8%, escalate CT entry trigger
  • 🟣 Journey opt-out audit — none should exceed 3%
KPI Gate: ≥18,032 cumulative LN0 by May 21 end
Budget pace: ≤$90,160 spent
Week 4 (May 22–31)
Salary week — final sprint, 10-day push
  • 📊 Gap assessment vs 26,402 target (May 22)
  • ✅ MTN SMS Blast #4 (May 26) — salary in copy
  • ✅ Infobip Eligible→LN0 salary trigger (May 27)
  • ✅ UAC cap +25% for salary week (May 25–31)
  • 🔍 Emergency budget realloc if >10% behind (use $7,357 reserve)
  • 📊 May close report + June planning kickoff
KPI Gate: ≥26,402 cumulative LN0 by May 31
Budget pace: ≤$132,000 spent
🚨Pace Intervention Playbook
✅ On Pace (±5% of target)
  • Maintain current channel mix
  • Do not increase spend
  • Focus on J03 conversion rate (target ≥10%)
  • Monitor daily via attribution dashboard
  • Check CT journey entry volumes weekly
⚠️ 5–15% Behind Pace
  • Increase UAC Dynamic ROAS daily cap by 20%
  • Pull forward scheduled Infobip blast if within 3 days
  • Push Meta budget up 15% on top-3 adsets
  • Accelerate MTN BC cadence (add 2nd flight)
  • Alert Shai within 24h
🔴 >15% Behind Pace
  • Emergency: max UAC budget (deploy reserve $7,357)
  • Trigger unscheduled Infobip blast (Eligible→LN0)
  • Double Meta on best-performing adset
  • Emergency MTN SMS blast (outside schedule)
  • Emergency call with Shai + team same day