
Enhancing Platform Resilience for a European Luxury Cosmetics Brand
A rollout of new customer experiences and technical upgrades across multiple European markets, shaped by localization needs, tight timelines, and high-performance demands.
Client
A beauty and wellness company, offering a wide range of cosmetics, perfumes, and personalized skincare products across both physical and online retail.
Need
Migrating to a new ecommerce architecture, the client needed a reliable process to ensure localized go-lives, optimize back-end operations, support SEO and promotions, and improve performance and scalability without affecting the customer experience.
Solution
Built with SAP Commerce Cloud and Spartacus, the client’s ecommerce platform is a sophisticated, tightly integrated system with a complex architecture. It features multi-layered caching, numerous third-party integrations, and multiple data ingestion points — all of which require robust synchronization to maintain system integrity.
Our team was responsible for ensuring system resilience and extending the platform’s capabilities with new features and enhancements.
Key initiatives and features
To elevate customer engagement, the client transitioned from a traditional point-based loyalty model to a VIP subscription structure, allowing users to select their preferred tier. The feature idea took off quickly, prompting rapid implementation despite vague initial requirements and a tight timeline.
This is where Expert Soft’s adaptability and strong communication practices came into play. We delivered the feature on schedule, seamlessly integrating it with the client’s CRM and in-store terminals, enabling customers to purchase subscriptions both online and offline.
The platform supported two click-and-collect options: a “standard” model where users could select a store for future pickup, and an “express” model offering two-day pickup if the product was already in stock.
Each method had its interface, but the customer asked to unify it into a single checkout section. We implemented a calculation mechanism that determines store eligibility based on product availability and costs that supported hybrid delivery logic while preserving legacy behavior.
Challenges
SEO-related issues
Several technical issues were negatively impacting the platform’s SEO performance, including slow load times, unstable layouts, and inefficient redirect handling. These problems affected both search engine rankings and user experience, particularly on mobile devices.
To improve Core Web Vitals scores and ensure SEO compliance, we focused on two key areas:
- We reworked the image loading strategy by setting key visual elements to load eagerly while keeping non-essential content lazy-loaded.
- We also restructured and optimized the CSS to stabilize layout rendering across components, directly improving LCP (Largest Contentful Paint) and CLS (Cumulative Layout Shift) metrics.
Cache misconfiguration during deployment
The platform architecture relied on multiple caching layers across SAP Commerce, Spartacus, and a custom Node.js Express server used for server-side rendering. During deployment cycles, uncoordinated cache invalidation introduced stale content issues. Customers occasionally saw outdated promotions or layout bugs due to residual cache data clashing with the new deployments.
We addressed this by implementing synchronized cache resets across all layers. The team also identified and corrected a misconfiguration in the Node.js layer that had been caching invalid versions of key assets. This ensured that updated content appeared consistently post-deployment and eliminated customer-facing delays caused by content mismatches.
Delayed CRM synchronization
The loyalty system was backed by a CRM that often responded with outdated data due to long synchronization cycles. As a result, customers saw incorrect loyalty point balances or outdated account details after login, leading to trust issues and increased support requests.
To resolve this, we modified the front-end logic to trigger a back-end refresh request each time a user navigated to a page containing sensitive personal information (e.g., loyalty data). This allowed the system to fetch the latest CRM data just in time for display, ensuring real-time accuracy for customers without overloading the CRM back-end with unnecessary queries.
Inconsistent pricing between PDP and cart
There were reports of price mismatches between the Product Detail Page (PDP) and the shopping cart. Customers would see one price while browsing, but a different price would be reflected during checkout. This discrepancy damaged customer trust and led to abandoned carts.
After a joint investigation, we traced the issue to misfiring promotional rules in a third-party promotions engine. The problem occurred due to configuration inconsistencies that caused invalid price overrides at different stages of the user journey. We collaborated with the vendor to deactivate and reconfigure the faulty campaigns, aligning promotion logic across the storefront and restoring pricing consistency.
Promotion import performance bottlenecks
Promotions involving over 60,000 SKUs were imported using the Hot Folder mechanism in SAP Commerce Cloud. The import process was not optimized and took up to 10 minutes to complete. Worse, if a server node restarted mid-process, the queue and its physical files were lost, requiring manual reprocessing and leading to missed promotions on the storefront.
To fix this, we reengineered the import logic to focus on delta updates only, importing just the changed data rather than the full dataset. We also implemented a Redis-backed queue persistence layer to prevent queue loss in the event of server restarts. This optimization reduced import time from 10 minutes to just a few seconds and significantly improved system reliability.
Rapid cart ID consumption by crawlers
The cart ID generation system was quickly approaching its numeric limit, consuming up to 250,000 new IDs per week. Upon investigation, we discovered that Microsoft web crawlers were automatically generating thousands of carts during each crawl session. This not only risked exhausting the number pool but also cluttered the database with invalid cart records.
Instead of expanding the cart ID format, we performed traffic analysis and traced the issue to specific crawler IPs. We then configured the system to block these IP addresses from initiating cart creation, immediately stabilizing the rate of cart ID consumption and protecting long-term system operability.
Content issues during critical promotions
During high-stakes promotional events, teams noticed that time-sensitive campaigns were failing to activate as scheduled. This led to missed launch windows, confused customers, and the risk of significant revenue loss.
After an in-depth investigation, we identified the root cause — delays in cache invalidation that prevented the CMS component responsible for promotions from updating in real time. To fix the issue, we introduced a “no-cache” flag to the relevant component, ensuring that promotions were always served fresh.
Performance bottlenecks in markdown price synchronization
A routine cron job was in place to fetch markdown prices from the CLPE system, efficiently handling multiple products per request and completing daily discount updates in minutes. But a new technical constraint introduced for a specific region required the job to process only one product per call. This change caused a dramatic slowdown, stretching execution time to over three hours and putting discount accuracy at risk.
To solve this, we restructured the job with a multithreading approach that enabled parallel processing across multiple threads. The new logic was abstracted into a reusable job class, ensuring faster execution and offering a scalable solution for similar time-sensitive tasks across the platform.
Technologies
Java, Spring, Groovy, SQL, SAP Commerce Cloud, Spartacus, Node.js Express
