The customer acquisition cost formula is one line: divide what you spent attracting new customers by how many you got. The trouble is that the same line produces three different numbers for the same month, depending on what you put in the numerator, who counts as a customer, and which period you credit the result to. And in Egypt and Saudi Arabia one fixed item drops out of most calculations before that argument even starts: the tax the ad platforms add on top of your budget.

It is written for whoever runs a store or a service business, spends on Meta, Google or TikTok ads, and needs a number sturdy enough to carry a decision to raise or cut that budget. Every tax rule and attribution setting below comes from the platforms' and tax authorities' own pages, read on 22 September 2026.

Item one: the tax that never appears in the spend column

Start with a sentence on Meta's value-added tax page: your daily budget does not include any VAT charged on your ad purchases, and the total charged may exceed that daily budget. In other words, the "Amount spent" column you copy your number from is the figure before tax, while the money that left your bank account is higher.

Meta's Saudi Arabia page states the same mechanism more plainly. Because the tax sits above the charge rather than inside it, your billing threshold arrives no sooner than it would have, while the sum actually taken from you can run past that threshold. The tax is added to your budget rather than carved out of it.

What actually happens in Egypt

Law 3 of 2022, which amended VAT Law 67 of 2016, made advertising services subject to VAT at 14% and removed the 20% stamp tax that used to apply to them. The same law introduced the simplified vendor registration system for non-resident companies and platforms supplying digital services inside Egypt; the executive regulations were issued in January 2023 and a guide followed under Minister of Finance decision 160 of 2023. The large platforms are registered in that system, which is why the tax shows up on your invoice.

Details differ from one platform to the next:

PlatformWhat applies to an Egyptian ad accountSource
Meta (Facebook and Instagram)VAT on ads since July 2023 for anyone who has not added a Tax Registration Number and Unique Identification Number to the accountMeta's Egypt page
Google Ads14% charged to accounts with an Egyptian business address since 1 July 2024, unless you supply a valid TRN and UINTaxes in your country, Google
TikTok Ads14% added to the ad services invoice if a valid TRN and UIN combination is missingTikTok's Egypt page
WhatsApp Business servicesTax on the service itself since 1 July 2023 under the same ruleMeta's Egypt page for WhatsApp

That last row matters to anyone selling over WhatsApp: template messages carry a bill, and the service those messages pass through carries a tax. The message meter itself is broken down in how much an AI chatbot costs.

What happens in Saudi Arabia and the Gulf

The standard VAT rate in Saudi Arabia is 15%, as stated in the Zakat, Tax and Customs Authority guideline for electronic contracts published in September 2022. Platform behaviour, however, is not uniform, and this is where most of the confusion sits:

  • Meta has added the tax to ads sold in Saudi Arabia since September 2019 for every advertiser whose "Sold to" country is inside the Kingdom and who has not added a tax ID.
  • TikTok is registered in the Kingdom as a non-resident supplier and collects the tax unless the advertiser supplies a VAT number that verifies against the authority's taxpayer lookup.
  • Google Ads says something else entirely: your account is served by Google Ireland, Google cannot charge VAT when the billing address sits outside the European Union, and you should check with your tax authority whether you are required to self-assess. The same page shows identical wording for a UAE billing address.

So a single Saudi advertiser may pay the full tax on top of Meta and TikTok spend, see nothing added on Google, and then settle that channel's tax in a return. CAC comes out different from channel to channel for a purely tax-related reason that has nothing to do with campaign quality.

Before you add the tax to the calculation

Tax is a real cost to you if you are not registered, or if you are registered and cannot deduct it. Once you enter your tax number, the platforms stop collecting it and you become responsible for self-accounting under the reverse charge mechanism; Meta's Egypt page cites Article 32 of Law 3 of 2022 explicitly. In Saudi Arabia the authority's guideline notes that a taxable customer can deduct input tax when the service is used in an economic activity making taxable supplies.

Put plainly: ask your accountant about your own position, then decide. Until you have the answer, build CAC from the bank statement or the platform invoice rather than the spend column inside the ads dashboard. The gap between those two sources is exactly the tax.

Item two: what goes into the numerator?

