Otter
eCommerce case study: +81,000 orders in just 8 months for the Otter.ro store
+22.9M
Additional sales, RON
60.11 → 83.03 million, +38.1%
281,502
Orders in 2026
up from 200,685, +40.3%
8.26x
Google POAS, on net profit
up from 5.27x the year before
152,587
Meta purchases
+166.9% vs the year before
This case study was produced by the performance marketing agency BigConvert, based on data from the accounts we manage. The data was checked and validated by the Otter team.
The Otter.ro account was already performing well when we got the brief. There was nothing to fix, there was something to scale, and that is a different problem: you're not looking for the mistake, you're looking for the room that's left. What follows has no dramatic moment. It has an inventory, and it has a number that tempers it.
The interventions that add up, on each platform separately
Share of the platform's budget · multiple in the period analyzed
Google POAS · on net profit
New non-brand structures34.2%
9.10x
Brand, separated from the rest18.7%
11.78x
An additional CSS, in parallel18.7%
8.86x
Rebuilt feed, hero products, per-product scoring algorithmChanges what gets bid on
Meta ROAS · on revenue
Retargeting, treated as an engine32.2%
16.45x
Two seasonal engines27.6% combined
25.42x / 36.58x
New customers, isolated14.8%
20.81x / 25.05x
New creatives, weeklyKeep audiences from saturating
The two columns don't add up: one measures profit, the other revenue.
01 / Starting point
A good account doesn't tell you where it still has room
The brief wasn't a repair job. The account was making money, and the client wanted to scale it. In a broken account, the first month is a list of mistakes. In an account that works, the first month is a list of hypotheses, and most of them turn out to be false.
There is also a measurement quirk that governs this entire document. The two platforms are run on different units, the same in both periods compared: on Google we import net profit, so the multiple is POAS, while on Meta we import sales value, so the multiple is ROAS.
An 8.26x multiple on profit and a 19.90x multiple on revenue are not comparable and can't be added together.
That is why you won't find any total made by adding the two platforms together. There is, however, a third source, independent of both: the store's analytics, which measures the same sales in the same unit in both periods. That is where the only overall figure that makes sense lives, and section 06 puts it on the table along with what it says about the limits of our work.
02 / Google
Product labels as a decision system
This is the intervention the others flow from. The product score becomes a label, the label becomes a campaign, and the campaign gets a target derived from its group's margin. The labels don't describe the catalog, they allocate the budget.
The difference from a typical structure is that you don't group products by what they look like, but by how much they leave. A product that sells often and leaves little ends up in a group with a low target. A product that sells rarely and leaves a lot ends up in another group, with a different target, and no longer competes with the first for the same budget.
What this changed in numbers. The Google budget grew by 21.2%, and attributed net profit by 89.9%, from 6,651,432 RON to 12,633,587 RON. POAS climbed from 5.27x to 8.26x. On the added budget, every additional RON produced 22.33 RON in net profit, far above the account average. That is the sign that it wasn't budget that was missing, but the way it was split.
-
Brand, separated from the rest of the account
11.78xBrand demand stayed efficient and stopped masking the economics of acquisition. It is 18.7% of the budget, and now it shows separately instead of lifting the average of all the other campaigns.
-
Non-brand structures built from scratch
9.10xThey received 34.2% of the Google budget and delivered on new demand, not existing demand. It is the biggest slice of budget in the account and the one that measures real acquisition.
-
An additional CSS, tested in parallel
8.86x18.7% of the Google budget ran through CSS. The lower cost per click in Shopping turns directly into additional volume, at the same margin.
-
Rebuilt feed and seasonal hero products
Titles rewritten around real search logic, plus lifestyle and frame images tested in parallel. In Shopping and Performance Max, the feed is the creative. A small set of products, with the best margin-conversion combination, gets its own campaigns instead of competing with the whole catalog.
03 / Google
What the account shows, on net profit
| Metric | 2025 | 2026 | Change |
|---|---|---|---|
| Attributed net profit | 6,651,432 RON | 12,633,587 RON | +89.9% |
| POAS | 5.27x | 8.26x | +56.7% |
| Conversions | 45,074 | 118,561 | +163.0% |
| Net profit per conversion | 147.57 RON | 106.56 RON | −27.8% |
| Clicks | 1,856,722 | 2,888,427 | +55.6% |
| Impressions | 127,065,203 | 180,714,326 | +42.2% |
One row deserves a careful read. Net profit per conversion fell by 27.8%, from 147.57 RON to 106.56 RON, while the number of conversions grew by 163.0%. The account went deeper into the catalog and into demand, where orders are more numerous and each leaves less. Overall the trade was a good one, but it is a trade, not a free win.
In 2025 there was a tracking issue with one of the payment methods, and in 2026 it was fixed. For transparency on the channel's total sales, we also add the growth at Analytics level.
| Metric | 2025 | 2026 | Change |
|---|---|---|---|
| Sales | 50,700 | 76,362 | +50.6% |
| Sales value | 15,670,115 RON | 23,337,688 RON | +48.9% |
Screenshot · year-over-year comparison from Otter's Google account
04 / Meta
We didn't optimize Otter's existing structure, we replaced it
On Meta, the entire 2026 budget ran through campaigns that didn't exist before we took over. It isn't an optimization of what was there, it's a new structure put in place of the old one, with all the risk that comes from giving up a history that worked.
Then came the hard part. Investment grew by 150.5%, and efficiency had to hold. It held and edged up, from 19.09x to 19.90x. When you scale two and a half times on Meta, holding efficiency is already the result. The fact that it rose means the structure still had room.
| Metric | 2025 | 2026 | Change |
|---|---|---|---|
| Attributed revenue | 16,274,764 RON | 42,485,719 RON | +161.1% |
| ROAS | 19.09x | 19.90x | +4.2% |
| Purchases | 57,163 | 152,587 | +166.9% |
| Average order value | 284.71 RON | 278.44 RON | −2.2% |
| Reach, Meta accounts | 1,921,070 | 3,097,025 | +61.2% |
| Impressions | 60,660,477 | 139,124,137 | +129.3% |
05 / Meta
Four engines, not one big campaign
-
Two seasonal engines
25.42x / 36.58xCBO campaigns with near-broad targeting, split across the two retail seasons, handing budget over to each other as the season changes. It isn't one big campaign, it's two taking turns at the wheel.
-
Retargeting treated as an engine, not an add-on
16.45x32.2% of the Meta budget, segmented by funnel depth and stock status, including clearance campaigns on the variant the user has already viewed.
-
New customers, isolated and measured separately
20.81x / 25.05xProspecting and lookalikes with buyers excluded, 14.8% of the budget. Without this separation, retargeting slowly eats the growth budget and nobody notices, because the average looks good.
-
New creatives, weekly, through an automated process
Reach up 61.2%, with CPM almost stable, up 9.2%. That is the sign audiences haven't saturated, not the number of ads launched.
Frequency did rise, though, from 7.7 to 11.3. The account is talking to the same people more often than a year ago, and this is the threshold to watch in the period ahead, not ROAS.
Screenshot · year-over-year comparison from Otter's Meta account
06 / The total
The only overall figure comes from the store, not the platforms
Any reader used to case studies expects a total here. We don't build it by adding the two platforms together, because one reports profit and the other revenue, and their sum would be neither profit nor revenue. We take it from somewhere else: the otter.ro store's analytics, which measures the same sales in the same unit in both periods.
| Metric | 2025 | 2026 | Change |
|---|---|---|---|
| Store revenue | 60,114,004 RON | 83,031,849 RON | +38.1% |
| Sessions | 10,147,216 | 17,378,065 | +71.3% |
| Key events | 200,685 | 281,502 | +40.3% |
| Revenue through the managed channels | 20,354,628 RON | 45,191,761 RON | +122.0% |
| Their share of store revenue | 33.9% | 54.4% | +20.6 points |
| Revenue through the other channels | 39,759,376 RON | 37,840,088 RON | −4.8% |
The number that tempers everything you've read so far. The channels we manage grew by 24,837,133 RON. The store, overall, grew by 22,917,845 RON. So our growth is 108.4% of the store's growth, i.e. bigger than it, and the other channels fell by 4.8%.
07 / Limits
What we don't take credit for
The account was doing well before. The bigger the numbers, the more this section matters.
-
5.27x · 19.09x
We didn't start from zero
The account was already profitable on both platforms, and growth is measured from a base that worked: 5.27x on Google and 19.09x on Meta.
-
11.78x
Brand demand would have come anyway
On Google, brand runs at 11.78x on 18.7% of the budget. We separated it precisely so it would stop lifting the average of the rest of the account, but we don't claim to have created it.
-
×1.9
Platforms report more than the store does
The revenue reported by Meta is roughly 1.9 times higher than the revenue attributed to the same sources on last click. It is a property of attribution models, present in both periods compared.
Revenue reported by Meta 100%
Same sources on last click in analytics 53%
Platform tables are not to be read as store sales. Section 06 is the one that measures the store.
08 / The system
What can be repeated
None of the interventions above would have made the difference alone. Together, and in this order, they did.
-
Phase 1
You decide what each platform measures
Before any structure, you decide what value gets imported. An account that receives profit behaves differently from one that receives revenue, and the two are never compared with each other.
-
Phase 2
Structure follows margin, not the catalog
Product groups are built by how much they leave, not by what they look like. The label becomes a campaign, and the campaign gets a target derived from its group's margin.
-
Phase 3
You check the result in the store, not in the platform
Platforms tell you how much each one attributes to itself. Only the store's analytics tells you whether the total grew and how much of the growth is credit moving between channels.
What can't be repeated is the number. What can be repeated is the habit of putting the platform report next to the store report before drawing a conclusion. Almost always, the second is smaller and more useful.
The client's voice
I scaled without losing profit. Quite the opposite.
“I came from a model where I wanted weekly reports, meetings, to be in on every detail. That's how I felt in control. Now I wake up in the morning, look at the dashboard, see that things are working, and I have no reason to message anyone. That's a good sign.”
+52%
POAS year over year, on each platform separately
The first four months of 2026
Conclusion
In an account that's doing well, the average is where the remaining room hides.
Brand lifted the average. Retargeting lifted the average. Products that sold easily lifted the average. Separating them didn't change performance, it changed what you can see.
See more about the methodology
The period, the sources, each platform's units of measurement and what can't be added together. 13 notes.
- Period analyzed: January 1 - August 13, 2026, compared with the same calendar window in 2025.
- Sources: campaign-level exports from Google Ads and Meta Ads, plus a traffic acquisition export from the store's analytics, by source and medium, for both periods. Google totals are calculated exclusively from campaign rows, after removing 8 Total rows.
- The currency is the Romanian leu (RON). The market is Romania.
- The two platforms are run on different units of measurement, though identical in both periods compared. On Google we import net profit, so the reported multiple is POAS. On Meta we import sales value, so the reported multiple is ROAS.
- Because each platform kept its base in both periods, the year-over-year comparison is valid within each platform. Across platforms it isn't, which is why the document contains no total formed by adding the two: no revenue, no profit, no multiple, no volume.
- Payment method tracking: in 2025, one payment method wasn't being recorded correctly, and in 2026 the issue was fixed. For a like-for-like comparison, section 03 also shows the GA4 figures, where tracking worked for all payment methods in both periods.
- The only overall figures in the document are the ones from analytics, in section 06. They measure the store's sales on last-click attribution, in the same unit and with the same method in both periods, so they are comparable with each other. They are not comparable with the figures reported by the platforms.
- The channels we manage are defined as paid traffic from Google and Meta, i.e. the google, facebook and instagram sources on the cpc medium. The rest includes organic, direct, email, price comparison sites, programmatic and any other source recorded by the store.
- Total ad budget adds up the budgets of the two platforms. These are amounts of money spent, so adding them is valid, unlike adding the conversion values they report.
- The profit imported on Google is calculated after COGS, shipping, packing and VAT, with cancelled orders removed from the data daily, and is before ad spend and fixed costs. It is not the company's final profit.
- At the client's request, budgets are not published. Percentage changes in budget and CPM are published, absolute cost figures are not.
- The attribution model is unchanged from the previous period, on the same account and the same calendar window (Meta: 7-day click or 1-day view).
- The results reflect one specific account, category and period. They are not a promise of performance.
AV


