Key takeaways
- Meta accepts M-Pesa in Kenya, but only on an ad account set to Kenya and Kenyan shillings, and only if you choose M-Pesa when the account is first set up.
- Cards (Visa, Mastercard, Amex) and PayPal also work. A card must be enabled by your bank for online payments and have a CVV.
- Meta adds 16% VAT for every advertiser in Kenya. With M-Pesa it is taken when you top up: add KSh 10,000 and about KSh 8,621 is left to spend.
- A failed payment pauses your ads and disables the account until you pay. A backup payment method prevents it.
You have the ad ready. The photo is good, the offer is good, and then Facebook asks how you want to pay, and suddenly there are questions nobody answered for you. M-Pesa or card? Shillings or dollars? Why did you add KSh 10,000 and see less in your balance? Why was your card declined when it works everywhere else? This guide answers all of it, using Meta’s own rules for Kenya as they stand in October 2026.
The ways you can pay for Meta ads in Kenya
Meta’s payment page for Kenya lists three kinds of payment. Which one you use decides how you are billed, and one of them can only be chosen at the very start.
1 · M-Pesa
A “manual” payment: you top up a balance first, Meta takes from it as ads run. Only for ad accounts set to Kenya and Kenyan shillings, chosen when the account is created.
2 · Card
Visa, Mastercard or American Express. Meta charges the card automatically as you spend, when you reach a set amount, and on a monthly date.
3 · PayPal
Accepted in PayPal’s supported currencies. It works like a card: automatic charges as you spend.
You will also hear about virtual cards funded from M-Pesa. Safaricom’s own is M-Pesa GlobalPay, which it describes as a Visa virtual card linked to your M-Pesa wallet for paying international websites. To Meta it is simply a Visa card, which it accepts, but Meta does not list GlobalPay by name, so test it with a small amount before a campaign depends on it.
The choice you only get once: shillings with M-Pesa, or a card
This is the part that catches most Kenyan businesses. When you create your first ad, the payment method you pick sets how the whole ad account works. Meta’s wording for Kenya is plain: M-Pesa is only available if the account’s country is Kenya and its currency is the Kenyan shilling, and you can only add it if you choose it when you first set up the ad account.
So if someone set your account up in US dollars with a card (a developer, a former employee, or you in a hurry), M-Pesa will simply never appear as an option.
| Shillings + M-Pesa | Card (shillings or dollars) | |
|---|---|---|
| How you pay | Top up first, ads spend the balance | Charged automatically as you spend |
| Risk of surprise charges | None — you cannot spend more than you added | Charged at your threshold and on your monthly bill date |
| If the money runs out | Ads stop until you top up (auto-reload can prevent it) | Charge fails, ads pause, account disabled until paid |
| Where VAT is taken | When you top up — your balance is smaller than the amount you paid | Added on top of each charge |
| Good for | Small, controlled budgets; no bank card | Steady campaigns; ads that must never stop |
If your account is in dollars and you want M-Pesa
Meta lets you change an ad account’s currency once every 60 days, and only when there is no balance owed. But read the small print: changing the currency and time zone creates a new ad account. The old one closes and its ads stop. Do it between campaigns, and reconnect your tracking to the new account before its first ad runs.
VAT: why your balance is smaller than what you paid
Since November 2022, Meta has charged VAT on ads to every advertiser whose “Sold to” country is Kenya, for business or personal use alike. Kenya’s standard VAT rate, according to KRA, is 16%. How it shows up depends on how you pay:
Paying by M-Pesa
VAT is taken when you add funds. Add KSh 10,000 and your ad balance is about KSh 8,621. The rest is the VAT.
Paying by card
VAT is added on top. KSh 10,000 of ads is charged as KSh 11,600, which is why a charge can be bigger than your threshold.
Planning a budget
Decide what you want the ads to spend, then multiply by 1.16. That is what leaves your M-Pesa or your card.
If your business is VAT-registered, add your VAT number (your KRA PIN) in Billing & payments → Payment settings → Business info. It then appears on your ad receipts, which Meta says may help you recover the VAT. Whether you can recover it is a question for your accountant. Meta says clearly that it does not give tax advice, and neither do we.
Paying with M-Pesa, step by step
- Start the ad account right. When you create your first ad, set the country to Kenya and the currency to Kenyan shillings.
- Choose M-Pesa as the payment method at that first purchase. This sets the account to “available funds”, a prepaid balance.
- Add funds. In Billing & payments, choose Add funds, enter the amount and follow the M-Pesa instructions Meta shows.
- Check the balance: remember it will be the amount you paid less VAT.
- Keep ads from stopping. Meta deducts up to once a day as ads run. Top up before it runs low, or set up auto-reload where your payment method allows it.
“Payment declined”: the fixes, in the order to try them
When a payment fails, Meta pauses your ads and disables the ad account until the amount due is paid. These are the causes Meta lists, in plain words, with what to do about each:
- Your card is not enabled for online payments. Some bank cards have online or international payments switched off until you turn them on. Check your bank app or call the bank. Meta lists this first, and it is the first thing to check.
- Not enough money when the charge came. Card accounts are charged when spending reaches your threshold and again on the monthly bill date. Keep a buffer on the card, and remember the 16% VAT on top.
- A per-transaction limit on the card. If your card cannot take one large charge, lower your payment threshold so each charge stays under the limit.
- No CVV, or the wrong details. Meta only accepts cards with a security code. Check the number, expiry date and CVV.
- The one-time code went to a phone you do not have. The card must be linked to a number you can receive the code on.
- The same card is on too many ad accounts. Meta typically allows one payment method on up to ten ad accounts.
To get running again, go to Billing & payments → Payment methods → Pay now and settle the balance, or on a prepaid account use Add funds. Meta resumes active and scheduled ads once it is paid. Then add a backup payment method, so a single failed charge never stops your ads again.
Before you pay for a single click: make sure you will be able to see what the ads bring. Ads that are not told which clicks became enquiries keep finding clickers, not customers. In Kenya that means counting WhatsApp taps and M-Pesa payments, not only form fills: the set-up we describe on our Meta Pixel and Conversions API page.
What to do next
If you are deciding how much to spend at all, start with what Facebook and Google ads really cost in Kenya. If you would rather hand over the set-up (payment, tracking, campaigns and plain-words reports, with your ad money paid straight to Meta from your own account), that is what our Google and Meta ads service does.
Questions people ask
Can I pay for Facebook ads with M-Pesa?
Yes. Meta lists M-Pesa as a payment method in Kenya, but only for an ad account whose country is Kenya and whose currency is Kenyan shillings, and only if you choose it when you first set up the ad account. You then top up your balance before ads run, and Meta deducts from it as they run.
My ad account is in dollars. Can I switch it to shillings to use M-Pesa?
Meta lets you change currency once every 60 days, when there is no balance on the account, but doing so creates a new ad account and closes the old one. Ads on the old account stop. Plan it between campaigns, not in the middle of one.
Why does Facebook charge me more than my budget?
Because 16% VAT is added on top of what your ads cost. Meta applies VAT to every advertiser whose billing country is Kenya, for business or personal use. A KSh 10,000 ad spend on a card is charged as KSh 11,600.
Why does Facebook keep declining my card?
The common causes are a card not enabled for online or international payments, not enough funds when the threshold charge comes, a missing CVV, no access to the phone that receives the one-time code, or the card already used on too many ad accounts. Call your bank first; it is usually the online-payments setting.
Can I use M-Pesa GlobalPay for Facebook ads?
Safaricom describes GlobalPay as a Visa virtual card linked to your M-Pesa wallet for paying international online sites. Meta accepts Visa cards but does not list GlobalPay by name, so test it with a small amount before relying on it for a campaign.
Can I claim back the VAT on Facebook ads?
If your business is VAT-registered, add your VAT number in Meta’s Payment settings so it shows on your ad receipts. Meta says this may help you recover the VAT; whether you can is a question for your accountant or KRA, not Meta.
Was this guide useful?
Your answer tells us what to write next.
Thank you: that helps.
Tell us what was missing






