SAMA · Tracking Audit
Google Ads & Meta Ads · Conversion tracking

Your ad platforms are bidding on numbers that never reach them.

SAMA's tracking looks live — tags load, the pixel is present, conversions are configured. But the revenue behind them is wrong or missing at every step that matters. We ran the audit on the live site: a real configured ring in the cart, a real sale in GA4, the real booking flow opened. Six issues, and one of them feeds most of the others.

$0.00
Revenue GA4 recorded on the one real sale in 28 days
~38%
Of the order value missing at the cart step
0
Booking conversions that can physically fire
3
Systems fed the broken revenue: GA4, Google Ads, ProfitMetrics

/ Prepared by Amplio Data for SAMA · via 94N Digital · 8 Jul 2026 · use → to advance

SAMA · Tracking Audit

/ 01 — How we checked

We didn't take the setup on trust. We watched it run.

/ 01

Added a real ring to the cart

Built an 18K setting with a lab diamond and captured the exact dataLayer push GTM receives at add to cart.

/ 02

Traced a real sale in GA4

Pulled the Transactions and Purchase Journey reports against a genuine Stripe order to see what revenue actually landed.

/ 03

Read the live tags

GA4 DebugView, Tag Assistant and Meta Pixel Helper, plus the raw network beacons leaving the browser.

/ 04

Opened the real booking flow

Clicked through to the consultation scheduler and inspected the page it actually loads.

Confirmed live · GTM-KCZWKSZJ · GA4 G-M5NL92X1C9 · Google Ads AW-17580057414 · Meta Pixel 803724729439271

Live inspection · rocksama.com · Jul 2026
SAMA · Tracking Audit

/ 02 — What we found

Six issues. One is the root of most of the rest.

IssueSeverityWhat it breaksOwner
Cart value excludes the diamondCriticalEvery revenue number downstreamDeveloper
Purchase revenue never setCriticalGA4 revenue · Ads value bidding · ProfitMetricsDeveloper
Product name hard set to "Ring Product"HighDynamic remarketing · product reportingDeveloper
Meta pixel fires outside GTMHighEvent trust · duplication riskAmplio + Dev
Booking conversion can't fireHighEvery appointment conversionAmplio + Dev
Consent Mode not wiredMediumAll Google & Meta signal in the EU/UKAmplio
Severity reflects revenue impact, not effort to fix
SAMA · Tracking Audit

/ 03 — The root cause

The price sent at add to cart is missing the diamond.

event: "add_to_cart"
ecommerce: {
  value: 889  // the setting only
  items: [{
    item_name: "Ring Product"  // every ring, any style
    price: 889  // diamond excluded
  }]
}
$545The ring we tested was $1,434 — an $889 setting plus a $545 lab diamond. The diamond, 38% of the order, never leaves the page. It changes with every stone, so it isn't even a fixed gap. GTM is faithfully passing through what the site gives it — the fix lives in the site's code, on the build your own ring flow, not in the container.
Captured live at add to cart · configured ring $889 + $545
SAMA · Tracking Audit

/ 04 — Why it matters

A real sale happened. Nobody who needs the number got it.

In the last 28 days GA4 recorded one purchase — a genuine Stripe order — at $0.00 revenue, while $225 of item revenue floats separately with no order to attach it to. The top level value field the platforms read is never populated.

$0.00
GA4 purchase revenue

Reporting is blank

GA4 sees the order but no order value, so revenue reporting shows nothing on a real sale.

Blind
Google Ads Smart Bidding

Optimising toward noise

Value based bidding has no reliable revenue to steer by, so it spends against a signal that isn't there.

Wrong
ProfitMetrics

Profit numbers are fiction

SAMA's chosen profit tool reads the same broken value. Its profit and ROAS inherit the error.

Legacy
The value tags

Reading the wrong field

The Ads and ProfitMetrics value tags still read the old Universal Analytics path — so even a correct sale wouldn't reach them.

AOne broken field at the order step cascades into three reporting systems and every automated bid. Fix it once and all three recover together.
GA4 Transactions · trailing 28 days · Stripe order pi_3ThUTc…
SAMA · Tracking Audit

/ 05 — Meta pixel

The Meta pixel is firing, but from a place nobody controls.

Two parallel paths Uncontrolled

  • The live pixel (803724729439271) receives AddToCart — but Pixel Helper flags it "Manual": it's hardcoded in the site, not managed in GTM.
  • The GTM Facebook tag is wired only to All Pages and never connects to the ecommerce triggers — a broken second path.
  • On a fresh page load, we saw no Meta beacon leave the browser at all.