"How much did you spend on acquisition?" has more than one legitimate answer. The clearest way to see the gap is a fully hypothetical example whose figures are set for the sake of explanation and represent no market and no client. A store in Cairo, one month, with these assumptions: ad spend shown in the dashboard of EGP 120,000, 14% tax added on the invoice, tool subscriptions of EGP 4,000, half the time of two marketing staff at EGP 20,000, sales commissions on new orders of EGP 6,000, photo and video production of EGP 10,000. In the same month 400 orders closed from new customers, 18% of them refused or returned, leaving 328 customers who received and paid.

Definition usedCalculationResult
Ad spend as shown in the dashboard ÷ orders120,000 ÷ 400EGP 300
Cash paid for ads including tax ÷ customers who received and kept the order136,800 ÷ 328EGP 417
All acquisition items including tax ÷ customers who received and kept the order176,800 ÷ 328EGP 539

All three are arithmetically correct inside this hypothetical example, and the gap between the first and the last is about 80%. That is why comparing your number with a figure published for another company or a whole sector means nothing unless you know how that figure's owner defined it, which is rarely stated. We are not giving you a sector average to compare against either, because the averages circulating on this topic travel from site to site with no original source to go back to.

A practical alternative: pick one definition, write it in a file next to the number, and stick to it. Your benchmark is your own number last month, your number per channel, and your number per product category. Those three comparisons belong to you alone and nobody can muddy them.

Item three: who is the "customer" you divide by?

In a store selling cash on delivery, the word "customer" can mean four things: whoever completed the order form, whoever confirmed the order on the phone, whoever received and paid, and whoever ordered a second time. Your choice among them changes the denominator before anything else does.

Planning to build or scale a digital project?

Snaabble provides a tailored technical assessment to define the right stack & exact budget.

We suggest one definition because it is the only one matched by real cash: a customer is someone who received a first order and paid for it. Count customers by phone number or account rather than by order, otherwise the customer who ordered three times in a month becomes three customers and your number drops for no reason.

A second separation matters just as much: money spent attracting a new customer is not money spent keeping an existing one. Retargeting, abandoned-cart messages and loyalty programmes produce "conversions" that sit in your reports beside genuinely new orders, and most of them go to people who have already bought from you. Combine both budgets in one numerator, divide by new customers only, and CAC comes out higher than the truth, possibly stopping a profitable campaign. Split acquisition from retention at the campaign level from the start, so that they can be split in the report.

Item four: the attribution window changes the number before your campaign does

Your customer count depends on a setting inside the ads dashboard more than it depends on market behaviour.

Under Meta's attribution settings, a conversion can be counted within 1 or 7 days of a click, within 1 day of an impression, and within 1 day of a non-link interaction. The same page warns against comparing results across ad sets that use different attribution models, because the counting mechanisms differ and the comparison leads to inaccurate conclusions.

Under Google Ads conversion windows, the default click-through window is 30 days and can be set anywhere from 1 to 90 days, while the view-through default is 1 day. Add Meta conversions on a 7-day window to Google conversions on a 30-day window and you have added two different measurements, with the customer who saw an Instagram ad and then searched for your store on Google counted twice.

There is a timing gap on top of that: spend is booked on the day it happens, while actions taken off the ad are attributed back to the click or impression that preceded them. So the last week of the month keeps moving after you have closed your books.

A way out is simple to describe: calculate the denominator from your own database, meaning the orders table or the CRM, not from the ads dashboard. Use the dashboard to steer budget between campaigns, and use your own system for the number you quote to a partner or an investor.

That leaves the channels nobody measures by default, which happen to be the most common ones here: the phone call and the WhatsApp conversation. Left alone, they show up as "direct" or "unassigned", inflating CAC for paid channels and shrinking the share of the channels that actually worked. Fix it in three steps: a different WhatsApp link per campaign, a mandatory source field the sales rep fills the moment the order is logged, and offline conversion import, which returns a deal closed by phone to the campaign it came from through the click identifier. What to measure inside analytics itself is covered in what to actually measure in Google Analytics 4.

Item five: cash on delivery and returns

