Every event your team wants to track today is instrumented in two places — once in GTM (where it's wired into the GA4-compatible Enhanced Ecommerce schema) and a second time in Quantum Metric (where the implementation team writes CSS selectors). Two scopes, two ticket queues, two sets of breakage when the front end ships.
vs ~92 typical for retailer of this scale
(.l-plp, .l-plp .b-breadcrumbs-link)
compliance gap under LFPDPPP
not tracked in QM today
The instrumentation tax — paid twice, coverage is partial
QM is technically deployed but functionally a stub. The team would still need to write CSS selectors for every event they ever want to capture, and as the front-end ships changes those selectors break. Microsoft Clarity is also active, duplicating QM's session-replay capability.
- No data-layer integration — DOM/XHR scraping only
- Cart, checkout, purchase events not tracked
- Custom events (interaccion_search_ai, filter_interaction) ignored
- Zero PII scrubbing rules — compliance exposure
- Microsoft Clarity adds a third replay tool with the same gaps
Instrument once. Distribute everywhere.
FullStory ingests your existing GTM data layer via DLO with zero developer work. FullCapture records every session by default. Activation Streams pushes events back to GA4, Google Ads, and other destinations — your team configures one event in FullStory; it lands in every reporting destination automatically.
- DLO consumes your existing Enhanced Ecommerce schema natively
- Cart, checkout, purchase, revenue captured day one
- Custom events flow in automatically — no rule writing
- Default PII catalog (CVV, RFC, CURP, card numbers, email)
- Replaces both QM and Clarity
We captured these payloads live from elpalaciodehierro.com on 2026-04-30 — a real PDP, a real PLP, with the QM script running on the page the entire time. Every field below is data your team built into GTM. Quantum Metric is reading none of it.
Custom events your team built that no system is currently consuming
interaccion_search_ai
AI search engagement, fired by Constructor.io's discovery layer. Critical for measuring how AI search converts on luxury inventory.
filter_interaction
Filter sidebar usage on PLPs. Tells you what shoppers narrow down before they buy. Today: instrumented but unused downstream.
promotionImpression
Promo creative views with id, name, creative, position. Measures which Noches Palacio creatives drive carts.
The shift is not "add another tool." It's the opposite — collapse three replay tools into one, eliminate duplicate GTM-vs-QM instrumentation, and use FullStory as the single source of truth for the user experience that flows out to every system that needs it.
Three behavioral tools, partial coverage from each
- GTM dataLayer rich and well-modeled — but only consumed by GA4 + ad pixels
- Quantum Metric: 17 events, 2 selectors, no DLO, no PII rules
- Microsoft Clarity: duplicates QM session replay
- FullStory: already partially loaded, not orchestrated
- Custom events (interaccion_search_ai, filter_interaction) have no destination reading them
- Every new event = two implementation tickets (GTM + QM)
One source, every destination
- FullCapture records every session by default
- DLO ingests existing GTM dataLayer natively
- Activation Streams pushes events to GA4, Google Ads, Floodlight, Meta, TikTok
- Warehouse Sync delivers structured behavioral data to BigQuery / Snowflake
- Salesforce CDP gets behavioral signals (rage clicks, frustration, abandon) as attributes
- One instrumentation source. One implementation ticket.
These are the four products that solve the specific problems we identified in your current stack. Each one maps directly to a gap that QM, Clarity, or the duplicate-instrumentation pattern is creating today.
Capture everything. Read your data layer.
Every session by default
Clicks, scrolls, network requests, console errors, form interactions, frustration signals.
Native GTM dataLayer ingestion
Enhanced Ecommerce v3 + GA4 schema recognized out of the box. Custom events via JSON rules.
Frustration signals built-in
Rage clicks, dead clicks, error clicks, form rage. No rules to write.
Instrument once. Distribute everywhere.
Real-time event streams to GA4
Configure the event in FullStory; it lands in GA4. No more double-instrumenting GTM and QM.
Direct to ad platforms
Google Ads, Floodlight, Meta, TikTok, Pinterest — all from one source.
Frustration signals as audiences
"Users who rage-clicked the cart button on Burberry" becomes a Google Ads remarketing audience.
Unify CDP + data science around the user.
BigQuery / Snowflake delivery
Structured event tables, partitioned by date / org / event. Joinable to SFCC orders, Constructor logs, ad conversions.
Salesforce CDP enablement
Behavioral attributes (cart abandon, frustration, AI-search engagement) flow into your CDP for unified profiles.
Data-science feature store
LTV, churn, propensity-to-convert models can finally use behavioral features, not just transactional ones.
Default-on PII protection.
Default PII catalog
CVV, RFC, CURP, card numbers, email, phone — masked or excluded out of the box. QM today: zero PII rules configured.
Field-level masking
fs-mask / fs-exclude attributes preserve replay while hiding the input.
LFPDPPP-aligned
Regional controls aligned with Mexican data-protection requirements. Console redaction, IP exclusion, URL exclusion.
Today, every event your team wants to track gets instrumented in GTM, then re-instrumented in QM. Activation Streams replaces that pattern: configure the event once in FullStory; it lands in GA4, Google Ads, Floodlight, Meta, and any other destination automatically.
| Event Palacio cares about | Captured by | Streamed automatically to |
|---|---|---|
| add_to_cart | DLO ingesting GTM addToCart | GA4, Google Ads, Meta Pixel, Floodlight |
| purchase (when implemented) | DLO ingesting GA4 purchase | GA4, Google Ads, Floodlight, BigQuery |
| product_impression with position | DLO ingesting productImpression | BigQuery (for AI-rank ROI analysis) |
| interaccion_search_ai | DLO ingesting custom event | GA4, BigQuery |
| filter_interaction | DLO ingesting custom event | GA4, BigQuery |
| rage_click_on_cart_button | FullCapture auto-detected | GA4 (as anomaly), Slack, BigQuery |
| checkout_frustration_signal | FullCapture auto-detected | GA4, Salesforce CDP, retargeting audiences |
These rules were generated from your actual window.dataLayer schema, captured live on 2026-04-30. They map the events your GTM is already firing into normalized FullStory events that downstream Activation Streams and warehouse exports can use cleanly. No developer change to your site is required to deploy them.
Most of your stack is doing useful work. The redundancy is concentrated in behavioral analytics and session replay, where three tools overlap. The map below classifies each system by recommended action.
| System | Today's role | Recommendation | Why |
|---|---|---|---|
| Behavioral analytics & replay | |||
| Quantum Metric | Replay + 17 events | Decommission | Stub deployment, no DLO, doubles instrumentation cost |
| Microsoft Clarity | Replay only | Decommission | Duplicates QM, less mature than FS |
| FullStory | Partial deployment | Promote to primary | Replaces both above; ingests existing data layer via DLO |
| Tag management & analytics | |||
| Google Tag Manager | Tag orchestration | Keep | Source of truth for the dataLayer FS DLO consumes |
| Google Analytics 4 | Reporting | Fed via Activation Streams | No more double-instrumentation; FS streams events in |
| Google Ads (8 containers) | Conversion + retargeting | Fed via Activation Streams | FS frustration signals add new audiences |
| Floodlight / DoubleClick | Conversion measurement | Fed via Activation Streams | No change to ad-platform reporting model |
| Meta / TikTok / Pinterest / Bing UET / RTB House | Pixel-based ads | Fed via Activation Streams | One source streams to all |
| Personalization, search, commerce | |||
| SFCC native (dw.ac) | First-party SFCC analytics | Keep | Free, native, not duplicative |
| CQuotient / Einstein | Personalization & recs | Keep + integrate | FS audiences feed Einstein decisions |
| MC Personalization (igoDigital) | Cross-channel personalization | Keep + integrate | FS frustration signals become CDP attributes |
| Constructor.io | AI search & discovery | Keep + measure | FS measures conversion impact of Constructor's rankings |
| Reviews & performance | |||
| Bazaarvoice | Reviews UGC | Keep | Different job, not duplicative |
| Datadog RUM | Performance monitoring | Keep | Different job, not duplicative |
The plan below is paced to clear the validation hurdle quickly, prove parity with QM in production shadow mode, and reach a decommission decision before peak Q3/Q4 trading season.
Stand up & confirm coverage
- FullStory eval org against staging
- Snippet via existing GTM tag
- Apply DLO rule catalog
- Validate against 5-session sample
Run alongside QM
- Shadow mode in production
- First Activation Stream live: FS → GA4
- Frustration alerts to Slack
- Exec-level review meeting
All streams live
- Full DLO catalog in production
- Streams to GA4, Ads, Floodlight
- Warehouse Sync configuration begins
- QBR with quantified gap-closure metric
Warehouse + decommission
- Behavioral data flowing to BigQuery / Snowflake
- Salesforce CDP integration prototyped
- Decommission decision: QM + Clarity
- Contractual transition plan
Validate against your own site this week
The clearest evaluation path is a 60-minute working session against elpalaciodehierro.com with your analytics team in the room. We bring the DLO rule catalog, you bring a sandbox URL, and we stand up the FS eval org live. The validation itself is the demo.
Frustration signals on the cart-add flow, AI-rank conversion analysis, default PII protection
Three measurable improvements over the current QM build, deliverable inside the validation window. None of them require front-end engineering work from Palacio's team.
Activation Streams ends the GTM-vs-QM duplicate-instrumentation tax
One implementation source, every reporting destination. The analytics team stops shipping the same event twice. Going forward, "instrument once" is the operating model — not a slogan.
FullStory becomes the source of truth for the user experience, distributed everywhere
QM and Clarity decommissioned. GA4 and ad platforms fed automatically. BigQuery / Snowflake unified for CDP and data science. Salesforce CDP receiving real-time behavioral signals. One layer. One truth.
The findings here come from direct observation of elpalaciodehierro.com on 2026-04-30 — including a real PDP cart-add flow and the Burberry brand PLP. Both sessions were captured by FullStory itself, in real time, while Quantum Metric was running on the same page. The contrast is its own demo.
| Artifact | What it proves |
|---|---|
| QM SDK snapshot · v1.35.37 | 17 events, 2 selectors, 0 PII rules, no DLO |
| Live data layer captures · PDP + PLP | Enhanced Ecommerce v3 + GA4 mirror, custom events, AI-search flag |
| Vendor stack inventory · 22 tools detected | Three replay tools (QM + Clarity + FS partial), eight Google Ads containers |
| FullStory session · PDP cart-add flow | End-to-end PDP load → cookie consent → cart-add captured by FS while QM was running |
| FullStory session · Burberry PLP | 787-product PLP impression event captured with full position + list attribution |