This is a documented MarketMeNow full-cycle e-commerce rescue and growth case study for Krokus.lv, a leading online flower store and express delivery service in Riga and Latvia. The project demonstrates why Google Ads campaigns and technical SEO can never operate in isolation from server-side data analytics.
When we joined the project, the store faced a classic yet costly bottleneck: orders were coming in and couriers were delivering across Riga and Latvia daily, yet up to 85% of mobile purchase signals were vanishing before reaching Google Analytics 4 (GA4) and Google Ads. At the same time, a previous catalog migration had left behind 678 active-traffic 404 URLs and 669 two-hop redirect chains dumping shoppers onto the generic catalog root.
Ad Efficiency & Attribution Accuracy Surge
1. Diagnostics: Why Were ~85% of Purchase Signals Vanishing?
A deep audit of the checkout codebase and payment gateway flow uncovered three technical root causes starving the store's analytics and ad bidding algorithms:
- Bank Redirect & WooCommerce "Verify Email" Barrier: When a guest shopper took more than 10 minutes in their banking app or returned in a different mobile in-app browser tab, WooCommerce security blocked the thank-you page with an email verification gate. Shoppers closed the tab, and the browser GTM container never fired
purchase. - Safari ITP 7-Day Cookie Expiration: A majority of floral buyers shop on iOS Safari, which purges client-side JavaScript cookies (
_ga,_gcl_au) after 7 days. - Consent Mode v2 Initialization Race Condition: The legacy cookie banner delayed DataLayer initialization on the landing view, dropping the
gclidclick identifier.
2. The Solution: 12-Step Server-Side + Browser Hybrid Pipeline
Instead of adding expensive third-party proxy subscriptions, we built a native 12-step e-commerce tracking architecture directly on the store's server with €0/month in extra hosting fees:
3. Technical SEO & URL Migration Rescue (18,389 GSC Paths)
Alongside analytics restoration, we audited the entire Google Search Console URL index and deployed a high-speed server-level routing and sitemap architecture:
- Rescuing 678 Active-Traffic 404 URLs & 259 Historical URLs (100%): We built a dedicated MU-plugin router backed by a 4,596-entry dictionary and trilingual slug semantics (
/produkts/,/ru/tovar/,/en/product/), routing discontinued or renamed products to their exact floral category and preserving 4,650 organic clicks. - Eliminating 669 Two-Hop Redirect Chains: Legacy redirect chains that previously dumped visitors onto the generic
/veikals/catalog were replaced with direct single-hop301 Moved Permanentlyrules pointing to exact floral categories. - Crawl Budget Optimization (+66%): Activated a clean
product_cat-sitemap.xml(116 categories returning200 OK), removed 93 thin delivery-report sitemaps (18,582 low-value URLs), and fixed mixed Cyrillic/Latin characters in product URLs.
4. Frequently Asked Questions on E-Commerce ROAS & Server-Side Tracking
Why do standard Google Analytics 4 plugins miss a large share of e-commerce purchases?
Standard plugins rely entirely on the buyer waiting after bank authorization to load the store's "Thank You" page in the exact same browser session. In reality, 30-85% of mobile buyers close their banking app immediately after payment confirmation. Our Server-Side pipeline dispatches the purchase event directly from the server the instant the payment webhook confirms the order.
How did Server-Side tracking help scale Google Ads ROAS to 5.79x?
Google Ads Smart Bidding and Performance Max learn from conversion signals. When the algorithm receives 100% of real transactions and exact cart values rather than a fragmented sample, it bids aggressively on high-intent buyers and stops wasting budget on low-intent clicks, cutting CPA by 13.7%.
How fast can you resolve thousands of broken 404 URLs after a store migration?
Using our AI agents and automated semantic URL mapping, we analyze your complete Google Search Console history (even 18,000+ URLs) and deploy a zero-latency server-level router within 48 to 96 hours.