
Silk Laser Clinics processes thousands of online bookings every month. Each appointment has a treatment price attached to it. For a significant period, GA4 showed every single one of those bookings as worth $0.
The booking portal was not broken. The payments were going through. The problem was that the data leaving the booking confirmation page and arriving in GA4 was stripped of its most important attribute: value. When Click Click Media’s GA4 and GTM analytics consulting team audited the full implementation for Silk Laser, the scope of what was missing became clear. Not just from the booking portal, but across the entire tracking stack. Product events were missing treatment category and brand dimensions. Duplicate transactions were inflating purchase counts. Payment gateways were appearing as the traffic source for purchases. And when a major checkout redesign went live in April 2025, it launched with no GA4 or GTM implementation at all.

The Client: Australia’s Largest Laser Clinic Group
Silk Laser Clinics is one of Australia’s largest laser and cosmetic clinic groups, with more than 60 locations across every state and territory. The business offers laser hair removal, cosmetic injections, skin treatments, body sculpting, and skincare products through both in-clinic appointments and an eCommerce store.
Online bookings and product sales both run through silklaser.com.au, making GA4 the single source of truth for revenue performance across the network. Both channels carry real monetary value. Both need clean, reliable data to inform campaign decisions, budget allocation, and channel attribution. When that data is unreliable, every decision that follows it carries the same error.
The Problem: Four Tracking Failures Compounding Each Other

Silk Laser’s GA4 was running and producing numbers. The dashboard looked functional. But the data arriving in GA4 was incomplete, missing dimensions, and in some cases counting the same transactions more than once.
1. Online bookings recording as $0
Silk Laser’s original booking flow used a generic request form. When the business launched a proper online booking portal with real treatment prices attached to each appointment, the booking confirmed event fired in GA4 but passed no value. Every booking, regardless of which treatment was selected or what clinic it was for, arrived in GA4 with a revenue value of $0.
The business could see how many bookings came in. It could not see which treatments were driving them, which clinics were performing, or what the combined revenue value was. The booking portal had become the most important conversion on the site, and it was invisible to the data.
2. Products tracking revenue without any meaningful dimensions
Skincare products and treatment add-ons were recording transactions, but the data arriving in GA4 was stripped of context. Item brand was absent. Treatment category (laser hair removal, cosmetic injections, skin and body treatments) was not populated. Primary and secondary subcategories were missing. Price was passing as a string rather than a number, which silently broke GA4’s revenue calculations on affected events.
The cart, checkout, and purchase events were firing. But the only thing consistently visible was a total dollar amount, with no way to answer which treatment line, brand, or service category was responsible for any portion of it.
3. Duplicate transactions inflating purchase counts
Payment gateway returns were causing some purchase events to fire more than once. When a customer completed payment through Afterpay or another gateway and returned to the confirmation page, GA4 logged a new session attributed to the gateway and in some cases recorded the transaction a second time. Gateways were also appearing as referring traffic sources for purchases, masking the Google Ads and paid search campaigns that had actually driven the customer.
4. A major checkout redesign launched with no tracking
In April 2025, Silk Laser launched a completely redesigned checkout. The new flow includes a clinic selection step unique to Silk’s booking model: customers choose their nearest location before completing the purchase, creating a funnel structure that does not exist in a standard WooCommerce implementation. When CCM audited the staging environment ahead of launch, neither GA4 nor GTM had been configured on the new checkout at all. Not a single tag. Not a single trigger. The redesign was days from going live with nothing to measure.
The Approach: Fix the Foundation, Then the Dimensions, Then the Revenue
CCM approached the project in stages, working through the most data-damaging issues first before moving to the dimension and value layers. Each stage required close coordination with the Silk Laser development team to spec, test, and deploy correctly.
Fixing the data foundation

The first priority was stopping the active damage. CCM added the Afterpay portal and other payment gateway domains to GA4’s unwanted referral exclusions, so session attribution correctly reflected the original traffic source rather than the payment provider.
To eliminate duplicate transactions, CCM built a transaction ID cookie and a blocking trigger in GTM. The cookie captures each transaction ID on the order confirmation page and stores it in the browser. A custom blocking trigger reads the cookie on subsequent page loads and prevents the purchase event from firing a second time if that transaction ID has already been recorded. Post-fix, the variance between GA4 revenue and WooCommerce dropped to 0.69% on revenue and 0.23% on transaction count. Those figures have held since.
Rebuilding product tracking with full dimensions

Working from a detailed datalayer specification, CCM identified every location on the Silk Laser site where a standard GA4 eCommerce event was firing but missing critical parameters. The list covered service pages, category pages, cart, checkout, and the booking request flow. Every affected event and page was logged, specced, and sent to the development team with specific corrective actions.
The fix covered:
- Product and treatment brand across all service pages
- Primary category (laser hair removal, cosmetic injections, skin treatments, body sculpting)
- Secondary treatment subcategory across all service lines
- Correct numeric formatting for price and quantity fields on all affected events
- Missing events on add-on pages, skincare product pages, and cosmetic injection booking flows
Each fix was tested in GTM Preview mode and confirmed in GA4 DebugView before deployment. Once the changes were live, the internal review confirmed: “tested data and it looks a lot cleaner, all sales are fairly close to the ones reported in WooCommerce.”
Building the new checkout from scratch

