Skip to content

What does adstock mean for a fashion brand?

If you sell clothes, an ad's carryover can outlive the stock it promoted. Flag every drop, markdown and sell-out in your mix model, read sales net of returns, and expect brand memory to outlast any single collection.

By , Founder & CEOUpdated 5 min read

If you sell clothes, adstock is a fade with a hard stop. An ad for a summer drop can't keep selling once the sizes are gone. The memory of your brand may still carry into the next drop. So flag launches, sales and sell-outs in the model, and read carryover net of returns.

If you sell fashion and apparel

If you sell clothes, much of your ad money usually backs something with a shelf life: a drop, a season, a size run. A mix model's decay assumes the carried-over interest has somewhere to land.

It may not. When the linen shirts sell out in week three, next week's carryover meets an empty rail. The model sees sales fall and decides the ads stopped working, or that their effect fades fast.

Markdowns bend the curve the other way. An end-of-season sale or Black Friday pulls buying into one week. Without a flag for it, a model can read that spike as carryover from the ads that ran just before.

Returns add a third twist. Shopify books a return as negative sales on the date it comes back, not on the order date. A strong week's returns then show up as a dip a few weeks later, right where carryover should be.

And not every euro backs one drop. Lookbooks, creator posts and brand video teach people your name. That memory can outlast any single collection, and it fades on a different clock.

What one store's data shows

One store's anonymised GA4 export, 1 January 2024 to 21 August 2026. It holds shares of revenue only: no ad spend, no order counts.

What the export showsShare of revenueSource cell
Direct, in last click, first click and touched views57.7%Channels sheet, Direct row
Journeys with 4 to 9 touches (16.9 days to buy)5.4%Journeys sheet, 4 to 9 touches row
Journeys with 10 or more touches (16.0 days to buy)3.0%Journeys sheet, 10+ touches row

Nothing in the export says Store A sells clothes. Read it for timing, and for where carried-over buyers turn up, then check your own.

On the Journeys sheet, journeys with 4 to 9 touches took 16.9 days to buy, and those with 10 or more took 16.0 days. That is two weeks and more from the first recorded touch to the purchase.

If you sell clothes in drops that sell through in three or four weeks, a lag like that eats much of a drop's life. Buyers on those slow paths may come back to find their size gone.

Direct holds 57.7% of revenue on the Channels sheet, in all three views. GA4 files a saved link or a typed address as Direct. That is one face of carryover in GA4: a shopper who saw last week's ad and typed the name today.

What the export cannot show is spend, so no decay can be read from it. Nor can it say which Direct buyers came because of an ad, or which arrived for a drop that had already sold out.

What changes for a fashion brand?

Flag every drop, sale and sell-out. Give the model a column for launch weeks, markdown weeks and weeks when key sizes ran out. Without them, carryover takes the blame or the credit for all three.

Mind the length of the window. Meridian stops counting an ad's effect after a set number of periods, its max_lag. For an ad that backs one collection, a window that runs past the collection's selling life hands that ad the sales of whatever came next.

Give brand spend its own decay. Meridian lets you choose a decay curve per channel. It recommends binomial decay when much of an effect lands in the second half of the window. That can suit brand video and creators better than drop ads.

Read carryover net of returns. Line up the dips after your big weeks with your returns. If they match, the dip is clothes coming back, not ads wearing off.

What to do this week

  1. Annotate every drop and markdown in Shopify. Go to Analytics > Reports and open Total sales over time. Click Annotations and add each launch and sale as a date range. Pass: every spike in the chart has a note under it. Fail: some spikes have no explanation, and a model would hand them to whatever ads ran nearby.
  2. Group last season's sales by week. In the same report, pick week in the Group by drop-down. Then read the three weeks after each big week. Pass: sales ease down gradually, the shape carryover leaves. Fail: sharp dips that match your returns, so judge carryover only after the return window closes.
  3. Lay Meta spend over the drop calendar. In Ads Manager, select your campaigns, click the Breakdown icon and choose By time. Pass: spend rises and falls with your drops, which gives a model something to learn from. Fail: the same spend all season, so the model can't tell ad carryover from the drop calendar.

Check the homework. Your GA4 Attribution paths export already holds the evidence. Causality Engine reads that one file and shows what each channel caused next to what last-click gave it, in 1 to 2 minutes, for €99 once (excluding VAT), refundable within 30 days. Check the homework

Sources, 1 October 2026: Sales reports (Shopify); Annotations in your Shopify reports (Shopify); Set the max_lag parameter (Google (Meridian)); Set the adstock_decay_spec parameter (Google (Meridian)); Default channel group (Google); Navigate to breakdowns in Meta Ads Manager (Meta)

Frequently asked questions

  • Should a clothing brand model each collection separately?
    Usually not as separate models, because each would have too few weeks. Keep one model and flag each collection's launch and sell-out weeks, so the decay isn't blamed for stock running out.
  • Can a markdown look like adstock in a mix model?
    Yes. A markdown pulls buying into its own week. A model without a markdown flag may credit that spike to the ads that ran before it. Add a column for discount weeks, or the average discount, so the model sees the sale for what it is.
  • Does creator content carry over longer than drop ads?
    It can, when it teaches people your name rather than pushing one drop. That memory may outlast the collection, so a fast-fading curve can understate it. Meridian suggests binomial decay when much of an effect lands late in the window.

Go deeper: Causal attribution, explained.

Sixty-second versions of these ideas: Causality Engine on YouTube Shorts.

Keep reading

Terms in this article

Browse the full glossary

Your platforms guess.
We run the math.

Upload a GA4 export and see what each channel caused, next to last-click, in 1–2 minutes. The read is yours to keep.

Free, in your browser: your file is not uploaded. The full read is €99, refundable within 30 days. Prices exclude VAT.
Or book a 30-min call.