Overview
Pink Balloon had just gone through a website redesign and was preparing to reopen its Neptune, New Jersey store.
The new site looked ready.
The measurement layer was not.
That was the point at which I was brought in.
The goal was to make sure the redesigned ecommerce experience could actually be measured properly before reopening — from product discovery through cart activity and checkout.
This was not a cleanup project after launch.
It was a measurement build completed as part of launch preparation.
The challenge was made more complex by:
- A custom dispensary storefront
- A hosted checkout on a separate origin
- Missing ecommerce events in GA4
- Legacy tracking that would not scale cleanly
- The need to support more than one location without creating separate tracking systems
The objective was to build a reliable, scalable measurement architecture before customers started flowing through the redesigned experience.
The Situation
The Website Had Been Redesigned, But Ecommerce Behaviour Was Not Fully Measurable
The redesigned site needed more than pageviews.
Important shopping interactions had to be visible in GA4.
Without additional measurement work, the analytics setup could not reliably report:
- Product views
- Add to cart
- Remove from cart
- Cart views
- Checkout starts
That meant the website could reopen looking polished while the business remained blind to what customers were actually doing inside the shopping journey.
Checkout Created a Measurement Break
The storefront and hosted checkout lived on different origins.
Without proper cross-domain measurement, the handoff from browsing to checkout could fragment the user journey.
Instead of:
Original Source → Product → Cart → Checkout
analytics could interpret the journey as separate sessions.
That would weaken attribution and make the funnel harder to trust.
Legacy Tracking Was Not Built for Expansion
An older location-specific script relied on DOM scraping and its own product identity structure.
That approach introduced risks such as:
- Duplicate events
- Inconsistent product IDs
- Split reporting
- Higher maintenance
- Difficulty extending the setup to additional locations
With the Neptune reopening ahead, the measurement architecture needed to be built in a way that could support expansion rather than create another location-specific workaround.
The Approach
Audit the New Storefront Before Building Anything
Because the website had been redesigned, the first step was understanding how the new storefront actually worked.
The implementation began by auditing:
- How the menu rendered
- Where product data was available
- Which interactions were accessible from the parent application
- Where the hosted checkout began
- Which events could be captured reliably
- Which technical boundaries had to be respected
The goal was to make the architecture fit the platform rather than force the platform into a tracking method it could not support.
Build a Standard Ecommerce Event Layer
A shared, location-independent ecommerce schema was created around GA4’s recommended ecommerce events.
Core Events
view_item Product detail viewed
add_to_cart Product added to cart
remove_from_cart Product removed
view_cart Cart opened
begin_checkout Checkout process started
product_introduced Custom event measuring first product exposure during the session
Product identity was also standardised so items could remain consistent throughout the customer journey.
The objective was to create one ecommerce measurement language that could work across locations.
Consolidate Measurement Through GTM
Instead of relying on fragmented scripts and hardcoded implementations, events were routed through a shared GTM architecture.
This created:
- One consistent GA4 configuration
- Cleaner event management
- Lower risk of configuration differences
- Easier maintenance
- Easier QA
- Less duplication
The older location-specific script was retired instead of allowing two competing systems to track the same customer actions.
Preserve the Journey Across Checkout
Cross-domain measurement was implemented so the customer journey could continue across the storefront and hosted checkout.
The aim was to preserve the same user and session as someone moved from:
Product discovery
to
Cart
to
Checkout
rather than allowing the checkout environment to create a new session and break attribution.
The Technical Challenge
A Fired Tag Was Not a Sent Hit
One of the most important issues appeared deceptively normal.
The begin_checkout event:
- Entered the dataLayer correctly
- Triggered correctly
- Fired the GA4 tag
- Contained the expected event name
- Contained the correct ecommerce parameters
But Tag Assistant reported:
Hits Sent: 0
Nothing actually left the browser.
That immediately changed the diagnosis.
The issue was not the trigger.
It was not the event name.
It was not the ecommerce schema.
The browser console revealed the real problem:
No session cookie found. Generating fresh session object.
followed by:
Event processing aborted during storage.
GA4 was receiving the event from GTM but failing at the session-storage layer before sending the hit.
The solution involved updating the Google tag configuration:
cookie_flags = SameSite=None;Secure
cookie_update = false
Once corrected:
- The configuration tag generated the expected hit
begin_checkoutbegan reaching GA4- Downstream ecommerce events started working correctly
Key Lesson
A tag firing in GTM does not prove GA4 received the event.
Verification has to go deeper than the GTM interface.
Building For The Reopening
The important part of this project was timing.
The store had been redesigned and was preparing to reopen.
That meant measurement needed to be ready before real customer activity increased.
The work was completed as part of that preparation so the redesigned experience could reopen with:
- Structured ecommerce events
- A usable GA4 funnel
- Cross-domain session continuity
- Cleaner product identity
- A scalable multi-location tracking framework
The Neptune store reopened with measurement infrastructure already in place rather than adding analytics as an afterthought.
Scaling The Architecture
The measurement framework was deliberately designed to avoid location-specific duplication.
Instead of building a second tracking setup for Neptune, the same ecommerce architecture could support multiple locations.
That meant the business did not need:
- A separate event schema
- A separate product identity system
- A parallel tracking script
- A full rebuild every time another location was added
The measurement layer could grow with the business.
The Result
Full Ecommerce Funnel Visibility
Pink Balloon moved from basic website reporting to visibility across the shopping journey.
The business could now measure:
Product View
↓
Add to Cart
↓
Cart
↓
Checkout Intent
This created a much more useful picture of how users interacted with the redesigned storefront.
Stronger Session Continuity
Cross-domain measurement reduced the risk of checkout fragmenting the customer journey into separate sessions.
The path from acquisition through shopping behaviour became more coherent.
Measurement Ready Before Reopening
Rather than reopening first and attempting to reconstruct customer behaviour later, the ecommerce measurement layer was put in place during launch preparation.
That meant the business could start collecting useful behavioural data from the beginning of the reopened store’s customer activity.
Multi-Location Scalability
The same ecommerce measurement framework could support multiple locations.
Instead of rebuilding tracking every time the business expanded, the architecture was designed once and extended.
Better Website Behaviour Visibility
The redesigned store could now be evaluated on more than traffic.
The business gained visibility into:
- Product engagement
- Cart behaviour
- Checkout intent
- Funnel progression
- Location-level ecommerce activity
Why This Matters
A website redesign changes what users see.
It can also change how the website behaves underneath.
That means tracking should not simply be assumed to survive the redesign correctly.
Pink Balloon is a good example of why measurement needs to be treated as part of launch infrastructure.
The site was redesigned.
Then the measurement layer was designed around the new experience.
Then the store reopened.
That order matters.
Because once customers start arriving, the data you failed to capture cannot be recreated later.
Key Takeaway
Measurement Should Be Part of the Launch — Not an Afterthought.
A redesigned ecommerce experience is only truly ready when the business can understand how customers are using it.
For Pink Balloon, the work was about making sure the measurement system was ready before the reopened store started generating the behaviour the business needed to learn from.