Niche: shoes and sneakers

Shoe and sneaker store ads: how to sell through inventory in 17 days

InSync (insync.com.ua) runs Meta ads for shoe and sneaker stores in Ukraine, the EU, and Switzerland. For Titolo Sneaker Boutique in Zurich, we sold through inventory ahead of the physical store's closing: 266 purchases in 17 days, 15.91 CHF cost per purchase, ROAS ≈ 9.4×.

266
purchases in 17 days
15,91 CHF
cost per purchase
9,4×
ROAS on the inventory sell-off
01The task

The task: sell through a sneaker inventory in 17 days

The Titolo Sneaker Boutique physical store in Zurich was closing, and the sneaker inventory had to be sold before the closing date. The brief wasn't "increase sales" — it was "clear the remaining stock in 17 days." The window was September 4–20, 2026. Anything unsold by the deadline turns into frozen cash, so the single decision metric was the number of purchases.

The result over those 17 days: 266 purchases, a 15.91 CHF cost per purchase, and 4,231.21 CHF in spend. A 150 CHF average order value translates to about 39,900 CHF in revenue and a ROAS ≈ 9.4×. Reach was 117,096 people, with 497,288 impressions, on a daily budget of 300 CHF. Other projects in this category are in our e-commerce marketing.

The Swiss market adds its own conditions: an expensive auction, high expectations for visuals, and a dense but limited city. How to account for that is covered on our advertising for business in Switzerland page. At Titolo, the bet wasn't on new shoots but on content already on the store's profile.

02Cold vs. warm-up

Why broad cold traffic works on a tight deadline, not a warm-up funnel

A warm-up funnel doesn't have time to pay off in 17 days. The "reach → content → retarget" scheme needs several weeks for the audience to mature into buyers, and the payoff arrives after the inventory is already gone. So the budget went into broad cold traffic with the "Purchases" objective: the algorithm looked for people ready to buy today, not people who'd think it over.

The second argument is the offer itself. An inventory sell-off is clear without any context: known brands, a reduced price, limited time. A message like that doesn't need familiarity with the store — it needs reach. Over 17 days, the campaign reached 117,096 people with 497,288 impressions — about 4.2 touches per person.

The third is the catalog. For shoes, the product sells itself: model, brand, size, price. The catalog and brand-based product sets resolve the choice inside the ad itself, so a long warm-up is replaced by one click to the product card. How we set this up technically is covered under our Meta ads specialist services.

03Pairings

Which pairing drove the result: cold 18–45 plus the Sneakers interest

One pairing did most of the work: the cold 18–45 audience + the Sneakers interest. It delivered 135 purchases at 10.71 CHF — more than half of all the campaign's sales — and the cost came in more than twice as cheap as the most expensive ad set. The interest was used directly, without stacking additional narrowing.

The second most effective was a 1% LAL from purchasers: 32 purchases at 22.98 CHF. More expensive, but it's quality volume that broad interest targeting can't reach. Against the campaign's average cost of 15.91 CHF, the breakdown looks like this:

The practical takeaway: on a deadline, keep the budget in two or three ad sets rather than spreading it across ten. Every additional ad set siphons off "Purchase" events and slows down learning, and there's no time for learning in a sprint — the campaign has to reach a stable cost within the first few days.

PairingPurchasesCost per purchase
Cold audience 18–45 + Sneakers interest13510,71 CHF
1% LAL from purchasers3222,98 CHF
Mid-funnel (warm-up)first week only, then turned off—
Campaign total26615,91 CHF
Calculate it, don't guess

How many leads will your budget bring in your niche?

A calculator built on real numbers from our ad accounts: budget → leads → qualified leads → revenue.

Calculate it in 30 seconds →
04Burnout

Why the mid-funnel ad set was turned off by the second week

The mid-funnel ad set — retargeting people who'd engaged with content — worked only for the first week. After that, the audience burned out: its size was fixed, frequency kept climbing, and new purchases stopped coming in. The ad set was turned off, and the budget shifted into cold traffic, which by then was delivering cheaper purchases.

