CASE STUDY · GOOGLE + META ADS · ECOMMERCE

$120,676 in tracked revenue on $38,600 of ad spend

Building Google and Meta from zero for a Ukrainian workwear retailer

pro.dp.ua is a Ukrainian ecommerce store selling workwear and personal protective equipment — welding clothing, protective footwear, summer and winter workwear, and medical clothing. Work started in April 2023 and continues today: a 41-month engagement in which I own the full paid media and analytics stack — account architecture, tracking, campaign strategy, feed and product data, creative direction and ongoing management across two channels. Google Ads ran from April 2023; Meta was added in May 2024, once Google was producing predictable sales volume.

  • GOOGLE ADS
  • META ADS
  • ECOMMERCE
  • PPE / WORKWEAR
  • GA4 + GTM
  • SHOPPING
  • PERFORMANCE MAX
  • 41 MONTHS
$120,676
TRACKED REVENUE · 41 MONTHS
$38,600
TOTAL AD SPEND · TWO CHANNELS
3.13
BLENDED ROAS · 2.0 BREAK-EVEN
6,475
TOTAL CONVERSIONS FROM ZERO
GA4 · PURCHASES BY MONTH, JAN 2023 – AUG 2026. 3,210 PURCHASES, ₴5,499,467 IN TRACKED REVENUE — ON A PROPERTY THAT DID NOT EXIST BEFORE THIS ENGAGEMENT.
GA4 · PURCHASES BY MONTH, JAN 2023 – AUG 2026. 3,210 PURCHASES, ₴5,499,467 IN TRACKED REVENUE — ON A PROPERTY THAT DID NOT EXIST BEFORE THIS ENGAGEMENT.
01 · POINT A

The client started with nothing

Not a neglected account, not a badly structured one. Nothing.

  • No Google Ads account, no Meta Ads account
  • No GA4 property, no Google Tag Manager container
  • No ecommerce tracking of any kind, no Meta Pixel

There was no historical spend, no conversion data, no baseline CPA and no ROAS to improve on. Every number below was built from a zero starting point — including the measurement layer used to produce those numbers. There was also no prior structure to inherit and no earlier agency work to diagnose. The first task was not optimisation. It was construction.

02

The challenge

A workwear catalogue does not sell itself on default settings. Welding suits, safety boots and seasonal overalls are bought on specification, not impulse. Product titles written for a human browsing the site were not the titles that matched how buyers actually search — and Shopping and Performance Max both read those titles directly. Standard setup produced traffic and no sales.

The second problem: with no tracking history there was no signal to optimise toward. Smart bidding and Advantage+ both need conversion volume to work. In month one there was none, so the early phase had to run on manual judgement and product data, not on automation.

03

Built the technical base and analytics from scratch

Everything measurable in this project was implemented as part of the engagement.

  • Created and configured the Google Ads and Meta Ads accounts from zero — billing, structure, naming conventions
  • Set up the GA4 property and the Google Tag Manager container that fires into it
  • Implemented full ecommerce tracking: product views, add to basket, contact form submissions, purchases with transaction value
  • Deployed the Meta Pixel and wired purchase events with value, so catalogue campaigns could optimise on revenue rather than clicks
  • Defined conversion actions in Google Ads across purchase, contact and add-to-basket, so campaign types could be judged on the same events

This is the layer that makes the rest of the case verifiable. Without it there is no ROAS number to report.

04

Rebuilt ads and product data until the account produced sales

The first months produced no sales. The response was not to raise budgets — it was to rebuild the inputs, roughly six times over, until the account converted.

  • Rewrote the ads across the account
  • Renamed product titles in the feed to match trade search language
  • Reworked product eligibility in Shopping and Performance Max, excluding items that were not producing
  • Repeated the rebuild until conversion volume appeared

The title and copy rewrite is the point where the account turned. After it, sales came consistently and at volume.

05

Segmented Google by category and season

Once conversions were flowing, the account was split along the lines the catalogue actually sells on, rather than run as one general campaign.

  • Search covered core workwear demand: $5,372 spend, 32,797 clicks at 4.79% CTR, 629 conversions at $8.54 each, 1.61 ROAS
  • Shopping covered the wider catalogue and became the cheapest conversion source: $8,367 spend, 2,518 conversions at $3.32 each, 2.64 ROAS
  • Performance Max split by category and season — summer workwear, winter workwear, welding clothing, protective footwear — instead of one general line
  • Summer workwear became the largest single line: $14,390 spend, 1,887 conversions at $7.62 each, 2.99 ROAS
  • Category-specific PMax ran at the highest ROAS in the account: protective footwear 3.95, welding workwear 3.56

