BetülSaday×VisionAgency
We rebuilt the product feed, split the campaign structure by category and launched dynamic product ads for a fashion brand with a wide catalogue; over six months click-through rate and revenue grew together.

About the brand
A women's fashion brand selling across Türkiye through its own online store. It keeps hundreds of products live at once across dresses, suits, outerwear and accessories. When the advertising came to us, the entire catalogue was being shown in a single campaign, to a single audience.
With a catalogue that size the real problem was not budget, it was that the right product never reached the right person. The feed had missing titles, wrong category labels and out-of-stock items, so dynamic ads could not run and all spend was squeezed into a handful of manual images. Most of the catalogue had never been advertised at all.
Why they chose us
The brand wanted an ad structure that opens the whole catalogue to sales and keeps itself current. The goal was not to rebuild campaigns by hand at every season change, but to have the ads update when the product feed updates. On measurement, each category needed its own ROAS; budget decisions would follow those numbers.
- Open every product in the catalogue through dynamic ads
- Measure ROAS by category and move budget to profitable ones
- Lower cost per click to buy more traffic with the same budget
The challenges we faced
The difficulty was not finding new audiences, it was connecting the catalogue to the ad system properly. Over six months we worked through four issues:
The Product Feed Was Incomplete
Some products were missing titles, categories and size fields. Meta's product catalogue rejected those records, so dynamic ads could show only a small part of the catalogue instead of all of it. Approved products stood under 30%.
One Campaign, Whole Catalogue
Every product was shown in one campaign to one audience. There was no way to see which category earned money and which burned budget. Without a category breakdown, budget decisions were guesses. The dress category's revenue was hiding weak performance elsewhere.
No Retargeting Was Set Up
There was no separate campaign for people who browsed the site or added to cart. Someone who viewed a product page never saw that product again; with a high cart abandonment rate, all of that traffic was lost.
Season Changes Were Slow
When a new collection went live on the site, the ads kept showing old products for days. Money was spent on sold-out items while new arrivals got no traffic in their first week. That delay cost revenue at the start of every season.
3-phase structure
We fixed the feed first, then split the campaign structure by category, and only then scaled with dynamic ads. The order was deliberate: without a clean feed the other two steps do not work.
Catalogue and Pixel Setup
We remapped the product feed: missing title, category and size fields were filled in and stock status was synced with the site. Approved products rose to 96% and content ID events were verified on the pixel side.
Category-Based Structure
We split the catalogue into four product groups and gave each its own campaign, its own budget and its own creative set. Click-through rate, cost per click and ROAS then became readable for every category separately.
Dynamic Ads and Scale
We built dynamic product ads for people who browsed the site, viewed products and added to cart. Budget moved to the winning categories; at season changes we updated the feed instead of rebuilding campaigns, and the ads switched to new products the same day.
What we achieved together
Over six months, €2,520 in ad spend returned €15,400 in revenue, a ROAS of 6,1x. 3,4 million impressions produced 109.000 clicks and cost per click came down to €0.023. 450 orders in total, with an average order value of €34. Click-through rate rose 150% against the starting period.
Revenue Growth
+240%
6 months
CTR Increase
+150%
ROAS
6,1x
period average
Impressions
3,4M
Cost per Click
€0.023
Ad Spend
€2,520
total
What Ran on the Ad Side
- Four category campaigns ran in parallel for six months.
- Dynamic product ads took 38% of total ad spend.
- Approved products rose from 30% to 96% of the catalogue.
- The cart abandoner audience reached a ROAS of 9,4x.
What We Learned
- Dynamic ads cannot run without a clean product feed.
- A category breakdown exposes weak product groups in the first month.
- Updating the feed at season change beats rebuilding campaigns.
- Cart abandoners became the cheapest source of sales.
Growth on a wide catalogue came from showing existing products to the right people, not from finding new audiences. Once the structure was in place, budget increases paid off on their own.