When the April 2025 checkout redesign was approaching launch, CCM created a new GTM container for the staging environment and built full GA4 eCommerce tracking across both the new and existing customer purchase funnels. The new customer journey through Silk’s checkout is distinct: a clinic selection step sits between cart and payment, which required custom virtualPageview events that do not exist in a standard checkout implementation.
Custom datalayers were built for the choose-clinic step, account creation, and login flows. Discount value tracking was added so promotional pricing is visible against purchase events. The full funnel was tested on staging, signed off, deployed to the live site, and tested again before the new checkout went live.
Adding booking value to the online booking portal

The most significant gap was the booking portal. When Silk Laser’s online booking system launched, the bookingConfirmed event was firing but carrying no value and no context. CCM built a booking confirmed tracking tag that captures the full context of every appointment:
- Clinic location and state
- Service type and treatment name
- Total booking value
- Booking date, time, and day of week
Every online booking now arrives in GA4 with the same revenue dimensions as a product purchase. For the first time, the business can see booking revenue by clinic, by treatment, and by service category, and compare that against the paid and organic channels that drove it.
The Results: Revenue Now Visible, Attributed, and Trusted
| What changed | Before | After |
|---|---|---|
| Booking revenue visible in GA4 | $0 on every booking | Full value attributed by clinic and treatment |
| GA4 vs WooCommerce revenue variance | Material discrepancy | 0.69% (within normal tolerance) |
| Transaction count variance | Inflated by duplicate events | 0.23% (reconciled) |
| Item brand in purchase events | Missing across all service pages | Populated on all events |
| Treatment category in events | Absent | Primary and secondary categories on all events |
| Clinic location against transactions | Not captured | Every booking tracked by clinic and state |
| New checkout tracking | Zero implementation at launch | Full funnel including clinic selection step |
| Payment gateway referral attribution | Gateways credited as traffic source | Original channel correctly attributed |
The Standout: Booking Revenue From Zero to Fully Attributed
If one change captures the full scope of the shift, it is the booking portal. Silk Laser’s online booking system is a significant revenue channel. Customers select their treatment, choose a clinic, and confirm. The appointment value is known at the point of booking. But for the period between the portal launching and CCM’s tracking implementation, every single one of those bookings arrived in GA4 with a revenue value of $0.
That is not a marginal data quality issue. It is a complete absence of revenue signal from a primary conversion channel. Without it, every attribution model in the account was working from an incomplete picture. Which campaigns were driving bookings? Which channels were responsible for the most valuable treatments? Which clinics were converting paid traffic at the best rate? None of those questions could be answered from the data.
The fix was technically involved: mapping the bookingConfirmed datalayer event to capture clinic, state, service, treatment, value, date, and time, then deploying and testing across the live environment. But the business outcome was simple. The booking portal went from a black hole in the analytics to a fully attributed revenue channel with the same dimensional depth as every product transaction.
Revenue that was previously invisible is now visible. It can be split by treatment, by clinic, by service category, and by the channels that drove it. Campaign decisions that previously had to assume booking revenue can now measure it.
“Click Click Media has been an integral part of SILK’s success from day one. Their ability to adapt to our evolving needs, whether shifting our focus to online sales or helping us navigate through acquisitions and rapid growth, has been exceptional. What sets them apart is their deep understanding of both the digital landscape and our business goals. With Click Click Media by our side, we were able to scale SILK Laser Clinics into a market leader.”
Martin Perelman, CEO of MediAesthetics (formerly CEO of SILK Laser Clinics)
The Takeaway: GA4 Looks Fine Until You Look Closely
Silk Laser’s GA4 was not obviously broken. The dashboards were populating. Numbers were moving. There were no error messages. The failure was quiet. Revenue was recording without the dimensions that make it useful. Bookings were confirming without value. Transactions were duplicating without any signal that something was wrong. A new checkout launched without anyone realising there was nothing to measure.
This pattern is more common than most businesses realise, particularly in fast-growing eCommerce and multi-location businesses where the site evolves faster than the tracking does. Every new page template, checkout redesign, or booking system migration creates an opportunity for tracking to fall behind. And unlike a site that goes down, a tracking gap produces no alert. It just silently produces worse data until someone looks closely enough to find it.
The fix for Silk Laser was not a single action. It was a structured analytics audit that found four distinct problems, a prioritised remediation plan that addressed the most data-damaging issues first, and an ongoing review process to catch regressions before they compound. The result is a GA4 property that can now be trusted as the source of truth for a business operating across 60+ locations and two distinct revenue channels.
A similar pattern drove the work behind Kidz Teeth’s tracking setup, where GA4 was not capturing the specific conversion events that indicated real patient intent. The fundamentals matter more than the platform.
A free analytics audit from Click Click Media checks your conversion tracking, attribution, datalayer integrity, and revenue visibility before you make another campaign decision based on incomplete data. Google Premier Partner. In business since 2008. No lock-in contracts.