{# DE + SK hreflang odebráno 2026-05-24 — viz core/settings.py LANGUAGES. cross_lang_alternates is set False by views whose CS/EN versions live on DIFFERENT paths (KB articles/categories, blog posts) — there the naive same-path alternate would point at a non-existent URL, so we emit only the self-canonical instead of a wrong reciprocal. #} Skip to content

Server-side tracking for fashion and apparel: the returns that wreck your ROAS

Fashion stores have one specific problem: a high share of returns. If ads optimize for orders that come back, you burn budget. How server-side solves it.

D
DataNostro Team 7. 6. 2026 · 10 min · Intermediate

Fashion and apparel stores face something other sectors don't to the same degree: a high share of returns. Customers routinely order several sizes and send some back. If your ads optimize on gross orders, they learn on revenue that largely disappears. Here's how to fix it.

Why fashion is different

  • Returns are routine, not exceptional. Ordering several sizes "to try" and returning some is standard behavior in fashion.
  • Gross and net revenue differ a lot. An order of 3,000 where half is returned is really 1,500 in revenue.
  • Visitors browse a lot. Long, repeated visits without an immediate purchase — attribution has to keep the journey connected.
  • Repeat purchase is key. Customer value in fashion rests on repetition, not a single order.

Challenge 1: returns distort ROAS

This is the core problem. When you send ad platforms the order value at the moment of purchase and a large share is later returned, you optimize on revenue that doesn't exist. Ads may then push exactly into the audiences and products with the highest return rates. The fix: reflect returns back into the data — send a value correction or a refund event so ads see net revenue. The server-side container is a good central place to handle this. It relates to ROAS vs. POAS.

Challenge 2: correct values in the data layer

For returns to be reflectable at all, measurement must rest on clean values and a unique order ID from the start — without it you can't match a later return to the original purchase. The foundation lies in the data layer.

Challenge 3: long browsing and lost interactions

Fashion is browse-heavy — people return, look around, add to favorites. When client-side loses some of these interactions to ad-blockers and ITP, both attribution and remarketing suffer. Server-side captures interactions more reliably and, thanks to longer cookie lifetime, keeps a returning customer connected. See ITP, iOS and ad-blockers.

Challenge 4: new vs. returning customer

In fashion, the difference between acquisition and retention is crucial. Reliable identification of a returning customer lets you target ads only at those you genuinely need to acquire, and avoid paying for ones you already have.

Practical advice

  • Reflect returns in measurement — without it ROAS misleads.
  • Ensure a unique transaction_id so a return can be matched to its purchase.
  • Deploy server-side for reliable interaction capture and longer identification.
  • Measure new vs. returning customers separately.

Summary

In fashion, what matters isn't how many orders ads bring but how many remain after returns. Server-side tracking lets you reflect returns in the data, capture long buying journeys and optimize ads for net revenue — not for goods that come back in a week. Start with the complete guide.

Share

A new article once a month

In-depth server-side tracking guides + case studies from the CZ market. No spam, just 1 email a month. Unsubscribe anytime.

Back to Tracking