A half finished migration Risk

  • A second pixel ID (1363040888525953) still sits in two paused tags — leftovers from a migration that never completed.
  • No single source of truth means no traceability today.
  • The moment someone connects the GTM tag without removing the hardcoded script, every Meta conversion doubles.

First find the hardcoded fbq call in the site, map what already fires, then migrate into GTM and remove the manual code

Meta Pixel Helper + Tag Assistant · live container
SAMA · Tracking Audit

/ 06 — Consultation bookings

The booking conversion is watching a door that doesn't exist.

The "Book Consultation" trigger listens for a click on a button on the SAMA page. But when we opened the real flow, the calendar is a HubSpot Meetings scheduler loaded inside an iframe from meetings.hubspot.com. We confirmed it live: that button isn't in SAMA's page at all — it lives inside the iframe, and the browser blocks the page from ever seeing clicks in there.

/ 01

The trigger can't see the click

A separate iframe is sealed off by the browser by design, so the Google Ads appointment conversion and the Meta cta_click event almost certainly never fire from a genuine booking.

/ 02

This matches the HubSpot tier limit

The current tier exposes no completion webhook or redirect, so a generic button selector was the only workaround available — and it reaches nothing.

/ 03

There is a free path that works

HubSpot's embed emits a meetingBookedSuccessfully message. A postMessage listener on the page can catch it and push a real conversion — no paid upgrade required.

Live booking flow · meetings.hubspot.com iframe confirmed
SAMA · Tracking Audit

/ 07 — Consent signal

Even a perfect fix is capped by what consent lets through.

npa=1
Ads beacons leave marked
non personalised
0 / 4
Consent Mode signals
carrying a real state
HubSpot
Cookie banner acting
as the consent layer

Google Ads beacons are leaving the browser flagged non personalised — ad consent treated as denied. The four Consent Mode v2 signals are registered in the container but carry no default and no update, so the handshake Google expects isn't actually happening, and the HubSpot cookie banner isn't connected to it.

AFor a brand selling into the EU and UK, this is where 20 to 40% of measured conversions usually vanish. Fixing the revenue bugs above only pays off once the signal is allowed to travel.
Raw GA4 + Ads network beacons · live page load
SAMA · Tracking Audit

/ 08 — The funnel

This is the journey GA4 reports — through a broken pipe.

StepUsersStep rateRead
Session start37,093Top of funnel is healthy
View product7,81021%Normal for a considered, high value category
Add to basket1902.4%The cliff — and the exact step firing broken data
Begin checkout9349%Healthy once they commit
Purchase1Recorded at $0.00 revenue

The view to cart drop is partly real and partly lost events · Microsoft Clarity is already installed, so we can watch these sessions and separate genuine hesitation from tracking gaps

GA4 Purchase Journey · trailing 28 days
SAMA · Tracking Audit

/ 09 — The fix

Five moves. Two are ours; three go to the dev team.

/ 01

Rebuild the cart & purchase dataLayer

Real style name, the full configured price in both item price and event value, standard GA4 schema on the order page.

DeveloperFixes 3 of 6 issues
/ 02

Repoint the value tags

Move the Google Ads and ProfitMetrics value tags onto the new schema, so real revenue reaches bidding and profit.

Amplio
/ 03

Bring Meta into GTM

One pixel in the container. Remove the hardcoded script, retire the second pixel ID — trusted events, never doubled.

AmplioDeveloper
/ 04

Track bookings the way that works

A postMessage listener for HubSpot's meetingBookedSuccessfully event pushes a real conversion — no paid tier needed.

DeveloperAmplio
/ 05

Wire Consent Mode v2

A proper default then update handshake, connected to the consent banner — a clean signal to Google and Meta in the EU and UK.

Amplio
Owners marked per move · sequence set by dependencies
SAMA · Tracking Audit

/ Next step

Two fixes are ours to ship this week. The rest is one dev brief.

We wire Consent Mode and repoint the value tags on our side straight away. The cart and purchase dataLayer and the booking listener go to SAMA's developers as one specific brief — with the exact schema and the postMessage snippet, ready to drop in. Then every number in this deck starts telling the truth.

01 · Rebuild the dataLayer 02 · Repoint value tags 03 · Consolidate Meta 04 · Booking listener 05 · Consent Mode v2
Talk to Amplio about the fix sprint
Amplio Data · via 94N Digital · hello@ampliodata.io