PETLANDO · SINCE JANUARY 2026

Petlando: revenue up 129 %. Last year's total beaten in 224 days.

A Czech pet-supplies store on Shoptet with 1,780 products and a marketing budget that had been running on autopilot. Since January 2026 we have run growth from the outside: the assortment narrowed to what sells, acquisition taken over and run against revenue instead of clicks. With not a single discount campaign — we cut them entirely. The figures below were published by the client on their own investor page.

+129 %
revenue 1 Jan – 18 Sept 2026 against the same period last year — 3.02m against 1.32m CZK
224 days
the time it took the store to beat the whole of 2025 (2.14m CZK)
2.6×
orders year on year, 990 → 2,535 · derived from both totals
43.2 %
margin on revenue, against 39.7 % in the same period last year

REVENUE, ORDERS, MARGIN AND TRAFFIC WERE PUBLISHED BY THE CLIENT ON 18 SEPTEMBER 2026 AT INVESTICE.PETLANDO.CZ, FROM THEIR OWN STORE STATISTICS AND GOOGLE ANALYTICS; WE DO NOT RESTATE THEM. RATIOS AND DIFFERENCES DRAWN FROM THEM — THE MULTIPLE OF ORDERS AND THE MARGIN IN CASH — ARE OURS AND ARE LABELLED AS DERIVED. PERCENTAGES COMPARE LIKE-FOR-LIKE PERIODS. PUBLISHED WITH THE CLIENT'S CONSENT.

The whole of last year fell in August

01What happened to revenue

Three bars, one sentence: in 261 days of 2026 the store took more than in all of 2025 — and against the same period last year it is more than double.

Revenue: what happened in 261 days

in millions of CZK · published by the client on 18 September 2026

How to read it: The middle bar is the same period last year, the right-hand one this year — that is the +129 %. The left bar is the whole of 2025 including Christmas, the strongest stretch of the year; the right one beat it anyway, and took 224 days to do it. The campaigns have been running since February and the step between January and February lines up with that — but that is correlation, not proof.

3.02m CZK
Revenue 1 Jan – 18 Sept 2026
+129 %
Against the same period in 2025 (1.32m)
224 days
Until the whole of 2025 was beaten
1.31m CZK
Margin in cash (525k last year) · derived
The composition matters more than the total

02The growth is more buyers, not a bigger basket

If a higher average order were driving it, it would mean extracting more from the same people. The opposite happened.

Orders and average order value

same period in both years · bars = orders, line = average order value in CZK

How to read it: The bars are orders — 990 → 2,535, ten a day instead of four. The line is the average order, and it fell from 1,335 to 1,192 CZK, by eleven per cent. So the growth is not a more expensive basket but more people buying: we read that as the store winning new customers rather than squeezing the existing ones — no split between new and returning customers has been published, so that is our reading, not a measurement. If it holds, it is a base you can repeat — and in a shop where the dog eats every day, a base that comes back on its own.

This is the point

03Margin up, and not one discount

Doubling orders can be bought with discounts. This one was not: we cut discount campaigns entirely and the margin on revenue went up anyway.

Margin on revenue

per cent of revenue · with not a single discount campaign

How to read it: Margin on revenue went from 39.7 % to 43.2 %, up 3.5 percentage points — in the same year the average order fell by eleven per cent. Those two only go together one way: a smaller basket is not a discounted basket, it is a different customer buying less. Had the growth rested on promotions, the margin would have fallen with the basket.

0
Discount campaigns over the whole period
+3.5 pts
Percentage points of margin · derived from 39.7 and 43.2 %
−11 %
Average order, 1,335 → 1,192 CZK
Where those people come from

04Traffic sits on the same story

If orders grew without traffic, it would be a one-off swing in conversion. Both are growing.

Traffic

visits · left the whole period, right August alone

How to read it: The left pair is the whole period: 48,144 visits from January to August 2026 against 36,964 for the whole of 2025 — thirty per cent more in two thirds of the year. The right pair is August alone, 7,697 against 1,717. Each visit views seven pages; we read that as a sign these are not stray clicks — a reading, not a measurement. This comparison is not like-for-like in length; that is how the client published it, and that is how it is described here.

What we did about it

05Acquisition run against revenue