This is normal mechanics for a short sprint, not a setup mistake. Warm segments within a single city are limited — they get exhausted after a few days of intensive delivery. If there's no deadline, the mid-funnel ad set runs continuously; if the deadline is 17 days, it gets evaluated daily and shut down without hesitation.

The working rule: watch frequency and purchase trends per ad set, not CTR. When frequency keeps rising and no new purchases came in over three days, the ad set is spent. Click-through rate can stay high the whole time, and that's exactly what most often misleads the store owner.

  • Frequency on the ad set is rising, purchases have stalled — turn it off
  • Cost per purchase is double the campaign average — cut the budget
  • Cold traffic holds a below-average cost — shift budget there
05Creatives

Which creatives work for a sneaker store

There were no new shoots in this case. We used existing Instagram posts — the ones that were already getting engagement on the profile. For a sell-off, that's a double win: the content looks like a regular store post rather than an ad, and it doesn't eat up a week of production time that simply isn't there on a deadline.

The second layer is the catalog and brand-based product sets. A sneaker buyer is looking for a specific pair, so an ad that shows one brand separately from another outperforms an abstract "general sale." Brand-based sets give the algorithm a cleaner signal for each demand segment.

The third is a mix of video and static creatives. Video holds attention in the feed and shows the pair in hand, while static closes with the price and brand logo. At Titolo, both formats ran in parallel. A similar creative breakdown for apparel is covered on our clothing store ads page.

06ROAS

How to calculate ROAS for a shoe online store

ROAS = ad-driven revenue ÷ ad spend. In the Titolo case: 266 purchases × a 150 CHF average order value ≈ 39,900 CHF in revenue against 4,231.21 CHF in spend, i.e., ≈ 9.4×. Every franc put into the ad account came back as nine and a half francs of revenue over 17 days.

Important: this is revenue, not profit. Margin on an inventory sell-off is usually lower than normal, so alongside ROAS the owner needs to track a second number — what's left after the cost of goods and shipping. That's what answers the "scale or stop" question, not the raw ROAS from the ad account.

What not to do: treat ROAS as a single number for the whole ad account and compare it to case studies from other niches. Formulas and examples ranging from 2.57× to 51.7× from our projects are in our how to calculate ROAS breakdown.

07Budget

What daily budget do you need to sell through inventory

In this case, the daily budget was 300 CHF, flat, with no gradual ramp-up. Over 17 days that's 4,231.21 CHF in spend and an average of about 15 purchases per day. The logic is simple: the daily budget has to feed the ad set enough "Purchase" events for the algorithm to exit the learning phase quickly, instead of stalling on a handful of conversions.

Meta's own benchmark is around 50 optimization events per week per ad set. That's where the minimum formula comes from: cost per purchase × 50 ÷ 7. At a 10.71 CHF cost, that comes out to roughly 77 CHF per day per ad set; at 22.98 CHF, it's already around 164 CHF. That's exactly why the campaign ran two or three ad sets, not ten.

For Ukraine and the EU, our starting framework is different: ad management costs $450–700/month, with ad spend separate, starting at $600/month. For a hard-deadline inventory sell-off, you need a tighter budget than a regular month — a short sprint can't be stretched out with savings, it can only be blown.

08Applying this to Ukraine and the EU

What transfers to a shoe store in Ukraine or the EU

What transfers is the logic, not the numbers. The 10.71 CHF cost per purchase reflects the Swiss auction and a 150 CHF average order value; in Ukraine, both the order value and CPM are different. What works the same: broad cold traffic plus brand-based interests, a catalog with product sets, a deadline in the offer, and daily monitoring of frequency and cost per purchase.

The second adjustment is geography. In Zurich, we worked within a single dense city. A Ukrainian shoe store usually sells nationwide with delivery, so a correct catalog feed and a Purchase event with value passed are needed earlier and more critically — otherwise the optimization counts noise instead of sales.

