Multi-Site Shopify Enhancements for Time-Sensitive Event Launches

Overview
A Shopify merchant managing four stores — two wholesale and two event-based — needed urgent enhancements to support a fast-approaching quarterly event. They reached out to me to resolve several technical issues and deliver a seamless user experience across all storefronts.
The work spanned login tracking, access control based on timezones, dynamic stock handling, and user interface tweaks — all under a tight deadline.
The Challenge
The merchant operated:
- Two B2B stores with classic customer accounts (
wholesale.example.com
,wholesale-nz.example.com
) - Two upcoming event-focused stores with new customer accounts (
event.example.com
,event-nz.example.com
)
Each storefront had its own requirements, but a major challenge lay in implementing a system that:
- Controlled access to restricted content based on event time windows
- Handled timezone differences across regions like Sydney, Perth, and Auckland
- Tracked customer logins despite Shopify's limitations
- Removed the default account pages while preserving login/logout functionality in New Account environments
Other requests included:
- Displaying Recommended Retail Prices (RRP) on collection and featured collection pages
- Enhancing Sold Out logic to reflect incoming inventory
- Preventing access to hidden collections like
/collections/all
- Fixing scroll bugs tied to dynamic cart features
Solution Design
I prioritized the event sites first, implementing reusable components that could be replicated across all four storefronts.
Key implementations included:
- Login Tracking: Built a lightweight Node.js server to capture login events and write to a customer metafield (
custom.last_login
). Used app proxy endpoints with the Admin API to bypass Shopify's frontend limitations. - Event Access Logic: Rewrote
redirects.liquid
to enforce a tiered access check:- Page requires login?
- Is the customer tagged for special preview access?
- Is the event currently open (using timezone-aware JS)?
- Is the customer allowed access based on their tag?
- Timezone Handling: Created a metaobject storing ISO strings for event start/end times, and hardcoded the event's target timezone. Used browser time vs. AEST comparison in milliseconds to ensure accurate local evaluation.
- Account Page Removal: Since new customer accounts can't be edited, I customized theme logic to redirect post-login users back to the page they came from and used the account icon as a logout trigger when already logged in.
- Cart Experience Fixes: Fixed a bug where adding items caused scroll-to-top behavior by isolating the dynamic cart update code from scroll triggers.
Technical Highlights
- Node.js app hosted on a Linux server behind Apache with PM2 for process stability
- HTTPS enforced via Let's Encrypt
- Theme-level metafield reads for RRP and delivery dates
- Dynamic cart logic patched for collection page behavior
- Custom redirect sequences written in Liquid and JavaScript
Tech Stack
Component | Purpose |
---|---|
Shopify (Classic & New Accounts) | Platform |
Liquid, JavaScript, HTML/CSS | Frontend |
Node.js + Express | Backend |
GraphQL Admin API | API integration |
Metafields & Metaobjects | Data storage |
Apache + PM2 | Server management |
Let's Encrypt SSL | Security |
Figma | Visual validation |
Results
- Successfully launched event sites on time
- Eliminated timezone-related access issues across multiple countries
- Provided customers with more transparency on delivery windows and RRP
- Removed redundant account pages while preserving login functionality
- Captured customer login data for the first time — supporting future reactivation campaigns
- Improved usability with bug-free scrolling and intuitive redirects
Why It Matters to eCommerce Managers
Whether you're prepping for a time-sensitive event, managing multiple storefronts, or dealing with Shopify's limitations around customer accounts — this project proves it's possible to:
- Enforce event access using local time logic
- Track engagement from login behavior even without orders
- Replace default Shopify UX with tailored logic
- Deploy consistent experiences across multiple markets — all without relying on third-party apps
If you're planning an event-driven campaign or operating across timezones, these enhancements can save hours of customer support and boost operational confidence.