Meta carries most of the volume and runs as two things, not one: a sales campaign for new customers and remarketing for people who already know the store. Google runs the opposite way from how we found it.

Return on two Google campaigns

multiple of spend over the 30 days to 3 September 2026 · same store, same products, same month

How to read it: Over the 30 days to 3 September 2026 the curated campaign on the top products returned 7.4 times its spend; the broad Performance Max over the whole brand list returned 1.6. Same store, same products, same month. The difference is what you put in front of the algorithm. This is our measurement from an account we run, not a figure from the client.

Product pages rebuilt around what sells. Two ranges carry the revenue — VetBed mats and, until it was discontinued, Iso-dog food. The VetBed page was rebuilt from the product data: a size chart drawn so all four are legible, a comparison of the Premium and Extra Premium ranges on the numbers the store actually publishes, icons and bullets that hold up on a phone. The same template then carried Wolfsmen and the store's own bathrobe brand.

Dead channels brought back. The Sklik account existed, held 22 historical campaigns and had spent nothing at all in 2026: it had simply run out of credit. The Zboží.cz listing was deactivated, so the store did not appear in the comparison engine at all — VetBed Premium listed nine shops and Petlando was not among them. We opened a new listing, connected the feed (158,720 lines, 1,879 items on the first attempt), mapped 201 of the store's 230 categories to the Zboží.cz tree so the products could be found, and set bids from the published minimum-CPC list rather than the defaults.

One place where it is visible. Everything — Meta, Google, Sklik — is read live by Salamon OS, the system our own company runs on, so a campaign can be paused, capped or switched off from one screen, and the monthly meeting is a single page: spend, revenue, margin, what changed, what we do next.

And the budget it all has to fit. Petlando is a small company: total paid spend across channels is around 1,800 CZK a day with a hard cap of 2,000. There was no room to test with more money. Every improvement had to come from spending the same money differently, and every channel had to justify itself against a target return of six times spend.

Honestly

06What did not work

The Sklik wallet, twice. Reviving the account created a default Shopping campaign at 1,000 CZK a day; nine dormant campaigns under it added another 2,880. Had we topped up the wallet before levelling the budgets, the account would have spent the monthly plan in a week. The order — budgets first, money second — is written down now, because it is the kind of mistake that does not announce itself.

Categories in the feed. The Zboží.cz feed passed on the first attempt and all 1,835 offers landed as "unclassified", which means invisible to shoppers. Two causes and not one error message: an unticked category tree in Shoptet and a mapping field set to "unmapped" on every category. A feed that passes validation is not a feed that sells.

A bestseller on its way out. For the whole month we were reading the analytics, Iso-dog sat at the top — and the store was discontinuing it. A ranking of what sold last month is not a list of what to promote next month. Priorities are set by the owner now, and the analytics check them rather than set them.

Decisions, not omissions

07What we deliberately did not do

We did not hand the whole catalogue to the ad platforms on a single bid, even though that is the default and the platforms recommend it. We did not raise the daily cap to buy growth. We did not run a single discount campaign — not even in the months where it would have made the numbers look better straight away; a discount is a loan against next month, and in a shop that has to live on repeat purchases it is repaid in margin. And we did not report clicks, impressions or "reach"; the monthly page carries spend, revenue and margin, and nothing that cannot be traced to an order.

Work in progress

08What is running now

The investor site for the bond issue. The issue is being prepared now, in the autumn of 2026 — after the figures above, not because of them. We built the page the company talks to investors through: the 2026 figures, the market and the documents to download. It is held to the same rule as the rest: a company asking for money has to be able to show the numbers behind the story. The issue itself is the issuer's to decide and to describe — this page states none of its terms and is neither an offer nor a recommendation.

Slovakia is running, the United States is in preparation. The Slovak store runs as a second source of growth alongside the Czech one. Entry to the United States is in preparation, through Amazon. When it is running, numbers will go here — not plans.

What we take from it

09What we would do differently

Start with a channel audit, not with campaigns. Two channels had died without anyone noticing, and finding that on day one instead of in month two would have moved the first-quarter number further. It is the reason the audit is now the first thing we do for every client, and the reason it is free.

And what we do not claim: that all of this growth is ours. Part of it is seasonality, part the narrowed assortment the owner decided on, and part the work the company does itself. We claim only what is measured — how the store differs this year from last, and which of that we ran.