Campaign Management Positioning Case Studies About Discovery Call →
Back to Case Studies

Case study · bellicon

Seven years of Meta ads in five countries, every order traced back to the ad.

In 2016 bellicon was only just starting with Facebook ads, and I was the in-house marketer who set them up. From 2017 I kept running them, with bellicon as my first client, until 2022, in Germany, Austria, Switzerland, France and the Netherlands, with separate campaigns and a separate cost per order for each market. On top of that came separate accounts for bellicon Academy and bellicon Work, the B2B sales units: lead generation to win fitness studios and corporate HR teams.

Client bellicon
Industry E-commerce
Markets Germany, Austria, Switzerland, France, the Netherlands
Engagement 2016 to 2022, in-house first, from 2017 as a client
7 years
of Meta ads for bellicon, 2016 to 2022
5 countries
separate campaigns, a separate cost per order per market
Every order
traced back to the ad through the Meta pixel
No ROAS
because the internal reporting standards carried orders and no revenue

Before · Context

2016: The ads brought orders, and the discussion was about the price of a click.

In 2016 I was the in-house marketer at bellicon. Facebook ads had been around for a year, and bellicon was only just starting with them. I set them up myself, from the pixel on the website to the first campaign. The orders came in, and the pixel assigned each of them to the ad it had come from.

The Google campaigns ran at a partner agency. Its account manager argued my numbers away without checking them: whoever bought through retargeting would have bought anyway. And brand search on Google delivered the order for a fraction of the click price.

My reading was different. Whoever types the brand name into Google already knows the brand, often from exactly the ad they saw shortly before. That click was credited with the sale, and mine was denied it.

Proof was something neither of us had. The Meta pixel was set up cleanly, and the Google numbers were right on their own terms too. What was missing was a system that evaluated the sales across both channels. So the discussion stayed on the price of a click.

The real blocker

A pixel proves what happens in its own channel. Settling the argument between two channels takes more.

The Meta pixel sees what happens on the website after someone has seen or clicked a Meta ad. Google Ads sees the same for Google. Both systems report one sale each for the same purchase, and both are right from where they stand. To decide which channel triggered the order, you need a third evaluation, one that merges both data sources and counts the order once.

That evaluation was never built at bellicon in those years. I raised the gap several times. Closing it was work that stood in nobody's job description, and as long as it stayed open, each channel had its own truth. bellicon stood where every company stands when two providers run two channels and neither of them owes the shared evaluation. The orders came through both channels, and at first sight the argument cost nothing.

What it cost was the decision nobody could make: how much budget belongs in Meta and how much in Google. For seven years that was discussed by click price, and the click on brand search was always cheaper than a cold visitor from Meta.

2016 to 2022 · The build

Inside my channel I built what could be proven.

The argument across both channels stayed open. Inside Meta there was no reason to leave it open, and this is what the build looked like.

Phase 1 · 2016

The in-house setup

What I did:

  • Set up the Meta pixel on the website early in 2016 and insisted on tracking the order itself through Google Tag Manager. Before that, only the order form was tracked.
  • Set up the first campaigns for Germany and ran them myself, target groups and marketing content included.
  • Reported internally at campaign level and steered the budget by which cold-traffic campaign and which use case had the best cost per order, retargeting left out of the count. Retargeting was a small part of the budget.

Why it mattered: from the first month on, Meta had a number that could not be argued away inside the channel: what an order from cold visitors had cost, per campaign.

What changed: for the first time bellicon had a channel in which the path from the ad to the order was visible without gaps.

Phase 2 · 2017 to 2022

A separate cost per order for each of the five countries

What I did:

  • In 2017 I went independent, and bellicon became my first client. I kept running the campaigns, now from outside.
  • Built a separate campaign structure for Austria, Switzerland, France and the Netherlands, each with its own language and its own budget.
  • Measured every market against its own cost per order.
  • Reports per country: ad spend and orders, and from those the cost per order.
  • Separate accounts for bellicon Academy and bellicon Work: lead generation for the B2B sales units, fitness studios for the Academy and corporate HR teams for Work, in their own campaigns with their own evaluation.

Why it mattered: one cost per order for "Europe" hides that one market runs well and another burns money. Five separate numbers show it.

What changed: budget could be decided per market, with a number that applied to exactly that market.

The turning point

The number that would have settled the argument was not built in those years.

From 2016 to 2022, two numbers about the same orders lay on the table: my cost per order from the Meta pixel and the click price of Google brand search. The click price was always cheaper, because a click on your own brand name comes from someone who already knows the brand. A cold visitor from Meta costs more, and the order they place later through brand search is credited to Google. Cross-channel evaluation hopefully arrived when a bigger agency later took over both channels. The argument stayed with me longer than any single campaign from those years, and it is the reason I start with the tracking today.

I took two things from it. First: the pixel is the foundation, and without it all you have is a click price. Second: the foundation is not enough. Anyone running two channels needs an evaluation that counts the sale once and assigns it to the ad that triggered it. The tracking that would have settled this argument from day one I built from 2023 for lead generation, because there it becomes visible quickly which ad leads to a sale. Since then one rule has applied on every account I run: I report no number that would not survive that argument.

The outcome

What this page shows, and what it does not.

The reports of those years contained ad spend and orders per country. They contained no revenue. That is why this page shows a cost per order and no ROAS, and why I name no order counts either: the order counts belong to bellicon.

Before, 2016

  • Facebook ads only just started at bellicon, in one market.
  • Two numbers about the same orders and no shared evaluation.
  • Budget decisions by click price.

After, 2017 to 2022

  • Separate campaigns in five countries, each with its own cost per order.
  • Every order through Meta assigned to the ad click, for seven years.
  • Budget steered by the cost per order of the cold-traffic campaigns, retargeting left out.
  • Reports per country with ad spend, orders and cost per order.
  • An argument that stayed open, and the rule that came out of it.

bellicon was the account where I learned which number I need before I report a number.

What follows for you

When two channels report the same sale, nobody has built the evaluation.

bellicon is e-commerce with a shopping cart and an order as the event, the simplest case for tracking. The argument arose anyway, because two systems reported the same order and nobody had built the third evaluation. In a company of ten to two hundred people that wins enquiries or appointments through ads, the gap is wider: between the click and the closed deal sit a form and at least one sales conversation.

  • The Meta agency reports its sales, the Google agency reports its own, and the sum is larger than the orders in the shop or the CRM.
  • Each side has a report that is correct on its own terms.
  • The budget decision is made by click price, because that is the only number both sides can reliably compare.
  • And the channel with the more expensive click loses the discussion, whatever it triggered.

That is why today, on every account, I build the tracking to the sales-qualified lead or the sale first, before I report a result. The pixel is the start. The evaluation that counts every closed deal once and assigns it to the ad that triggered it is the work that stayed open at bellicon from 2016 to 2022.

If your version is "Meta says those were its sales, Google says they were its own", the third number is missing. Build it before you argue about budgets.

Your move

Start where the argument at bellicon stopped: with the evaluation that settles it.

Up to 45 minutes. We qualify fit and work out whether what you are missing first is the tracking or the message, even if you then hire someone else.