Gobelets.comHow we pushed paid-media ROAS by +260% on Gobelets.com in 6 months.
French e-commerce specialising in personalised cups, split between B2B events and B2C consumers. When Webotic stepped in, ROAS sat flat under 1.8x despite 35 000 €/month on Meta and Google. On the way out, paid-media ROAS hit 4.8x — +260% on spend — and the 320-SKU catalog finally ran at full diffusion.
- Meta Advantage+ Shopping
- Google Shopping
- Google Performance Max
- Shopify
- GTM Server-Side
- Meta CAPI
- GA4 + BigQuery
- Klaviyo
- Looker Studio
- Cloud Run
The challenge · Gobelets.com before Webotic
Gobelets.com runs a 320-SKU catalog straddling two very different models. On the B2B events side — agencies, caterers, festivals — average basket lands at 600 € with branded printing, gross margin around 42%. On the B2C consumer side — weddings, birthdays, christenings — baskets sit at 38 € with margin under 28%. Before Webotic, both flows ran through the same Meta and Google campaigns with no margin segmentation, and consolidated ROAS capped at 1.8x — meaning, once printing and shipping were paid for, near-zero net profit on the paid channel. Three causes diagnosed in audit. First cause: a Shopify feed with 22% errors in Meta Commerce Manager and 18% in Google Merchant Center. Out of 320 SKUs, 70 products were simply not being shown — mainly because of images under 800×800 px, missing GTINs and truncated descriptions. Second cause: Meta Pixel client-side only, no server-side CAPI, Event Match Quality at 4.2/10 on Purchase and an estimated 65% of real Purchase volume recovered after iOS ATT and Safari ITP. Third cause: a dynamic catalog retargeting setup configured but inactive for 8 months (expired custom audience, AddToCart events miswired) — the 71% average cart abandonment was only being chased by Klaviyo sequences, with no ad reinforcement. The client had also scaled Meta spend from 12 000 to 22 000 €/month over Q4 2024 expecting volume to fix the problem — and got the opposite: audience saturation, frequency at 6.8 on retargeting ad sets, CPM up from 12 to 19 € with no attributed revenue gain.
- ROAS flat at 1.8x on 35 000 €/month · near-zero net profit after printing and shipping.
- Shopify feed at 22% errors · 70 SKUs out of 320 not diffused · GTINs and images at fault.
- Pixel only · EMQ 4.2/10 · 35% of Purchases lost in attribution on iOS and Safari.
The approach · architecture we chose
Three structuring decisions, in this order. Decision 1 — clean the feed before any purchase. Not one extra euro of spend goes out until the Commerce Manager diagnostic clears 5% errors and Merchant Center clears 3%. The decision is painful because it freezes growth for 2 to 3 weeks, but it is non-negotiable: Advantage+ Shopping refuses to diffuse properly on a partially rejected catalog, and Google Shopping then concentrates budget on the healthy half, which only aggravates saturation. All 320 SKUs were reworked one by one — images regenerated at 1080×1080, GTINs added or MPN attributes set for custom SKUs without official barcodes, descriptions enriched to 80-120 words, custom_label used to segment by margin (label 0 = B2B high margin, label 1 = B2C standard margin, label 2 = loss-leader SKU). Decision 2 — rebuild the tracking before optimising. GTM Server-Side deployed on Cloud Run at 11 USD/month, Meta CAPI with strict event_id deduplication, Google Ads Conversions API connected to Shopify via server-to-server events. Quantified target: Meta Event Match Quality above 8 on Purchase, GA4-to-Shopify Analytics gap under 4%, iOS and Safari recovery at 90% instead of 65%. Decision 3 — split Meta architecture from Google architecture according to what each platform does best. On Meta: a single Advantage+ Shopping campaign merging prospecting and retargeting, hard existing-customer cap at 30%, UGC-dominant creative pipeline. On Google: Performance Max for top-funnel brand + cold prospecting, Shopping split into two campaigns by margin (high-margin B2B prioritised on ROAS, standard-margin B2C prioritised on conversion volume) and dynamic catalog retargeting in its own campaign with a 14-day custom audience. What we rejected: the temptation to launch a third ASC campaign dedicated to B2B (guaranteed auction overlap) and the idea of pushing TikTok on B2C from day one (neither budget nor signal to pilot three platforms in parallel without dilution).
- Mandatory step 1: feed under 5% error on Meta and 3% on Merchant Center before any purchase.
- Mandatory step 2: GTM Server-Side + Meta CAPI + Google Conversions API · EMQ > 8.
- Architecture step 3: 1 ASC on Meta · Performance Max + segmented Shopping + retargeting on Google.
Execution · day zero to day 180
Day 0 to 14 — clean-up phase. Full Shopify feed audit with the official Facebook Channel app and the Google Merchant Center extension, diagnostic exported to CSV, processed in 40-SKU batches over 8 days. Photo-by-photo regeneration of the 70 rejected SKUs (product archive images at 1080×1080 square and 1080×1350 vertical for Reels), descriptions enriched, custom_label set on all 320 SKUs. By the end of the phase, the Meta error rate had dropped to 3.8% and Merchant Center to 2.1%. Day 15 to 30 — tracking deployment. GTM Server-Side container launched on Cloud Run in europe-west1 for under-50 ms latency, client Pixel + server CAPI mapped with a shared event_id generated by the Shopify checkout extension, Google Ads Enhanced Conversions and server-to-server Conversions API configured, Event Match Quality validated day by day. Meta EMQ moved from 4.2 to 8.3 on Purchase in 9 days, GA4-to-Shopify gap under 3%. Day 31 to 60 — progressive ASC switch and Google restructure. Advantage+ Shopping launched on 30% of the Meta budget in parallel with the existing manual structure, ROAS lift measured like-for-like over 21 days. By day 52, ASC was running 4.1x vs 2.3x manual — lift confirmed, we shifted to 80/20 ASC/manual on day 60. On Google, Performance Max separated from classic Shopping, Shopping split into B2B high-margin (target ROAS 6x) and B2C standard-margin (target ROAS 3.2x), 14-day catalog retargeting brought back online. Day 61 to 120 — summer-season piloting. Event peak in May-June-July (festivals, weddings, corporate gatherings): Meta budget scaled from 22 000 to 38 000 €/month while bringing the existing-customer cap down to 22%, four UGC creative series shot with agency clients during their own events. B2C peak in June-July on weddings: standard-margin Shopping scaled to 14 000 €/month, catalog retargeting to 8 000 €/month. Day 121 to 180 — stabilisation. Consolidated ROAS at 4.8x on a 60-day rolling window, cumulative paid-media budget brought back to 32 000 €/month after optimisations, online revenue up 420% vs H1 2024 like-for-like. Looker Studio reporting delivered to the client in read-only mode, with two monthly one-hour checkpoints to calibrate the year-end holiday season.
- Day 0-14: Shopify feed cleaned · 70 SKUs regenerated · error rate 22% → 3.8%.
- Day 15-30: GTM Server-Side + CAPI · Meta EMQ 4.2 → 8.3 · GA4-to-Shopify gap under 3%.
- Day 31-60: ASC vs manual like-for-like · 4.1x vs 2.3x lift confirmed · 80/20 switch.
- Day 61-180: summer piloting + catalog retargeting · ROAS 4.8x stabilised on 60-day rolling.
Results · measured numbers
Over 6 full months of piloting (October 2025 to March 2026), consolidated paid-media ROAS moved from 1.8x to 4.8x, a +260% lift on the profitability of every ad euro. Monthly budget optimised from 35 000 to 32 000 €/month on a 6-month rolling average (with a temporary scale to 38 000 € on the summer peak), online revenue up 420% vs H1 2024 like-for-like — the combined effect of full catalog diffusion, recovered tracking and margin segmentation. On Meta alone, Advantage+ Shopping runs at 5.2x ROAS on a 60-day rolling window with conversion CPA at 14.80 €, against 38.40 € on the old manual structure — a −62% drop in CPA. The existing-customer cap is piloted between 22 and 32% by seasonality, which kept 68 to 78% of the budget in cold prospecting without burning out the existing base. On Google, Performance Max runs at 3.9x, high-margin B2B Shopping at 6.4x, standard-margin B2C Shopping at 3.1x, 14-day catalog retargeting at 8.2x — Google's weighted average lands at 4.5x. On the funnel side, cart abandonment moved from 71% to 44% thanks to dynamic catalog retargeting back online and enriched Klaviyo sequences (D+1, D+3 and D+7 reminders with a tapered offer on baskets above 120 €). Organic traffic up 250% thanks to parallel product SEO work (tags, unique descriptions, Product schema markup) — the 320 SKUs are now indexed and ranking on long-tails like "personalised cup wedding 200 guests" or "reusable festival cup company logo". Meta Event Match Quality stabilised at 8.4/10 on Purchase, GA4-to-Shopify Analytics gap under 3%, which makes weekly piloting reliable and lets us arbitrate between ASC and manual like-for-like without attribution bias. Final business indicator the client tracks himself: monthly gross margin after media cost multiplied by 2.7 over the period.
- Paid-media ROAS 1.8x → 4.8x · +260% over 6 consolidated months.
- Meta ASC: 5.2x ROAS · CPA 14.80 € vs 38.40 € before · −62% conversion CPA.
- Google: PMax 3.9x · B2B Shopping 6.4x · B2C Shopping 3.1x · Retargeting 8.2x.
- Cart abandonment 71% → 44% · organic traffic +250% · gross margin after media ×2.7.
Webotic structured our entire digital acquisition. The impact on revenue was immediate and the retargeting brought our cart abandonment down dramatically.
FREQUENTLY ASKED
- Have you worked on similar e-commerce stores in France or Morocco?
- Yes — the Webotic scope covers 28 Meta e-commerce accounts piloted in 2025-2026 between France and the Maghreb, around ten of them on 100-500 SKU catalogs with print-on-demand or product personalisation. The Gobelets.com profile — dual channel B2B events + B2C consumers, contrasting margins, sharp summer and year-end seasonality — is one of the cases we pilot best, because margin segmentation through custom_label is a lever few operators activate correctly.
- How long before the first readable results?
- Four weeks to recover tracking and clean the feed, another six for the Advantage+ Shopping algorithm to clear the learning phase on a clean signal. First readable results at day 45-60, real ramp-up at day 90, final stabilisation at day 180. On Gobelets.com, the 4x mark was crossed at day 72, the 4.8x consolidated at day 150. Nobody doubles ROAS in 3 weeks on a serious e-commerce account — anyone promising otherwise lacks the technical bag to pilot the tracking.
- What is the minimum budget to reproduce this kind of result?
- The technical threshold on a comparable French e-commerce account (200-500 SKU catalog, 40-80 € average basket) sits around 12 000 to 15 000 €/month of cumulative Meta + Google paid-media spend. Below 10 000 €/month, weekly purchase volume stays under the 50-conversion floor Advantage+ Shopping needs to clear the learning phase, and piloting becomes impossible. Above 50 000 €/month on a single-market France account, marginal returns start to flatten and diversification becomes necessary (TikTok Spark Ads, Amazon marketplace, Benelux or Germany export).
- Why rebuild the tracking before optimising the campaigns?
- Because on a client-only Pixel with Event Match Quality at 4.2/10, you are optimising campaigns on data mutilated by 35%. Concretely, the Advantage+ Shopping algorithm is making its trade-offs on half the real signal and picking bad audiences because it thinks they convert poorly. The GTM Server-Side + Meta CAPI + Google Conversions API rollout cost us 11 USD/month of Cloud Run hosting and 4 days of technical work — and it halved weekly CPA variance within 30 days. It is the highest-ROI investment in the entire project, ahead of creative and budget scaling.
- Did summer and year-end seasonality change the strategy mid-flight?
- Yes, on two axes. First axis — creative. For the May-July wedding-festival peak, we shot four new UGC series with agency clients during their own live events (festival cocktails, 200-guest weddings, 80-person corporate gatherings), which lifted average Meta creative CTR from 1.4 to 2.1% over the period. Second axis — existing-customer cap. In high season we bring the cap down to 22% to force cold prospecting and capture new buyers; in low season (August, November), we lift it to 32-35% to monetise the recent base on higher-margin products. Without that seasonal adjustment, consolidated ROAS would have stayed around 3.8x instead of 4.8x.