Learn

Field notes on profitable African e-commerce

Practical writing on the things that actually move margin for African stores: server-side tracking, the truth behind your ROAS, and the last-mile checkout details that decide whether ad spend turns into orders.

A shorter red bar beside a taller muted bar, showing the gap between real and reported performance.
Report

The African E-Commerce Measurement Truth Report

The gap between reported and real performance in African e-commerce, measured against real orders.

Read the report
Two payment gateway nodes connecting through a secure server to an analytics node via a glowing red data stream.
Measurement Truth
July 1, 20266 min read

How to track Paystack and Flutterwave checkouts in Meta ads

Paystack and Flutterwave redirect customers off your site to pay, which quietly breaks the Meta pixel. Here is how to track those checkouts reliably with a server-side event fired from the gateway's webhook.

Read the article
A cracked, glitching tracking pixel icon with a red fault line, mid-repair as a clean signal reconnects.
Measurement Truth
July 1, 20266 min read

How to fix a Meta pixel that isn't tracking your Shopify sales

Your ads are spending but the pixel shows no purchases. Here is the diagnostic we run, in order, to find why a Meta pixel stopped recording Shopify sales, and how to fix it so it stays fixed.

Read the article
A tall stack of coins with only a thin top slice glowing red, symbolising the small real profit kept on ad spend.
Profit-First
July 1, 20266 min read

Why a 4x ROAS can still lose money: POAS for African stores

A high ROAS feels like winning, but ROAS ignores your margin and Meta's number is inflated on top of that. Here is why a reported 4x ROAS loses money at a 30% margin, in Cedis, and how to buy on profit instead.

Read the article
A courier handing over a parcel for cash, with a broken dotted data line failing to reach an analytics node, symbolising the cash-on-delivery attribution gap.
Measurement Truth
July 1, 20266 min read

How to track cash-on-delivery orders in Meta ads

Cash on delivery is the dominant way African shoppers pay, and it is invisible to the Meta pixel. Here is why COD breaks attribution, and how to send the sale that actually matters, delivered and paid, back to Meta.

Read the article
A minimalist balance scale weighing ad spend against profit, with a glowing red breakeven threshold line.
Profit-First
July 1, 20265 min read

Breakeven ROAS calculator: how to buy Meta ads on profit, not ROAS

A ROAS target means nothing without your margin. Your breakeven ROAS is one divided by your contribution margin. Use the interactive calculator to find yours, then buy media to that number instead of a vanity benchmark.

Read the article
A data pipeline connecting a storefront to a secure server and cloud, with a glowing red server-side data stream.
Measurement Truth
July 1, 20267 min read

How to set up Meta CAPI on Shopify (the right way)

There are two ways to turn on Meta's Conversions API for a Shopify store: the fast built-in route and the robust first-party route. Here is how each works, where the easy one falls short, and what actually makes your tracking trustworthy.

Read the article
Two diverging charts: an inflated red line rising above a truer white line, symbolising reported ROAS versus real revenue.
Measurement Truth
July 1, 20266 min read

Why your Meta ROAS is higher than your actual sales

The ROAS in Ads Manager almost never matches the money in your bank. That gap is structural, not a bug, and understanding it is the difference between scaling profit and scaling a number that only exists inside Meta.

Read the article
A smartphone checkout with a Mobile Money option and a glowing red crack draining light away, symbolising lost sales in the last mile.
African Checkout
July 1, 20266 min read

Why African shoppers abandon a checkout that looks like it works

Traffic arrives, products get viewed, and orders never follow. For African e-commerce stores, the leak is usually the last mile: buried Mobile Money, a silently failing payment gateway, and pixel data that hides all of it. Here is how to find and fix it.

Read the article