Hero
Performance Marketing
E-Commerce Performance Marketing
Cosmetics & Beauty Brands

Feed-Driven Performance Marketing for a Mass-Market Cosmetics Brand


Let's Connect

Overview

What we built

A mass-market cosmetics brand had 55 retail doors selling well and an online store that nobody had properly finished setting up. We rebuilt the plumbing behind it so paid marketing had something worth spending money on.

In plain terms: the brand's own online store was an afterthought behind its retail business. A third of the product catalogue sat disapproved inside Google Merchant Center over missing identifiers and mismatched prices, so those products simply could not appear in Shopping ads. There were no Shopping or catalogue campaigns running at all, and retail promotions routinely undercut the site's own prices, so whatever paid traffic did arrive rarely converted.

We rebuilt the commerce marketing engine feed-first, starting with the product data rather than the ad accounts. A managed feed pipeline normalised titles, GTINs, imagery and pricing across all 1,800 SKUs, so disapprovals stopped blocking products from Shopping. Google Performance Max and Meta catalogue campaigns launched on that clean feed, promotion calendars were synced between retail and DTC, and paid-channel DTC revenue grew 2.4 times inside six months.

The Problem

DTC store an afterthought

The brand's 55 retail doors were the business as far as most of the organisation was concerned, and the DTC site had been built and then largely left alone. Nobody owned the product feed as an ongoing job, so as prices and imagery drifted out of sync with what Google expected, disapprovals crept up until a third of the catalogue could no longer appear in Shopping results at all.

Because the feed was broken, there was nothing to build paid Shopping or catalogue campaigns on top of. No Google Shopping or Meta catalogue campaigns existed at all, so whatever traffic the site attracted came from channels that could not show the brand's actual products with accurate prices and imagery.

Retail promotions made things worse rather than better. Store discounts and offers ran on their own calendar with no reference to the website, so retail pricing routinely undercut the DTC site, giving a shopper every reason to buy in a store instead of online, and turning whatever paid traffic did arrive into traffic that converted poorly.

Feed left unmanaged

Nobody owned the product feed as an ongoing job, so prices, imagery and identifiers drifted until a third of the catalogue sat disapproved in Google Merchant Center.

No shopping campaigns

With the feed disapproved, there were no Google Shopping or Meta catalogue campaigns running at all, cutting the brand off from its own product data in paid channels.

Retail undercutting DTC

Store promotions ran on their own calendar with no link to the website, so retail pricing routinely undercut the DTC site on the exact products being advertised.

Generic homepage experience

Shoppers who did click through paid traffic landed on a generic homepage rather than anything built around a best-seller or a live promotion.

What it was costing them

Every month the feed stayed broken meant a third of the catalogue was invisible to Shopping and catalogue ads, whatever paid traffic did land arrived with no dedicated landing experience, and retail promotions kept undercutting the site on the same products, so money spent on ads was working against the brand's own stores rather than alongside them.

The Solution

Feed-first shopping campaign engine

We treated the feed as the foundation everything else depended on. A managed feed pipeline normalised titles, GTINs, imagery and pricing across all 1,800 SKUs, resolving the missing identifiers and mismatched prices that had been triggering disapprovals, so the catalogue could finally pass Google Merchant Center's checks at scale.

With a clean feed in place, we launched Google Performance Max and Meta catalogue campaigns for the first time, giving the brand paid Shopping and catalogue presence it had never had. Best-seller landing pages replaced the generic homepage as the destination for that traffic, so clicks landed somewhere built around the products actually being promoted.

We also closed the gap between retail and DTC. Promotion calendars were synced so store discounts and site pricing moved together instead of competing, and revenue reporting moved into a single dashboard so performance across both paid channels could be read in one place instead of stitched together after the fact.

Key decisions

01

Fix the feed first

The managed feed pipeline normalised titles, GTINs, imagery and pricing across all 1,800 SKUs before any new campaign was launched, so disapprovals stopped blocking Shopping visibility.