A completed order on the site is not yet a customer. In Egypt and the Gulf, a share of cash-on-delivery orders is refused at the door or never reaches the buyer, and another share comes back after delivery. For a refused order you paid the acquisition cost and the shipping in both directions and ended up with no customer.

That is why the CAC you calculate on the first day of the following month is provisional. Egypt's Consumer Protection Agency explains that a consumer may exchange or return a good and recover its price without giving a reason within 14 days of receiving it, subject to specific exceptions such as perishable goods and goods made to the consumer's own specification; that a defective good carries 30 days; and that the supplier must refund within a week of the consumer approaching them, by the same method used to pay.

Make that a rule in your reporting: close the month's account after the return window ends rather than on the 1st, and compute the denominator on settled orders. And if you want CAC to fall through this door specifically, the way in is to reduce the refusal rate itself: confirm the order with a message that requires a reply before shipping, capture a complete address from the map, and state shipping cost and delivery time before checkout. Those details are in raising conversion rate in an online store and shipping solutions for online stores.

When is this number acceptable?

The usual answer is a 3:1 ratio between customer lifetime value and acquisition cost. That figure deserves to have its origin known: David Skok wrote it in SaaS Metrics 2.0 as a guideline for subscription software companies, saying that the best of them exceed a ratio of 3 and sometimes reach 7 or 8, that many recover their acquisition cost in five to seven months, and that profitability becomes anemic when recovery stretches beyond 12 months. He also stated outright that these are only guidelines and that there are always situations where breaking them makes sense.

Your business sits far from a subscription company: you do not collect a fixed amount every month, and most of your customers may never return. So calculate your own ceiling instead of borrowing a ready-made ratio:

Maximum CAC = contribution margin per order × the average number of orders you expect from a customer within the period you can fund in cash.

Contribution margin is what remains of the order value after cost of goods, shipping, collection fees and returns, not gross profit. Go back to the hypothetical store above: if contribution margin is EGP 120 per order and a customer places an average of 2.1 orders within 12 months, the ceiling is EGP 252. Since the full CAC came out at EGP 539, the store is buying customers for more than double what they return within a year, and raising the budget will not fix it.

This is where payback period shows up as a cash constraint separate from profitability: recovering EGP 252 over a year means funding the gap from your own capital every month. Decide how many months you can genuinely fund, and make that figure the period you compute the ceiling over.

A checklist before you quote the number

  1. Does the spend figure come from the platform invoice or the bank statement rather than the "Amount spent" column?
  2. Is the tax inside the calculation, and have you checked with your accountant whether it is a cost to you or a deductible input?
  3. Is it written next to the number exactly what the numerator contains?
  4. Is the denominator settled new customers, counted by phone number in your own system?
  5. Have you separated acquisition spend from retention spend?
  6. Have you stopped summing conversions from two platforms using different attribution windows?
  7. Was the month closed after the return window ended?
  8. Are you comparing against your own previous number rather than a published figure whose definition you do not know?

What the eight items share is the need for your orders, their sources and their delivery states to sit in one system you can query, because three of these questions have no answer inside an ads dashboard. So if that data is scattered today across separate files or a notebook, write to the Snaabble team about what you collect and where, and within a day you will have an outline for a system that ties every order to its source and its delivery state, along with an estimate of duration and cost, at no charge and with nothing owed.

Frequently asked questions

Should I calculate customer acquisition cost monthly or over a longer period?

A month is a good unit for watching the trend, but it is short for a business with a long buying decision. Calculate it monthly to steer budget, and watch a rolling three-month average beside it so that one seasonal or broken month does not drive a decision. Either way, close the month after the return window and the longest attribution window you use have both ended.

What is the difference between customer acquisition cost and cost per lead?

Cost per lead divides spend by the people who left their details or messaged you; customer acquisition cost divides it by the people who actually paid. The ratio between the two is your close rate, and the channel with the cheapest leads can be the most expensive channel per paying customer if the people it sends never buy.

Is a first-order discount part of acquisition cost?

You can treat it as an acquisition item in the numerator, or as a deduction from contribution margin when you set your ceiling; both are defensible. The only mistake is counting it twice, or counting it this month and dropping it next month. Write your choice next to the definition and keep to it.

Sources