Google total across the period: $30,128 spend, 5,262.75 conversions at $5.72 each, 2.60 ROAS.

06

Launched Meta on clean catalogue, then split by bestseller

Meta was added in May 2024. The early months were difficult: campaigns built around banners and video did not produce purchase volume at an acceptable cost. The change that worked was removing the produced creative entirely and running clean catalogue ads — product imagery straight from the feed, no banner overlays, no video.

  • Launched catalogue campaigns on the full product range first
  • Then split campaigns by bestseller: welding workwear and protective footwear
  • Added seasonal splits for summer and winter workwear on the same catalogue structure
  • Ran interest targeting and Advantage+ against the catalogue rather than against static creative
  • Optimised on purchase events with value, using the Pixel implementation built at the start

Those two segmented bestseller campaigns carry the channel: 86.5% of Meta spend, 96.5% of Meta purchases, 5.56 ROAS, $6.27 per purchase. Meta total across 27 months: $8,472 spend, 1,212 purchases at $6.99 each, 5.00 ROAS, $34.94 average order value.

THE LIVE META ACCOUNT: ₴347,340 SPENT, 1,212 PURCHASES, 5.00 AVERAGE ROAS. THE TOP TWO ROWS ARE THE SEGMENTED BESTSELLER CAMPAIGNS CARRYING THE CHANNEL.
THE LIVE META ACCOUNT: ₴347,340 SPENT, 1,212 PURCHASES, 5.00 AVERAGE ROAS. THE TOP TWO ROWS ARE THE SEGMENTED BESTSELLER CAMPAIGNS CARRYING THE CHANNEL.
07

What did not work

Several tests were run and cut on the data.

  • Meta prospecting on open targeting: $112 spend, 3 purchases, 0.46 ROAS
  • Meta retargeting on the full catalogue: $60 spend, 2 purchases, 0.45 ROAS
  • Add-to-basket 90-day audience: 0.76 ROAS
  • Medical clothing and machine embroidery as separate Meta lines: several campaigns produced no purchases at all
  • Google Shopping duplicate campaign: $45 spend, 2 conversions, 0.66 ROAS
  • Two early broad Performance Max campaigns: $237 at 0.88 ROAS and $21 at 0.00 ROAS — both replaced by category-segmented campaigns

Total spend on paused Meta lines that returned below 1.0 ROAS or no purchases at all: roughly $316 — under 4% of the channel budget. Each was cut rather than defended.

08 · POINT B

Results

April 2023 – September 2026 for Google, May 2024 – September 2026 for Meta. Currency converted at 41 UAH/USD.

CHANNELSPENDREVENUECONVERSIONSROAS
Google Ads$30,128$78,3345,262.752.60
Meta Ads$8,472$42,3421,2125.00
Combined$38,600$120,6766,4753.13

Google Ads: 12,579,949 impressions, 285,706 clicks, 2.27% CTR, $0.105 average CPC, $5.72 per conversion. Meta Ads: 1,212 purchases at $6.99 each, $34.94 average order value — 5.56 ROAS on the 86.5% of spend in segmented bestseller campaigns, 1.41 on the remaining 13.5%.

Meta carries roughly a quarter of Google's spend and returns nearly double the ROAS. The two accounts are doing different jobs: Google runs across the full catalogue and all four campaign types, Meta runs concentrated on two bestseller categories. One reporting note — Google conversions include purchases and contact form submissions counted together, with revenue and ROAS attributed to purchase value; Meta figures are purchases only.

09

Why it worked

Product data is campaign strategy in ecommerce. For Shopping and Performance Max, the product title is the targeting. Rewriting titles to match trade search language did more for this account than any bid adjustment.

Stop defending a launch that isn't converting. The first version did not work, and neither did the next four. Rebuilding the inputs six times cost less than scaling budget on a structure that was not producing sales.

Segment on what already sells, not on what you want to sell. Both channels improved when campaigns were split by proven bestsellers and season rather than run as one general line. In Meta, that split is the difference between 5.56 and 1.41 ROAS.

In a specification-driven catalogue, the product can be the creative. Removing produced banners and video and running clean catalogue ads was the change that made Meta work. The feed image outperformed everything designed on top of it.

Running an ecommerce catalogue on Google and Meta with the numbers below where they should be?

Book a paid media audit — I'll look at the account, the feed and the tracking, and tell you which of the three is the problem.

Book a Google + Meta account teardown →