{
  "version": 3,
  "sources": ["/cdn/shop/t/54/assets/mossriver-ga4-custom-events-v8.js?health_gate=1789031014"],
  "sourcesContent": ["/* mossriver-ga4-custom-events-v2\n * Standard page views and commerce events stay owned by Shopify's Google app.\n * This bridge only makes custom experiment events deliverable to GA4.\n */\n(function () {\n  'use strict';\n  if (window.__mossriverGa4CustomEventsV2) return;\n  window.__mossriverGa4CustomEventsV2 = true;\n  window.dataLayer = window.dataLayer || [];\n  var active = false;\n\n  function measurementLedger() {\n    var ledger = [];\n    try { ledger = JSON.parse(sessionStorage.getItem('mossriver_measurement_ledger') || '[]'); } catch (e) {}\n    return Array.isArray(ledger) ? ledger : [];\n  }\n\n  function recordMeasurementEvent(name, params) {\n    var a = params || {};\n    var ledger = measurementLedger();\n    ledger.push({\n      sequence: ledger.length + 1,\n      event_name: name,\n      measurement_run_id: a.moss_measurement_run_id || '',\n      experiment_id: a.moss_experiment_id || '',\n      campaign: a.moss_campaign || '',\n      event_id: a.moss_event_id || '',\n      path: location.pathname,\n      at: new Date().toISOString()\n    });\n    try { sessionStorage.setItem('mossriver_measurement_ledger', JSON.stringify(ledger)); } catch (e) {}\n  }\n\n  function renderMeasurementReceipt() {\n    var q = new URLSearchParams(location.search);\n    if (q.get('moss_measurement_receipt') !== '1') return;\n    var runId = q.get('moss_measurement_run_id') || '';\n    var events = measurementLedger().filter(function (item) { return !runId || item.measurement_run_id === runId; });\n    var counts = {};\n    events.forEach(function (item) { counts[item.event_name] = (counts[item.event_name] || 0) + 1; });\n    var payload = {schema: 'mossriver.browser-measurement-receipt/v1', measurement_run_id: runId, page_path: location.pathname, event_counts: counts, events: events};\n    var pre = document.getElementById('mossriver-measurement-receipt');\n    if (!pre) { pre = document.createElement('pre'); pre.id = 'mossriver-measurement-receipt'; pre.setAttribute('data-mossriver-receipt', 'v1'); pre.style.cssText = 'white-space:pre-wrap;background:#fff;color:#111;padding:16px;margin:16px;font:12px monospace;position:relative;z-index:2147483647;'; document.body.appendChild(pre); }\n    pre.textContent = JSON.stringify(payload, null, 2);\n  }\n\n  function analyticsAllowed() {\n    var privacy = window.Shopify && window.Shopify.customerPrivacy;\n    if (!privacy) return true;\n    var decision;\n    if (typeof privacy.analyticsProcessingAllowed === 'function') decision = privacy.analyticsProcessingAllowed();\n    else if (typeof privacy.userCanBeTracked === 'function') decision = privacy.userCanBeTracked();\n    // The consent API can return undefined while it is still loading. Only an\n    // explicit false blocks, keeping parity with the storefront GA tag.\n    return decision !== false;\n  }\n\n  var upstreamGtag = window.gtag;\n  var articleClickKeys = {};\n  function recordArticleClick(params) {\n    var a = params || {};\n    var context = typeof attribution === 'function' ? attribution() : {};\n    var key = [a.moss_measurement_run_id || context.run_id || '', a.destination_path || location.pathname, a.campaign || context.campaign || ''].join('|');\n    if (articleClickKeys[key]) return false;\n    articleClickKeys[key] = true;\n    recordMeasurementEvent('article_pdp_click', a);\n    return true;\n  }\n  function bridgeGtag() {\n    if (arguments[0] === 'event' && !active) return;\n    if (arguments[0] === 'event' && arguments[1] === 'article_pdp_click' && arguments[2] && !recordArticleClick(arguments[2])) return;\n    if (typeof upstreamGtag === 'function') return upstreamGtag.apply(window, arguments);\n    window.dataLayer.push(arguments);\n  }\n  // Shopify/Google app code can replace window.gtag after this asset loads.\n  // Keep the bridge as the stable public function while forwarding to the\n  // latest implementation, so ledger and GA4 delivery cannot diverge merely\n  // because of script-load order.\n  try {\n    Object.defineProperty(window, 'gtag', {\n      configurable: true,\n      get: function () { return bridgeGtag; },\n      set: function (next) { if (next !== bridgeGtag) upstreamGtag = next; }\n    });\n  } catch (e) {\n    window.gtag = bridgeGtag;\n  }\n\n  document.addEventListener('click', function (event) {\n    if (!active || !event.target || !event.target.closest) return;\n    var link = event.target.closest('a[href*=\"utm_campaign=\"],a[href*=\"moss_campaign=\"]');\n    if (!link) return;\n    var url = new URL(link.href, window.location.origin);\n    var campaign = url.searchParams.get('moss_campaign') || url.searchParams.get('utm_campaign') || '';\n    var runId = url.searchParams.get('moss_measurement_run_id') || url.searchParams.get('measurement_run_id') || '';\n    if (!campaign || !runId) return;\n    var source = url.searchParams.get('moss_source') || url.searchParams.get('utm_source') || 'unknown';\n    window.gtag('event', 'article_pdp_click', {\n      moss_measurement_run_id: runId,\n      moss_experiment_id: campaign === 'exp_20260808_article_pdp' ? 'mossriver-exp-20260808-article-pdp' : '',\n      moss_campaign: campaign,\n      destination_path: url.pathname,\n      moss_event_id: runId + ':article_pdp_click:' + Date.now(),\n      moss_source: source\n    });\n  }, true);\n\n  function start() {\n    if (active || !analyticsAllowed()) return;\n    active = true;\n    if (!document.querySelector('script[data-mossriver-ga4-custom-events]')) {\n      var tag = document.createElement('script');\n      tag.async = true;\n      tag.src = 'https://www.googletagmanager.com/gtag/js?id=G-8VWWZKPJQ7';\n      tag.setAttribute('data-mossriver-ga4-custom-events', 'v2');\n      document.head.appendChild(tag);\n    }\n    window.gtag('js', new Date());\n    window.gtag('config', 'G-8VWWZKPJQ7', {send_page_view: false});\n  }\n\n  function loadPrivacyThenStart() {\n    if (window.Shopify && typeof window.Shopify.loadFeatures === 'function') {\n      window.Shopify.loadFeatures(\n        [{name: 'consent-tracking-api', version: '0.1'}],\n        function () { start(); }\n      );\n      // Article templates may expose loadFeatures without ever invoking the\n      // callback. Do not let that stall the measurement bridge indefinitely;\n      // start() still applies the consent checks and is idempotent.\n      setTimeout(start, 1500);\n    } else {\n      start();\n    }\n  }\n\n  document.addEventListener('visitorConsentCollected', start, false);\n  document.addEventListener('trackingConsentAccepted', start, false);\n    loadPrivacyThenStart();\n\n  function attribution() {\n    var q = new URLSearchParams(location.search);\n    var saved = {};\n    try { saved = JSON.parse(sessionStorage.getItem('mossriver_funnel_context') || '{}'); } catch (e) {}\n    var source = q.get('moss_source') || q.get('utm_source') || saved.source || 'direct';\n    var campaign = q.get('moss_campaign') || q.get('utm_campaign') || saved.campaign || '';\n    var content = q.get('moss_content') || q.get('utm_content') || saved.content || '';\n    var runId = q.get('moss_measurement_run_id') || q.get('measurement_run_id') || saved.run_id || '';\n    if (q.get('moss_campaign')) {\n      try { sessionStorage.setItem('mossriver_funnel_context', JSON.stringify({source: source, campaign: campaign, content: content, run_id: runId})); } catch (e) {}\n    }\n    return {\n      source: source,\n      campaign: campaign,\n      content: content,\n      run_id: runId\n    };\n  }\n\n  function emit(name, params) {\n    if (!active || !analyticsAllowed()) return;\n    recordMeasurementEvent(name, params || {});\n    window.gtag('event', name, Object.assign({transport_type: 'beacon'}, params || {}));\n  }\n\n  var emittedEventKeys = {};\n  function emitCommerceEvent(name, params, campaign, dedupeKey) {\n    var key = dedupeKey || name;\n    if (emittedEventKeys[key]) return false;\n    emittedEventKeys[key] = true;\n    var a = attribution();\n    var eventParams = Object.assign({\n      moss_measurement_run_id: a.run_id,\n      moss_experiment_id: campaign === 'exp_20260808_article_pdp' ? 'mossriver-exp-20260808-article-pdp' : undefined,\n      moss_event_id: (a.run_id || 'live') + ':' + name + ':' + Date.now() + ':' + Math.random().toString(36).slice(2, 8)\n    }, params || {});\n    emit(name, eventParams);\n    var experimentEvents = {\n      'exp_20260808_article_pdp': {\n        'view_item': 'mossriver_exp_article_pdp_view_item',\n        'add_to_cart': 'mossriver_exp_article_pdp_add_to_cart',\n        'begin_checkout': 'mossriver_exp_article_pdp_begin_checkout',\n        'purchase': 'mossriver_exp_article_pdp_purchase'\n      }\n    };\n    var mapped = experimentEvents[campaign] && experimentEvents[campaign][name];\n    if (mapped) emit(mapped, eventParams);\n    return true;\n  }\n\n  function emitAddToCartOnce(form, meta, product, campaign) {\n    if (!form || form.dataset.mossriverAddTracked === '1') return;\n    form.dataset.mossriverAddTracked = '1';\n    var a = attribution();\n    emitCommerceEvent('add_to_cart', {currency: (meta.currency || 'USD'), moss_source: a.source, moss_campaign: a.campaign, items: [{item_id: String(product.id), item_name: product.handle}]}, campaign, 'add_to_cart:' + String(product.id));\n    setTimeout(function() { delete form.dataset.mossriverAddTracked; }, 1500);\n  }\n\n  function installCommerceReadback() {\n    var meta = window.ShopifyAnalytics && window.ShopifyAnalytics.meta;\n    var product = meta && meta.product;\n    if (!product || !product.id || window.__mossriverViewItemV2) return false;\n    window.__mossriverViewItemV2 = true;\n    var selected = product.variants && product.variants[0];\n    var a = attribution();\n    var viewItemPayload = {\n      currency: (meta.currency || 'USD'),\n      value: selected ? Number(selected.price || 0) / 100 : undefined,\n      items: [{item_id: String(product.id), item_name: selected ? selected.name : product.handle, item_variant: selected ? String(selected.id) : undefined}],\n      moss_source: a.source, moss_campaign: a.campaign, moss_content: a.content\n    };\n    // Shopify's native analytics script can load after the theme asset. Delay\n    // only this first event so the namespaced experiment event is not lost.\n    setTimeout(function() { emitCommerceEvent('view_item', viewItemPayload, a.campaign, 'view_item:' + String(product.id)); }, 500);\n    document.addEventListener('submit', function(event) {\n      var form = event.target;\n      if (!form || !form.action || form.action.indexOf('/cart/add') === -1) return;\n      emitAddToCartOnce(form, {currency: (meta.currency || 'USD')}, product, a.campaign);\n    }, true);\n    document.addEventListener('click', function(event) {\n      var target = event.target.closest && event.target.closest('button[type=\"submit\"],input[type=\"submit\"]');\n      if (!target) return;\n      var form = target.form || target.closest('form');\n      if (!form || !/\\/cart\\/add/.test(form.action || '')) return;\n      emitAddToCartOnce(form, {currency: (meta.currency || 'USD')}, product, a.campaign);\n    }, true);\n    document.addEventListener('click', function(event) {\n      var link = event.target.closest && event.target.closest('a[href*=\"/checkout\"]');\n      if (link) emitCommerceEvent('begin_checkout', {currency: (meta.currency || 'USD'), moss_source: a.source, moss_campaign: a.campaign, items: [{item_id: String(product.id), item_name: product.handle}]}, a.campaign, 'begin_checkout');\n    }, true);\n    return true;\n  }\n\n  function installCommerceWhenReady(attempt) {\n    if (installCommerceReadback()) return;\n    if (attempt < 20) setTimeout(function() { installCommerceWhenReady(attempt + 1); }, 250);\n  }\n\n  function installCheckoutReadback() {\n    if (window.__mossriverCheckoutReadbackV2) return;\n    window.__mossriverCheckoutReadbackV2 = true;\n    var a = attribution();\n    function checkoutPayload() {\n      return {moss_source: a.source, moss_campaign: a.campaign, moss_content: a.content};\n    }\n    document.addEventListener('click', function(event) {\n      var target = event.target.closest && event.target.closest('a,button');\n      if (target && (/\\/checkout/.test(target.href || '') || /check\\s*out/i.test(target.textContent || ''))) emitCommerceEvent('begin_checkout', checkoutPayload(), a.campaign, 'begin_checkout');\n    }, true);\n    document.addEventListener('submit', function(event) {\n      var form = event.target;\n      if (form && /\\/checkout/.test(form.action || '')) emitCommerceEvent('begin_checkout', checkoutPayload(), a.campaign, 'begin_checkout');\n    }, true);\n  }\n\n  document.addEventListener('DOMContentLoaded', function() {\n    setTimeout(function() { installCommerceWhenReady(0); }, 0);\n    setTimeout(installCheckoutReadback, 0);\n    setTimeout(renderMeasurementReceipt, 50);\n  });\n  setTimeout(renderMeasurementReceipt, 2500);\n}());\n"],
  "mappings": "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",
  "names": []
}