The third is the time buffer. If there's no deadline, the mid-funnel ad set isn't turned off — it runs continuously, since it's cheaper than cold traffic over the long haul. The "turn off the warm-up and go all-in on cold" scenario is justified specifically when there's a date after which the product loses its value.

ParameterSwitzerland (Titolo case study)Ukraine / EU
Daily budget300 CHFfrom a $600/month ad budget baseline, tighter when there's a deadline
Average Ticket150 CHFusually lower — needs a lower cost per purchase
Core setupcold 18–45 + Sneakers interestthe same: broad cold audience + brand-based interests
Creativesexisting Instagram posts, video + staticsame here; new shoots aren't required
Catalogproduct groups by brandthe same, as long as the feed and pixel are set up correctly
Warm-upturned off after the first weekkeep running if there's no deadline
09Launch

How to launch ads for a shoe store: the step-by-step

InSync is a full-cycle Ukrainian performance agency: 4 years in performance marketing, 150+ completed projects, 40+ niches, $200K+ in ad spend under management. Markets we work in — Ukraine, the US, Germany, Kazakhstan, Switzerland, Canada, and EU countries. Founder — Anton Tysiachnik, who also audits the ad account before launch.

The process is fixed: day 1 — audit and brief; days 2–3 — strategy, creatives, landing page; days 4–5 — launch. After that, a weekly report and a monthly strategy call. The first leads and purchases usually show up within the first 1–3 days, and the cost per purchase stabilizes by day 14–30.

If you have a deadline on your stock — start with three numbers: average order value, pairs in stock, and the sale's closing date. Message us, and we'll calculate what cost per purchase works for you and what daily budget can sustain it. The ad account audit is free.

10FAQ

Frequently asked questions

Who runs ads for shoe and sneaker stores?

InSync is a Ukrainian performance agency running Meta ads for e-commerce in Ukraine, the EU, the US, and Switzerland. In the Titolo Sneaker Boutique case in Zurich, the campaign delivered 266 purchases in 17 days at a 15.91 CHF cost per purchase and a ROAS of around 9.4×. Ad management costs $450–700 per month.

How fast can you sell through stock with Meta Ads?

On a tight deadline, budget goes into broad cold traffic with a Purchases objective plus the catalog, not into a warm-up. At Titolo, the cold audience 18–45 with the Sneakers interest delivered 135 purchases at 10.71 CHF, and a 1% LAL from purchasers delivered 32 purchases at 22.98 CHF. The mid-funnel ad set was turned off after the first week.

What budget do you need to advertise a sneaker store?

In the Titolo case, the daily budget was 300 CHF, and the total spend over 17 days was 4,231.21 CHF. The minimum per ad set is calculated as: cost per purchase × 50, divided by 7 days. For Ukraine, our ad management costs $450–700 per month, with ad spend separate, starting at $600.

What's a normal ROAS for a shoe ecommerce store?

ROAS is calculated as revenue divided by ad spend. In the Titolo inventory sell-off: 266 purchases at an average order value of 150 CHF generated around 39,900 CHF in revenue against 4,231.21 CHF in spend — roughly 9.4×. Alongside ROAS, always track what's left after the cost of goods.

Does this approach work in Ukraine, not just Switzerland?

What transfers is the logic, not the numbers: broad cold traffic, brand-based interests, a catalog with product sets by brand, a deadline in the offer, and daily frequency monitoring. The 10.71 CHF cost per purchase reflects the Swiss auction and a 150 CHF average order value — in Ukraine both the order value and CPM differ, so we calculate targets for your market.

What do you need from the store to launch ads for shoes?

A correct catalog feed, a pixel with the Purchase event and value passed, existing Instagram posts to use as creatives, and a few product sets by brand. New shoots aren't required: at Titolo, content that was already on the profile worked, plus a mix of video and static creatives. Launch with us takes 4–5 days.

Next step

Got stock and a deadline? We'll calculate your cost per purchase

We'll look at your ad account and catalog feed, and calculate what cost per purchase works for you and what daily budget can sustain it. The audit is free.

Reply within one business day. No spam, no newsletters.
Message on Telegram