Pink Balloon

Measurement built before the doors reopened.

A scalable GA4 ecommerce framework, validated before the redesigned Neptune store reopened.

Pre-reopeningImplementation and validation

Cross-domainStorefront to hosted checkout

Multi-locationOne shared measurement architecture

The problem

A redesigned storefront needed ecommerce measurement before reopening.

What changed

Implemented ecommerce events and validated the hosted checkout journey, with shared tracking across locations.

The evidence

Product and cart activity became measurable in GA4 before reopening; the architecture supported a second store.

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_checkout began 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.

Let’s connect the dots

Facing a similar measurement challenge?

Let’s work through your data and the systems behind it.