02

Launch on clean data

Google Performance Max and Meta catalogue campaigns only went live once the feed passed Merchant Center's checks, so budget was never spent promoting disapproved products.

03

Sync retail and DTC calendars

Promotion calendars were aligned between retail and the DTC site, so store discounts stopped quietly undercutting the same products being advertised online.

04

Replace the generic homepage

Best-seller landing pages became the destination for paid traffic instead of the homepage, matching what a shopper clicked on to where they landed.

05

One dashboard for revenue

Revenue reporting across Shopping and catalogue campaigns moved into a single dashboard, replacing separate reports that had made blended performance hard to see.

Measurable Impact

What changed after launch

Fixing the feed unlocked everything downstream. Disapprovals fell from 31% of the catalogue to under 2%, which meant Shopping and catalogue campaigns finally had a full product range to draw on instead of a partial one, and Google Performance Max and Meta catalogue campaigns could run at their intended scale for the first time.

The commercial results followed quickly once the feed and campaigns were in place. Paid-channel DTC revenue grew 2.4 times inside six months, blended ROAS reached 4.1 against the brand's 2.5 break-even threshold, and the cost of acquiring a first-time DTC customer dropped by 33%, all at a flat level of monthly ad spend.

Feed health

31% of the catalogue disapproved in Merchant Center

Disapprovals under 2% of the catalogue

Shopping campaigns

No Shopping or catalogue campaigns running

Performance Max and Meta catalogue campaigns live

DTC revenue

Paid-channel revenue held back by a broken feed

Revenue grew 2.4 times inside six months

Customer acquisition cost

High cost per first-time DTC customer

Cost per first-time customer down 33%

Headline results

Paid-channel DTC revenue grew 2.4× in six months once clean feeds unlocked Shopping and catalogue campaigns

Product feed disapprovals fell from 31% of the catalogue to under 2%

Blended ROAS reached 4.1 against the brand's 2.5 break-even threshold

Cost per first-time DTC customer dropped by 33% at flat monthly ad spend

Tech & Tools Used

What powered the build

Every tool below earned its place in this engagement. Here is the part each one played.

Google Merchant Center

The gatekeeper the feed had to pass. Every fix to titles, GTINs, imagery and pricing was validated here before a product could appear in Shopping results again.

Google Ads logo

Google Ads

Hosted the new Performance Max campaigns built on the clean feed, giving the brand its first real Shopping and catalogue presence.

Meta Ads Manager logo

Meta Ads Manager

Ran the catalogue campaigns on the Meta side, drawing on the same normalised product data so Facebook and Instagram ads showed accurate pricing and imagery.

Feedonomics

The managed feed pipeline itself, normalising titles, GTINs, imagery and pricing across the full SKU range before it reached Google or Meta.

Shopify logo

Shopify

The storefront the whole engine was built to support, now feeding accurate product data outward instead of drifting out of sync with it.

Google Analytics 4 logo

Google Analytics 4

Tracked how paid traffic behaved once it landed on the new best-seller pages, informing which landing pages replaced the generic homepage.

BigQuery logo

BigQuery

Brought DTC and retail data together so promotion calendars could be synced and performance compared on the same footing.

Looker Studio logo

Looker Studio

Powers the single revenue dashboard that replaced separate reporting, giving the team one place to read blended paid-channel performance.

Klaviyo

Carries the lifecycle messaging that points customers toward the new best-seller landing pages instead of the old generic homepage.

Ready to Build your Cosmetics & Beauty Brands Business with E-Commerce Performance Marketing

Ask Byte

Ask Byte

Typically replies instantly

just Now

Hi! I'm OrganByte's assistant. How can I help you today?

AI-generated content may be incorrect


OrganByte

Building innovative software solutions that transform businesses and drive digital success.

© 2026 YourCompany. All rights reserved.