Paid traffic, product pages and revenue data in one loop
A specialist food and beverage retailer was running paid campaigns without a reliable view of what those campaigns earned. We connected the campaigns, the store and the measurement so budget decisions could follow revenue.
The Artisans Bottega
Specialist food and beverage retailer, online store
Paid Ads · Website · Tracking + Reporting · Email
Active campaigns, unreliable revenue signal
Business overview
The Artisans Bottega sells specialist food and beverage products online to a customer base that buys on quality, provenance and range. Orders vary widely in size and margin by category, which matters: a campaign that looks efficient on cost per purchase can still lose money on the products it happens to sell.
Paid search and shopping campaigns were already running and generating traffic. The question the business could not answer was which parts of that spend were earning their keep.
What was disconnected
Campaign performance, on-site behaviour and revenue reporting each lived in a separate place and were read by different people at different times.
- Optimised on platform-reported conversions
- Product groups not aligned to margin
- No brand and non-brand separation
- Purchase events not matching store orders
- Product pages without a clear reason to buy now
- No lifecycle email after first purchase
Where it was leaking
Budget decisions were being made on platform metrics rather than product-level return. Categories that drove revenue and categories that drove cheap conversions were treated the same, and the store had no reliable way to tell them apart.
Second, first-time buyers were not being followed up. In a category where repeat purchase is natural, every new customer acquired through paid was paid for again the next time.
What we connected
The work was sequenced so that measurement was fixed before campaign structure changed, and campaign structure before email — each layer gave the next one something reliable to work from.
Revenue measurement
Purchase and product events rebuilt to match store orders, with revenue and product data reaching both analytics and the ads platform.
Layer: Tracking + Reporting
Campaign structure
Shopping and Performance Max restructured around product categories and margin, with brand and non-brand demand separated.
Layer: Paid Ads
Product page experience
Product and collection pages given clearer provenance, trust and reason-to-buy messaging for paid arrivals.
Layer: Website
Lifecycle email
Post-purchase and re-engagement flows built so that customers acquired through paid were not re-acquired through paid.
Layer: Email
Campaign structure, before and after — client-approved artefact.
Product-level revenue reporting view.
Growth system layers involved
Four of nine layers were in scope. The others were checked, not changed — strategy and offer were sound, and organic visibility was a later priority.
What improved
Structurally: budget decisions moved from platform conversions to product-level revenue; every paid sale became visible in one reporting view; and first-time buyers entered an email flow instead of disappearing.
Verified outcomes
Specific performance figures are published only with the client’s written approval. Where approved, they appear here with the period and the metric definition. Otherwise we show the work and what changed structurally — see our proof rule.
Lessons
- Fix revenue measurement before touching a single bid
- Separate brand demand from day one
- Build the post-purchase flow alongside acquisition, not after
- Sequencing layers so each one fed the next
- Judging campaigns on margin, not cost per purchase
- One reporting view read by everyone
Next opportunities
With acquisition and measurement connected, the constraint moves to organic visibility for category and product intent — layer 03 — and to creative direction for prospecting audiences on Meta. Both are now measurable, which is the point of doing the first four layers first.
Other connections
From shared inbox to owned pipeline
Website forms landed in a shared inbox with no routing, ownership or record.
Website · CRM + Automation · Tracking
Local visibility joined to a booking journey
Local search demand arrived on pages that did not guide a booking.
SEO + AI Search · Website · Tracking
One reporting view across channels
Channel reporting was assembled by hand and disagreed with the platforms.
Strategy · Paid Ads · Tracking + Reporting
Want to know what your own case study would say?
The free growth plan is the first chapter: what is working, what is disconnected and what to fix next.