Mandhu's campaigns were learning from bad data. Once purchase tracking was fixed, purchases went up tenfold

An online shop with Himalayan handicrafts was spending several hundred euros a month on Meta Ads, yet the ads dashboard showed only a handful of purchases. Before we touched the campaigns, we checked whether the numbers the algorithm learns from matched what was happening in the shop at all. It turned out the Meta code there was counting some events twice and sending the purchase signal from several places at once.

Updated 3 min read
A woman in a white blouse stands with her back to the camera on an empty road among fields, holding out a red shawl with an ethno pattern
A shawl from the Mandhu range. Photo: Mandhu.
Client
Mandhu
Industry
Online shop with products from India and Nepal
Markets
Poland
Platforms
Meta Ads
Period
since May 2026

In brief

What we saw
In one week: 71 checkouts started, 55 add-to-carts and 2 purchases.
What we decided
We fixed the shop's analytics so that the ad platform could optimise campaigns for real purchases.
What happened
10× morepurchases in the shop. 42 in August, 4 in June.
Contents
  1. Starting point
  2. What we saw
  3. What we decided
  4. What happened
  5. What we learned

Starting point

Mandhu is an online shop with handicrafts and cosmetics from India and Nepal: soaps, incense, oils and ethno-style shawls. We took over its Meta Ads campaigns from another agency in May 2026. Our point of reference is the period before we started: from September 2025 to March 2026 the account reported an average of 25 purchases a month on spend of about €650. Every euro spent on ads brought €1.38 in revenue, which is not much for a shop that still has to pay for the goods and the shipping out of that amount. April was worse still, with the dashboard showing 2 purchases on €930 of spend.

The campaigns launched at the end of May with the objective “add to cart”, because with fewer than 80 purchases since the start of the year the algorithm had too few examples of buyers to learn from. In June, however, Meta showed only 4 purchases on €570 of spend, about €145 each. Before we made any further changes to the campaigns, we checked whether the problem lay in the ads or in the numbers themselves.

What we saw

We looked for the answer first in Events Manager, the place where Meta collects signals from the shop: who viewed a product, who added it to the basket, who started checkout and who paid. In the week of 2 to 8 June the tool recorded 688 product views, 55 add-to-carts, 71 checkouts started and 2 purchases. These numbers alone raise doubts. Nobody can start checkout without a basket, so there could not have been more checkouts than baskets, and that was our first sign that the analytics were wrong.

When we looked into the shop's code, we found four faults:

  • some events reached Meta twice, including checkout started and page view;
  • checkout started was counted as soon as the customer opened the basket, before they clicked “Order”;
  • the purchase signal was arriving from several sources at once;
  • Meta was reporting the same value for every purchase, so revenue in the reports was unreliable.

What we decided

We recorded every change of direction in the Decision Log, together with the reasoning and the result. Below are the two most important entries from that period.

Key decisionsMandhu · Meta Ads · since May 2026
  1. Meta Ads

    Campaign objective changed from add to cart to purchase.

    Why
    Baskets kept coming and purchases didn't, so the algorithm was finding people who happily add to the basket.
    Result
    4 purchases in June, so we looked for the cause in the shop's analytics.
  2. Meta Ads

    Fixed the shop's analytics: every event reaches Meta once, checkout started counts only after the customer clicks “Order”, and the purchase has a single source and the real order value.

    Why
    The Meta algorithm learns from these signals, and with bad data it looks for the wrong people.
    Result
    It workedSince 17 July there have been fewer checkouts than baskets, in line with what happens in the shop.

What happened

MonthPurchases from adsSpendCost per purchase
June 20264€570€143
August 202642€860€20

There are ten times as many purchases from ads, and a single purchase comes in at a seventh of the cost. The following months showed that the result holds: in September every euro spent on ads brought €1.69 in revenue, and in the first twelve days of October €1.91 (before we took over the account it was €1.38). The new campaign structure did best of all, returning €3.07 in the last nine days of September.

Much of this change came from the fixed analytics. Meta started to see purchases that had previously slipped past its reports, and the algorithm finally got real examples of buyers to learn from.

Amounts converted from Polish złoty at about 4.2 PLN to the euro.

What we learned

  1. Before we change a campaign, we check whether the numbers in the dashboard match what the shop sees, because the algorithm learns only from the signals it receives.
  2. A funnel in which a later step has more events than the one before it (for example more checkouts than baskets) almost always means an analytics error.
  3. When we take over an account, we start with an analytics audit, because a campaign decision is only as good as the data it is based on.

Who this story is for: online shops whose ads dashboard shows fewer purchases than the owner sees in the orders, or whose results have dropped for no obvious reason.

More stories

All case studies
  1. Four members of the Akademia Kaseta team on a red sofa, behind them a painting of a lion with the Gdańsk coat of arms

    Akademia Kaseta

    Arts education for children and adults, Meta Ads
    What we saw
    The season's budget was scattered across 32 campaigns, which brought 38 enquiries in total.
    What we decided
    We merged them into a few larger campaigns optimised for a submitted enquiry form.
    What happened
    70% lessper enquiry. From €49 to €15.

Let's talk about your campaigns

Tell us how your advertising works today and what you want to achieve, and we’ll prepare a proposal for working together.