@walkeros/web-destination-gtag 4.3.0 → 4.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/dist/dev.js +1 -1
- package/dist/dev.mjs +1 -1
- package/dist/walkerOS.json +9 -9
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# @walkeros/web-destination-gtag
|
|
2
2
|
|
|
3
|
+
## 4.3.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [f2030ab]
|
|
8
|
+
- Updated dependencies [2d6ab82]
|
|
9
|
+
- Updated dependencies [74eacdd]
|
|
10
|
+
- @walkeros/core@4.3.1
|
|
11
|
+
- @walkeros/web-core@4.3.1
|
|
12
|
+
|
|
3
13
|
## 4.3.0
|
|
4
14
|
|
|
5
15
|
### Minor Changes
|
package/dist/dev.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e,a=Object.defineProperty,t=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,o=(e,t)=>{for(var n in t)a(e,n,{get:t[n],enumerable:!0})},r={};o(r,{examples:()=>k,schemas:()=>s}),module.exports=(e=r,((e,o,r,s)=>{if(o&&"object"==typeof o||"function"==typeof o)for(let d of n(o))i.call(e,d)||d===r||a(e,d,{get:()=>o[d],enumerable:!(s=t(o,d))||s.enumerable});return e})(a({},"__esModule",{value:!0}),e));var s={};o(s,{AdsSettingsSchema:()=>m,ConsentModeSchema:()=>p,GA4SettingsSchema:()=>u,GTMSettingsSchema:()=>v,MappingSchema:()=>f,SettingsSchema:()=>_,UserDataMappingSchema:()=>g,ads:()=>G,ga4:()=>z,gtm:()=>E,mapping:()=>w,settings:()=>A});var d=require("@walkeros/core/dev"),c=require("@walkeros/core/dev"),l=require("@walkeros/core/dev"),p=l.z.union([l.z.boolean(),l.z.record(l.z.string(),l.z.union([l.z.string(),l.z.array(l.z.string())]))]),u=l.z.object({measurementId:l.z.string().regex(/^G-[A-Z0-9]+$/,"Must be a valid GA4 Measurement ID (G-XXXXXXXXXX)").describe("GA4 Measurement ID from Google Analytics (like G-XXXXXXXXXX)"),debug:l.z.boolean().describe("Enable debug mode for GA4 (like true)").optional(),pageview:l.z.boolean().describe("Enable automatic pageview tracking (like true)").optional(),server_container_url:l.z.string().url().describe("Server-side GTM container URL (like https://server-container.com)").optional(),snakeCase:l.z.boolean().describe("Convert parameter names to snake_case (like true)").optional(),transport_url:l.z.string().url().describe("Custom transport URL for GA4 (like https://analytics.example.com/mp/collect)").optional(),data:l.z.any().describe("Custom data mapping configuration").optional()}),g=l.z.object({email:l.z.any().describe("Mapping value for user email (like user.email)").optional(),phone_number:l.z.any().describe("Mapping value for user phone number (like user.phone)").optional(),address:l.z.object({first_name:l.z.any().describe("Mapping value for first name (like data.firstName)").optional(),last_name:l.z.any().describe("Mapping value for last name (like data.lastName)").optional(),street:l.z.any().describe("Mapping value for street address").optional(),city:l.z.any().describe("Mapping value for city (like user.city)").optional(),region:l.z.any().describe("Mapping value for region/state (like user.region)").optional(),postal_code:l.z.any().describe("Mapping value for postal/zip code (like user.zip)").optional(),country:l.z.any().describe("Mapping value for country (like user.country)").optional()}).describe("Address mapping for enhanced conversions").optional()}),m=l.z.object({conversionId:l.z.string().regex(/^AW-[0-9]+$/,"Must be a valid Ads Conversion ID (AW-XXXXXXXXXX)").describe("Google Ads Conversion ID (required)"),currency:l.z.string().length(3).describe("Currency code (ISO 4217, e.g., USD, EUR)").optional(),data:l.z.any().describe("Custom data mapping (WalkerOS.Mapping.Value | Values)").optional(),enhancedConversions:g.describe("Enhanced conversions: maps event fields to Google user_data for improved measurement accuracy").optional()}),v=l.z.object({containerId:l.z.string().regex(/^GTM-[A-Z0-9]+$/,"Must be a valid GTM Container ID (GTM-XXXXXXX)").describe("GTM Container ID (required)"),dataLayer:l.z.string().describe("Custom dataLayer variable name (default: dataLayer)").optional(),domain:l.z.string().describe("Custom GTM domain for script loading").optional(),data:l.z.any().describe("Custom data mapping (WalkerOS.Mapping.Value | Values)").optional()}),_=c.z.object({como:p.describe("Consent mode configuration: false (disabled), true (use defaults), or custom mapping").optional(),como_advanced:c.z.union([c.z.boolean(),c.z.number()]).describe("Advanced consent mode (non-EU): emit denied default at page load with wait_for_update (true=500ms, or a number of ms)").optional(),ga4:u.describe("GA4-specific configuration settings (like { measurementId: G-XXXXXXXXXX })").optional(),ads:m.describe("Google Ads specific configuration settings (like { conversionId: AW-XXXXXXXXX })").optional(),gtm:v.describe("Google Tag Manager specific configuration settings (like { containerId: GTM-XXXXXXX })").optional()}).refine(e=>{var a,t,n;return(null==(a=e.ga4)?void 0:a.measurementId)||(null==(t=e.ads)?void 0:t.conversionId)||(null==(n=e.gtm)?void 0:n.containerId)},{message:"At least one Google tool must be configured (ga4.measurementId, ads.conversionId, or gtm.containerId)"}),X=require("@walkeros/core/dev"),b=X.z.object({}),y=X.z.object({label:X.z.string().describe("Conversion label for this specific event").optional()}),h=X.z.object({}),f=X.z.object({ga4:b.describe("GA4-specific event mapping").optional(),ads:y.describe("Google Ads-specific event mapping").optional(),gtm:h.describe("GTM-specific event mapping").optional()}),A=(0,d.zodToSchema)(_),w=(0,d.zodToSchema)(f),z=(0,d.zodToSchema)(u),G=(0,d.zodToSchema)(m),E=(0,d.zodToSchema)(v),k={};o(k,{env:()=>C,step:()=>I});var C={};o(C,{init:()=>M,push:()=>S,simulation:()=>U});var M={window:{dataLayer:[]},document:{createElement:()=>({src:"",setAttribute:()=>{},removeAttribute:()=>{}}),head:{appendChild:()=>{}}}},S={window:{gtag:Object.assign(()=>{},{}),dataLayer:[]},document:{createElement:()=>({src:"",setAttribute:()=>{},removeAttribute:()=>{}}),head:{appendChild:()=>{}}}},U=["call:window.gtag"],I={};o(I,{addToCart:()=>L,adsEnhancedConversions:()=>W,adsInit:()=>O,consentModeV2:()=>N,ga4Init:()=>j,ga4WithIncludeAll:()=>$,googleAdsConversion:()=>V,gtmDataLayerPush:()=>H,gtmInit:()=>P,multipleToolsSimultaneous:()=>Z,pageView:()=>D,purchase:()=>q});var R=require("@walkeros/core"),T=17e11,x=new Date(T),j={title:"GA4 init",description:"The destination bootstraps gtag and configures a GA4 property via its measurementId.",in:{settings:{ga4:{measurementId:"G-XXXXXX-1"}}},out:[["gtag","js",x],["gtag","config","G-XXXXXX-1",{}]]},O={title:"Google Ads init",description:"The destination bootstraps gtag and configures a Google Ads account via its conversionId.",in:{settings:{ads:{conversionId:"AW-123456789",currency:"EUR"}}},out:[["gtag","js",x],["gtag","config","AW-123456789"]]},P={title:"GTM init",description:"The destination initializes the dataLayer and pushes the gtm.js start event for a GTM container.",in:{settings:{gtm:{containerId:"GTM-XXXXXXX"}}},out:[["dataLayer.push",{"gtm.start":T,event:"gtm.js"}]]},q={title:"Purchase",description:"An order complete event is mapped to the GA4 purchase event with transaction details and nested product items.",in:(0,R.getEvent)("order complete",{timestamp:1700000100}),mapping:{name:"purchase",include:["data","context"],data:{map:{transaction_id:"data.id",value:"data.total",tax:"data.taxes",shipping:"data.shipping",currency:{key:"data.currency",value:"EUR"},items:{loop:["nested",{condition:e=>(0,R.isObject)(e)&&"product"===e.entity,map:{item_id:"data.id",item_name:"data.name",quantity:{key:"data.quantity",value:1}}}]}}}},out:[["gtag","event","purchase",{transaction_id:"0rd3r1d",value:555,tax:73.76,shipping:5.22,currency:"EUR",items:[{item_id:"ers",item_name:"Everyday Ruck Snack",quantity:1},{item_id:"cc",item_name:"Cool Cap",quantity:1}],data_id:"0rd3r1d",data_currency:"EUR",data_shipping:5.22,data_taxes:73.76,data_total:555,context_shopping:"complete",send_to:"G-XXXXXX-1"}]]},L={title:"Add to cart",description:"A product add event is mapped to the GA4 add_to_cart event with item details and value.",in:(0,R.getEvent)("product add",{timestamp:1700000101}),mapping:{name:"add_to_cart",include:["data"],data:{map:{currency:{value:"EUR",key:"data.currency"},value:"data.price",items:{loop:["this",{map:{item_id:"data.id",item_variant:"data.color",quantity:{value:1,key:"data.quantity"}}}]}}}},out:[["gtag","event","add_to_cart",{currency:"EUR",value:420,items:[{item_id:"ers",item_variant:"black",quantity:1}],data_id:"ers",data_name:"Everyday Ruck Snack",data_color:"black",data_size:"l",data_price:420,send_to:"G-XXXXXX-1"}]]},D={title:"Page view",description:"A page view event is forwarded as a GA4 page_view event with no additional mapping.",in:(0,R.getEvent)("page view",{timestamp:1700000102}),mapping:void 0,out:[["gtag","event","page_view",{send_to:"G-XXXXXX-1"}]]},V={title:"Ads conversion",description:"An order complete event is sent as a Google Ads conversion with a configured label and transaction value.",in:(0,R.getEvent)("order complete",{timestamp:1700000103}),mapping:{name:"PURCHASE_CONV",settings:{ads:{label:"PURCHASE_CONV"}},data:{map:{value:"data.total"}}},out:[["gtag","event","conversion",{send_to:"AW-123456789/PURCHASE_CONV",currency:"EUR",value:555}]]},W={title:"Enhanced conversions",description:"enhancedConversions maps event fields into a gtag set user_data call sent immediately before the conversion event.",in:(0,R.getEvent)("order complete",{timestamp:1700000109,data:{id:"0rd3r1d",currency:"EUR",shipping:5.22,taxes:73.76,total:555,customerEmail:"buyer@shop.com",customerPhone:"+1234567890"}}),mapping:{name:"PURCHASE_EC2",settings:{ads:{label:"PURCHASE_EC2"}},data:{map:{value:"data.total"}}},out:[["gtag","set","user_data",{email:"buyer@shop.com",phone_number:"+1234567890"}],["gtag","event","conversion",{send_to:"AW-123456789/PURCHASE_EC2",currency:"EUR",value:555}]]},H={title:"GTM dataLayer push",description:"A page view event is pushed to window.dataLayer for GTM with the mapped event name and parameters.",in:(0,R.getEvent)("page view",{timestamp:1700000104}),mapping:{name:"page_view",settings:{gtm:{}},data:{map:{page_title:"data.title",page_location:"data.domain"}}},out:[["dataLayer.push",{event:"page_view",page_title:"walkerOS documentation",page_location:"www.example.com"}]]},N={title:"Consent Mode v2",description:"A walker consent command with marketing and functional granted updates gtag Consent Mode v2 parameters.",command:"consent",in:{marketing:!0,functional:!0},out:[["gtag","consent","default",{ad_storage:"denied",ad_user_data:"denied",ad_personalization:"denied",analytics_storage:"denied"}],["gtag","consent","update",{ad_storage:"granted",ad_user_data:"granted",ad_personalization:"granted",analytics_storage:"granted"}]]},$={title:"GA4 include all",description:"Include flattens every event section into prefixed GA4 params, exposing data, context, user, source, and event fields.",in:(0,R.getEvent)("page view",{id:"ev-1700000106",timestamp:1700000106,source:{type:"collector",schema:"4",count:1,trace:"1700000106abcdef1700000106abcdef"}}),mapping:{include:["data","context","globals","user","source","event"]},out:[["gtag","event","page_view",{data_domain:"www.example.com",data_title:"walkerOS documentation",data_referrer:"https://www.walkeros.io/",data_search:"?foo=bar",data_hash:"#hash",data_id:"/docs/",context_dev:"test",globals_pagegroup:"docs",user_id:"us3r",user_device:"c00k13",user_session:"s3ss10n",source_type:"collector",source_schema:"4",source_count:1,source_trace:"1700000106abcdef1700000106abcdef",source_release_default:"4.3.0",event_entity:"page",event_action:"view",event_trigger:"load",event_id:"ev-1700000106",event_name:"page view",event_timestamp:1700000106,event_timing:3.14,send_to:"G-XXXXXX-1"}]]},Z={title:"Multi-tool push",description:"A single order event fans out to GA4, Google Ads, and GTM from one mapping rule with per-tool settings.",in:(0,R.getEvent)("order complete",{timestamp:1700000107}),mapping:{name:"purchase",include:["data"],settings:{ga4:{},ads:{label:"PURCHASE_CONV"},gtm:{}},data:{map:{value:"data.total",currency:{key:"data.currency",value:"EUR"}}}},out:[["gtag","event","purchase",{value:555,currency:"EUR",data_id:"0rd3r1d",data_currency:"EUR",data_shipping:5.22,data_taxes:73.76,data_total:555,send_to:"G-XXXXXX-1"}],["gtag","event","conversion",{send_to:"AW-123456789/PURCHASE_CONV",currency:"EUR",value:555,data_id:"0rd3r1d",data_currency:"EUR",data_shipping:5.22,data_taxes:73.76,data_total:555}],["dataLayer.push",{event:"purchase",value:555,currency:"EUR",data_id:"0rd3r1d",data_currency:"EUR",data_shipping:5.22,data_taxes:73.76,data_total:555}]]};//# sourceMappingURL=dev.js.map
|
|
1
|
+
"use strict";var e,a=Object.defineProperty,t=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,o=(e,t)=>{for(var n in t)a(e,n,{get:t[n],enumerable:!0})},r={};o(r,{examples:()=>k,schemas:()=>s}),module.exports=(e=r,((e,o,r,s)=>{if(o&&"object"==typeof o||"function"==typeof o)for(let d of n(o))i.call(e,d)||d===r||a(e,d,{get:()=>o[d],enumerable:!(s=t(o,d))||s.enumerable});return e})(a({},"__esModule",{value:!0}),e));var s={};o(s,{AdsSettingsSchema:()=>m,ConsentModeSchema:()=>p,GA4SettingsSchema:()=>u,GTMSettingsSchema:()=>v,MappingSchema:()=>f,SettingsSchema:()=>_,UserDataMappingSchema:()=>g,ads:()=>G,ga4:()=>z,gtm:()=>E,mapping:()=>w,settings:()=>A});var d=require("@walkeros/core/dev"),c=require("@walkeros/core/dev"),l=require("@walkeros/core/dev"),p=l.z.union([l.z.boolean(),l.z.record(l.z.string(),l.z.union([l.z.string(),l.z.array(l.z.string())]))]),u=l.z.object({measurementId:l.z.string().regex(/^G-[A-Z0-9]+$/,"Must be a valid GA4 Measurement ID (G-XXXXXXXXXX)").describe("GA4 Measurement ID from Google Analytics (like G-XXXXXXXXXX)"),debug:l.z.boolean().describe("Enable debug mode for GA4 (like true)").optional(),pageview:l.z.boolean().describe("Enable automatic pageview tracking (like true)").optional(),server_container_url:l.z.string().url().describe("Server-side GTM container URL (like https://server-container.com)").optional(),snakeCase:l.z.boolean().describe("Convert parameter names to snake_case (like true)").optional(),transport_url:l.z.string().url().describe("Custom transport URL for GA4 (like https://analytics.example.com/mp/collect)").optional(),data:l.z.any().describe("Custom data mapping configuration").optional()}),g=l.z.object({email:l.z.any().describe("Mapping value for user email (like user.email)").optional(),phone_number:l.z.any().describe("Mapping value for user phone number (like user.phone)").optional(),address:l.z.object({first_name:l.z.any().describe("Mapping value for first name (like data.firstName)").optional(),last_name:l.z.any().describe("Mapping value for last name (like data.lastName)").optional(),street:l.z.any().describe("Mapping value for street address").optional(),city:l.z.any().describe("Mapping value for city (like user.city)").optional(),region:l.z.any().describe("Mapping value for region/state (like user.region)").optional(),postal_code:l.z.any().describe("Mapping value for postal/zip code (like user.zip)").optional(),country:l.z.any().describe("Mapping value for country (like user.country)").optional()}).describe("Address mapping for enhanced conversions").optional()}),m=l.z.object({conversionId:l.z.string().regex(/^AW-[0-9]+$/,"Must be a valid Ads Conversion ID (AW-XXXXXXXXXX)").describe("Google Ads Conversion ID (required)"),currency:l.z.string().length(3).describe("Currency code (ISO 4217, e.g., USD, EUR)").optional(),data:l.z.any().describe("Custom data mapping (WalkerOS.Mapping.Value | Values)").optional(),enhancedConversions:g.describe("Enhanced conversions: maps event fields to Google user_data for improved measurement accuracy").optional()}),v=l.z.object({containerId:l.z.string().regex(/^GTM-[A-Z0-9]+$/,"Must be a valid GTM Container ID (GTM-XXXXXXX)").describe("GTM Container ID (required)"),dataLayer:l.z.string().describe("Custom dataLayer variable name (default: dataLayer)").optional(),domain:l.z.string().describe("Custom GTM domain for script loading").optional(),data:l.z.any().describe("Custom data mapping (WalkerOS.Mapping.Value | Values)").optional()}),_=c.z.object({como:p.describe("Consent mode configuration: false (disabled), true (use defaults), or custom mapping").optional(),como_advanced:c.z.union([c.z.boolean(),c.z.number()]).describe("Advanced consent mode (non-EU): emit denied default at page load with wait_for_update (true=500ms, or a number of ms)").optional(),ga4:u.describe("GA4-specific configuration settings (like { measurementId: G-XXXXXXXXXX })").optional(),ads:m.describe("Google Ads specific configuration settings (like { conversionId: AW-XXXXXXXXX })").optional(),gtm:v.describe("Google Tag Manager specific configuration settings (like { containerId: GTM-XXXXXXX })").optional()}).refine(e=>{var a,t,n;return(null==(a=e.ga4)?void 0:a.measurementId)||(null==(t=e.ads)?void 0:t.conversionId)||(null==(n=e.gtm)?void 0:n.containerId)},{message:"At least one Google tool must be configured (ga4.measurementId, ads.conversionId, or gtm.containerId)"}),X=require("@walkeros/core/dev"),b=X.z.object({}),y=X.z.object({label:X.z.string().describe("Conversion label for this specific event").optional()}),h=X.z.object({}),f=X.z.object({ga4:b.describe("GA4-specific event mapping").optional(),ads:y.describe("Google Ads-specific event mapping").optional(),gtm:h.describe("GTM-specific event mapping").optional()}),A=(0,d.zodToSchema)(_),w=(0,d.zodToSchema)(f),z=(0,d.zodToSchema)(u),G=(0,d.zodToSchema)(m),E=(0,d.zodToSchema)(v),k={};o(k,{env:()=>C,step:()=>I});var C={};o(C,{init:()=>M,push:()=>S,simulation:()=>U});var M={window:{dataLayer:[]},document:{createElement:()=>({src:"",setAttribute:()=>{},removeAttribute:()=>{}}),head:{appendChild:()=>{}}}},S={window:{gtag:Object.assign(()=>{},{}),dataLayer:[]},document:{createElement:()=>({src:"",setAttribute:()=>{},removeAttribute:()=>{}}),head:{appendChild:()=>{}}}},U=["call:window.gtag"],I={};o(I,{addToCart:()=>L,adsEnhancedConversions:()=>W,adsInit:()=>O,consentModeV2:()=>N,ga4Init:()=>j,ga4WithIncludeAll:()=>$,googleAdsConversion:()=>V,gtmDataLayerPush:()=>H,gtmInit:()=>P,multipleToolsSimultaneous:()=>Z,pageView:()=>D,purchase:()=>q});var R=require("@walkeros/core"),T=17e11,x=new Date(T),j={title:"GA4 init",description:"The destination bootstraps gtag and configures a GA4 property via its measurementId.",in:{settings:{ga4:{measurementId:"G-XXXXXX-1"}}},out:[["gtag","js",x],["gtag","config","G-XXXXXX-1",{}]]},O={title:"Google Ads init",description:"The destination bootstraps gtag and configures a Google Ads account via its conversionId.",in:{settings:{ads:{conversionId:"AW-123456789",currency:"EUR"}}},out:[["gtag","js",x],["gtag","config","AW-123456789"]]},P={title:"GTM init",description:"The destination initializes the dataLayer and pushes the gtm.js start event for a GTM container.",in:{settings:{gtm:{containerId:"GTM-XXXXXXX"}}},out:[["dataLayer.push",{"gtm.start":T,event:"gtm.js"}]]},q={title:"Purchase",description:"An order complete event is mapped to the GA4 purchase event with transaction details and nested product items.",in:(0,R.getEvent)("order complete",{timestamp:1700000100}),mapping:{name:"purchase",include:["data","context"],data:{map:{transaction_id:"data.id",value:"data.total",tax:"data.taxes",shipping:"data.shipping",currency:{key:"data.currency",value:"EUR"},items:{loop:["nested",{condition:e=>(0,R.isObject)(e)&&"product"===e.entity,map:{item_id:"data.id",item_name:"data.name",quantity:{key:"data.quantity",value:1}}}]}}}},out:[["gtag","event","purchase",{transaction_id:"0rd3r1d",value:555,tax:73.76,shipping:5.22,currency:"EUR",items:[{item_id:"ers",item_name:"Everyday Ruck Snack",quantity:1},{item_id:"cc",item_name:"Cool Cap",quantity:1}],data_id:"0rd3r1d",data_currency:"EUR",data_shipping:5.22,data_taxes:73.76,data_total:555,context_shopping:"complete",send_to:"G-XXXXXX-1"}]]},L={title:"Add to cart",description:"A product add event is mapped to the GA4 add_to_cart event with item details and value.",in:(0,R.getEvent)("product add",{timestamp:1700000101}),mapping:{name:"add_to_cart",include:["data"],data:{map:{currency:{value:"EUR",key:"data.currency"},value:"data.price",items:{loop:["this",{map:{item_id:"data.id",item_variant:"data.color",quantity:{value:1,key:"data.quantity"}}}]}}}},out:[["gtag","event","add_to_cart",{currency:"EUR",value:420,items:[{item_id:"ers",item_variant:"black",quantity:1}],data_id:"ers",data_name:"Everyday Ruck Snack",data_color:"black",data_size:"l",data_price:420,send_to:"G-XXXXXX-1"}]]},D={title:"Page view",description:"A page view event is forwarded as a GA4 page_view event with no additional mapping.",in:(0,R.getEvent)("page view",{timestamp:1700000102}),mapping:void 0,out:[["gtag","event","page_view",{send_to:"G-XXXXXX-1"}]]},V={title:"Ads conversion",description:"An order complete event is sent as a Google Ads conversion with a configured label and transaction value.",in:(0,R.getEvent)("order complete",{timestamp:1700000103}),mapping:{name:"PURCHASE_CONV",settings:{ads:{label:"PURCHASE_CONV"}},data:{map:{value:"data.total"}}},out:[["gtag","event","conversion",{send_to:"AW-123456789/PURCHASE_CONV",currency:"EUR",value:555}]]},W={title:"Enhanced conversions",description:"enhancedConversions maps event fields into a gtag set user_data call sent immediately before the conversion event.",in:(0,R.getEvent)("order complete",{timestamp:1700000109,data:{id:"0rd3r1d",currency:"EUR",shipping:5.22,taxes:73.76,total:555,customerEmail:"buyer@shop.com",customerPhone:"+1234567890"}}),mapping:{name:"PURCHASE_EC2",settings:{ads:{label:"PURCHASE_EC2"}},data:{map:{value:"data.total"}}},out:[["gtag","set","user_data",{email:"buyer@shop.com",phone_number:"+1234567890"}],["gtag","event","conversion",{send_to:"AW-123456789/PURCHASE_EC2",currency:"EUR",value:555}]]},H={title:"GTM dataLayer push",description:"A page view event is pushed to window.dataLayer for GTM with the mapped event name and parameters.",in:(0,R.getEvent)("page view",{timestamp:1700000104}),mapping:{name:"page_view",settings:{gtm:{}},data:{map:{page_title:"data.title",page_location:"data.domain"}}},out:[["dataLayer.push",{event:"page_view",page_title:"walkerOS documentation",page_location:"www.example.com"}]]},N={title:"Consent Mode v2",description:"A walker consent command with marketing and functional granted updates gtag Consent Mode v2 parameters.",command:"consent",in:{marketing:!0,functional:!0},out:[["gtag","consent","default",{ad_storage:"denied",ad_user_data:"denied",ad_personalization:"denied",analytics_storage:"denied"}],["gtag","consent","update",{ad_storage:"granted",ad_user_data:"granted",ad_personalization:"granted",analytics_storage:"granted"}]]},$={title:"GA4 include all",description:"Include flattens every event section into prefixed GA4 params, exposing data, context, user, source, and event fields.",in:(0,R.getEvent)("page view",{id:"ev-1700000106",timestamp:1700000106,source:{type:"collector",schema:"4",count:1,trace:"1700000106abcdef1700000106abcdef"}}),mapping:{include:["data","context","globals","user","source","event"]},out:[["gtag","event","page_view",{data_domain:"www.example.com",data_title:"walkerOS documentation",data_referrer:"https://www.walkeros.io/",data_search:"?foo=bar",data_hash:"#hash",data_id:"/docs/",context_dev:"test",globals_pagegroup:"docs",user_id:"us3r",user_device:"c00k13",user_session:"s3ss10n",source_type:"collector",source_schema:"4",source_count:1,source_trace:"1700000106abcdef1700000106abcdef",source_release_default:"4.3.1",event_entity:"page",event_action:"view",event_trigger:"load",event_id:"ev-1700000106",event_name:"page view",event_timestamp:1700000106,event_timing:3.14,send_to:"G-XXXXXX-1"}]]},Z={title:"Multi-tool push",description:"A single order event fans out to GA4, Google Ads, and GTM from one mapping rule with per-tool settings.",in:(0,R.getEvent)("order complete",{timestamp:1700000107}),mapping:{name:"purchase",include:["data"],settings:{ga4:{},ads:{label:"PURCHASE_CONV"},gtm:{}},data:{map:{value:"data.total",currency:{key:"data.currency",value:"EUR"}}}},out:[["gtag","event","purchase",{value:555,currency:"EUR",data_id:"0rd3r1d",data_currency:"EUR",data_shipping:5.22,data_taxes:73.76,data_total:555,send_to:"G-XXXXXX-1"}],["gtag","event","conversion",{send_to:"AW-123456789/PURCHASE_CONV",currency:"EUR",value:555,data_id:"0rd3r1d",data_currency:"EUR",data_shipping:5.22,data_taxes:73.76,data_total:555}],["dataLayer.push",{event:"purchase",value:555,currency:"EUR",data_id:"0rd3r1d",data_currency:"EUR",data_shipping:5.22,data_taxes:73.76,data_total:555}]]};//# sourceMappingURL=dev.js.map
|
package/dist/dev.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e=Object.defineProperty,a=(a,t)=>{for(var n in t)e(a,n,{get:t[n],enumerable:!0})},t={};a(t,{AdsSettingsSchema:()=>c,ConsentModeSchema:()=>r,GA4SettingsSchema:()=>s,GTMSettingsSchema:()=>l,MappingSchema:()=>_,SettingsSchema:()=>p,UserDataMappingSchema:()=>d,ads:()=>h,ga4:()=>y,gtm:()=>f,mapping:()=>b,settings:()=>X});import{zodToSchema as n}from"@walkeros/core/dev";import{z as i}from"@walkeros/core/dev";import{z as o}from"@walkeros/core/dev";var r=o.union([o.boolean(),o.record(o.string(),o.union([o.string(),o.array(o.string())]))]),s=o.object({measurementId:o.string().regex(/^G-[A-Z0-9]+$/,"Must be a valid GA4 Measurement ID (G-XXXXXXXXXX)").describe("GA4 Measurement ID from Google Analytics (like G-XXXXXXXXXX)"),debug:o.boolean().describe("Enable debug mode for GA4 (like true)").optional(),pageview:o.boolean().describe("Enable automatic pageview tracking (like true)").optional(),server_container_url:o.string().url().describe("Server-side GTM container URL (like https://server-container.com)").optional(),snakeCase:o.boolean().describe("Convert parameter names to snake_case (like true)").optional(),transport_url:o.string().url().describe("Custom transport URL for GA4 (like https://analytics.example.com/mp/collect)").optional(),data:o.any().describe("Custom data mapping configuration").optional()}),d=o.object({email:o.any().describe("Mapping value for user email (like user.email)").optional(),phone_number:o.any().describe("Mapping value for user phone number (like user.phone)").optional(),address:o.object({first_name:o.any().describe("Mapping value for first name (like data.firstName)").optional(),last_name:o.any().describe("Mapping value for last name (like data.lastName)").optional(),street:o.any().describe("Mapping value for street address").optional(),city:o.any().describe("Mapping value for city (like user.city)").optional(),region:o.any().describe("Mapping value for region/state (like user.region)").optional(),postal_code:o.any().describe("Mapping value for postal/zip code (like user.zip)").optional(),country:o.any().describe("Mapping value for country (like user.country)").optional()}).describe("Address mapping for enhanced conversions").optional()}),c=o.object({conversionId:o.string().regex(/^AW-[0-9]+$/,"Must be a valid Ads Conversion ID (AW-XXXXXXXXXX)").describe("Google Ads Conversion ID (required)"),currency:o.string().length(3).describe("Currency code (ISO 4217, e.g., USD, EUR)").optional(),data:o.any().describe("Custom data mapping (WalkerOS.Mapping.Value | Values)").optional(),enhancedConversions:d.describe("Enhanced conversions: maps event fields to Google user_data for improved measurement accuracy").optional()}),l=o.object({containerId:o.string().regex(/^GTM-[A-Z0-9]+$/,"Must be a valid GTM Container ID (GTM-XXXXXXX)").describe("GTM Container ID (required)"),dataLayer:o.string().describe("Custom dataLayer variable name (default: dataLayer)").optional(),domain:o.string().describe("Custom GTM domain for script loading").optional(),data:o.any().describe("Custom data mapping (WalkerOS.Mapping.Value | Values)").optional()}),p=i.object({como:r.describe("Consent mode configuration: false (disabled), true (use defaults), or custom mapping").optional(),como_advanced:i.union([i.boolean(),i.number()]).describe("Advanced consent mode (non-EU): emit denied default at page load with wait_for_update (true=500ms, or a number of ms)").optional(),ga4:s.describe("GA4-specific configuration settings (like { measurementId: G-XXXXXXXXXX })").optional(),ads:c.describe("Google Ads specific configuration settings (like { conversionId: AW-XXXXXXXXX })").optional(),gtm:l.describe("Google Tag Manager specific configuration settings (like { containerId: GTM-XXXXXXX })").optional()}).refine(e=>{var a,t,n;return(null==(a=e.ga4)?void 0:a.measurementId)||(null==(t=e.ads)?void 0:t.conversionId)||(null==(n=e.gtm)?void 0:n.containerId)},{message:"At least one Google tool must be configured (ga4.measurementId, ads.conversionId, or gtm.containerId)"});import{z as u}from"@walkeros/core/dev";var m=u.object({}),g=u.object({label:u.string().describe("Conversion label for this specific event").optional()}),v=u.object({}),_=u.object({ga4:m.describe("GA4-specific event mapping").optional(),ads:g.describe("Google Ads-specific event mapping").optional(),gtm:v.describe("GTM-specific event mapping").optional()}),X=n(p),b=n(_),y=n(s),h=n(c),f=n(l),A={};a(A,{env:()=>w,step:()=>E});var w={};a(w,{init:()=>G,push:()=>k,simulation:()=>C});var G={window:{dataLayer:[]},document:{createElement:()=>({src:"",setAttribute:()=>{},removeAttribute:()=>{}}),head:{appendChild:()=>{}}}},k={window:{gtag:Object.assign(()=>{},{}),dataLayer:[]},document:{createElement:()=>({src:"",setAttribute:()=>{},removeAttribute:()=>{}}),head:{appendChild:()=>{}}}},C=["call:window.gtag"],E={};a(E,{addToCart:()=>L,adsEnhancedConversions:()=>V,adsInit:()=>x,consentModeV2:()=>D,ga4Init:()=>S,ga4WithIncludeAll:()=>q,googleAdsConversion:()=>O,gtmDataLayerPush:()=>W,gtmInit:()=>T,multipleToolsSimultaneous:()=>z,pageView:()=>P,purchase:()=>j});import{getEvent as M,isObject as U}from"@walkeros/core";var I=17e11,R=new Date(I),S={title:"GA4 init",description:"The destination bootstraps gtag and configures a GA4 property via its measurementId.",in:{settings:{ga4:{measurementId:"G-XXXXXX-1"}}},out:[["gtag","js",R],["gtag","config","G-XXXXXX-1",{}]]},x={title:"Google Ads init",description:"The destination bootstraps gtag and configures a Google Ads account via its conversionId.",in:{settings:{ads:{conversionId:"AW-123456789",currency:"EUR"}}},out:[["gtag","js",R],["gtag","config","AW-123456789"]]},T={title:"GTM init",description:"The destination initializes the dataLayer and pushes the gtm.js start event for a GTM container.",in:{settings:{gtm:{containerId:"GTM-XXXXXXX"}}},out:[["dataLayer.push",{"gtm.start":I,event:"gtm.js"}]]},j={title:"Purchase",description:"An order complete event is mapped to the GA4 purchase event with transaction details and nested product items.",in:M("order complete",{timestamp:1700000100}),mapping:{name:"purchase",include:["data","context"],data:{map:{transaction_id:"data.id",value:"data.total",tax:"data.taxes",shipping:"data.shipping",currency:{key:"data.currency",value:"EUR"},items:{loop:["nested",{condition:e=>U(e)&&"product"===e.entity,map:{item_id:"data.id",item_name:"data.name",quantity:{key:"data.quantity",value:1}}}]}}}},out:[["gtag","event","purchase",{transaction_id:"0rd3r1d",value:555,tax:73.76,shipping:5.22,currency:"EUR",items:[{item_id:"ers",item_name:"Everyday Ruck Snack",quantity:1},{item_id:"cc",item_name:"Cool Cap",quantity:1}],data_id:"0rd3r1d",data_currency:"EUR",data_shipping:5.22,data_taxes:73.76,data_total:555,context_shopping:"complete",send_to:"G-XXXXXX-1"}]]},L={title:"Add to cart",description:"A product add event is mapped to the GA4 add_to_cart event with item details and value.",in:M("product add",{timestamp:1700000101}),mapping:{name:"add_to_cart",include:["data"],data:{map:{currency:{value:"EUR",key:"data.currency"},value:"data.price",items:{loop:["this",{map:{item_id:"data.id",item_variant:"data.color",quantity:{value:1,key:"data.quantity"}}}]}}}},out:[["gtag","event","add_to_cart",{currency:"EUR",value:420,items:[{item_id:"ers",item_variant:"black",quantity:1}],data_id:"ers",data_name:"Everyday Ruck Snack",data_color:"black",data_size:"l",data_price:420,send_to:"G-XXXXXX-1"}]]},P={title:"Page view",description:"A page view event is forwarded as a GA4 page_view event with no additional mapping.",in:M("page view",{timestamp:1700000102}),mapping:void 0,out:[["gtag","event","page_view",{send_to:"G-XXXXXX-1"}]]},O={title:"Ads conversion",description:"An order complete event is sent as a Google Ads conversion with a configured label and transaction value.",in:M("order complete",{timestamp:1700000103}),mapping:{name:"PURCHASE_CONV",settings:{ads:{label:"PURCHASE_CONV"}},data:{map:{value:"data.total"}}},out:[["gtag","event","conversion",{send_to:"AW-123456789/PURCHASE_CONV",currency:"EUR",value:555}]]},V={title:"Enhanced conversions",description:"enhancedConversions maps event fields into a gtag set user_data call sent immediately before the conversion event.",in:M("order complete",{timestamp:1700000109,data:{id:"0rd3r1d",currency:"EUR",shipping:5.22,taxes:73.76,total:555,customerEmail:"buyer@shop.com",customerPhone:"+1234567890"}}),mapping:{name:"PURCHASE_EC2",settings:{ads:{label:"PURCHASE_EC2"}},data:{map:{value:"data.total"}}},out:[["gtag","set","user_data",{email:"buyer@shop.com",phone_number:"+1234567890"}],["gtag","event","conversion",{send_to:"AW-123456789/PURCHASE_EC2",currency:"EUR",value:555}]]},W={title:"GTM dataLayer push",description:"A page view event is pushed to window.dataLayer for GTM with the mapped event name and parameters.",in:M("page view",{timestamp:1700000104}),mapping:{name:"page_view",settings:{gtm:{}},data:{map:{page_title:"data.title",page_location:"data.domain"}}},out:[["dataLayer.push",{event:"page_view",page_title:"walkerOS documentation",page_location:"www.example.com"}]]},D={title:"Consent Mode v2",description:"A walker consent command with marketing and functional granted updates gtag Consent Mode v2 parameters.",command:"consent",in:{marketing:!0,functional:!0},out:[["gtag","consent","default",{ad_storage:"denied",ad_user_data:"denied",ad_personalization:"denied",analytics_storage:"denied"}],["gtag","consent","update",{ad_storage:"granted",ad_user_data:"granted",ad_personalization:"granted",analytics_storage:"granted"}]]},q={title:"GA4 include all",description:"Include flattens every event section into prefixed GA4 params, exposing data, context, user, source, and event fields.",in:M("page view",{id:"ev-1700000106",timestamp:1700000106,source:{type:"collector",schema:"4",count:1,trace:"1700000106abcdef1700000106abcdef"}}),mapping:{include:["data","context","globals","user","source","event"]},out:[["gtag","event","page_view",{data_domain:"www.example.com",data_title:"walkerOS documentation",data_referrer:"https://www.walkeros.io/",data_search:"?foo=bar",data_hash:"#hash",data_id:"/docs/",context_dev:"test",globals_pagegroup:"docs",user_id:"us3r",user_device:"c00k13",user_session:"s3ss10n",source_type:"collector",source_schema:"4",source_count:1,source_trace:"1700000106abcdef1700000106abcdef",source_release_default:"4.3.0",event_entity:"page",event_action:"view",event_trigger:"load",event_id:"ev-1700000106",event_name:"page view",event_timestamp:1700000106,event_timing:3.14,send_to:"G-XXXXXX-1"}]]},z={title:"Multi-tool push",description:"A single order event fans out to GA4, Google Ads, and GTM from one mapping rule with per-tool settings.",in:M("order complete",{timestamp:1700000107}),mapping:{name:"purchase",include:["data"],settings:{ga4:{},ads:{label:"PURCHASE_CONV"},gtm:{}},data:{map:{value:"data.total",currency:{key:"data.currency",value:"EUR"}}}},out:[["gtag","event","purchase",{value:555,currency:"EUR",data_id:"0rd3r1d",data_currency:"EUR",data_shipping:5.22,data_taxes:73.76,data_total:555,send_to:"G-XXXXXX-1"}],["gtag","event","conversion",{send_to:"AW-123456789/PURCHASE_CONV",currency:"EUR",value:555,data_id:"0rd3r1d",data_currency:"EUR",data_shipping:5.22,data_taxes:73.76,data_total:555}],["dataLayer.push",{event:"purchase",value:555,currency:"EUR",data_id:"0rd3r1d",data_currency:"EUR",data_shipping:5.22,data_taxes:73.76,data_total:555}]]};export{A as examples,t as schemas};//# sourceMappingURL=dev.mjs.map
|
|
1
|
+
var e=Object.defineProperty,a=(a,t)=>{for(var n in t)e(a,n,{get:t[n],enumerable:!0})},t={};a(t,{AdsSettingsSchema:()=>c,ConsentModeSchema:()=>r,GA4SettingsSchema:()=>s,GTMSettingsSchema:()=>l,MappingSchema:()=>_,SettingsSchema:()=>p,UserDataMappingSchema:()=>d,ads:()=>h,ga4:()=>y,gtm:()=>f,mapping:()=>b,settings:()=>X});import{zodToSchema as n}from"@walkeros/core/dev";import{z as i}from"@walkeros/core/dev";import{z as o}from"@walkeros/core/dev";var r=o.union([o.boolean(),o.record(o.string(),o.union([o.string(),o.array(o.string())]))]),s=o.object({measurementId:o.string().regex(/^G-[A-Z0-9]+$/,"Must be a valid GA4 Measurement ID (G-XXXXXXXXXX)").describe("GA4 Measurement ID from Google Analytics (like G-XXXXXXXXXX)"),debug:o.boolean().describe("Enable debug mode for GA4 (like true)").optional(),pageview:o.boolean().describe("Enable automatic pageview tracking (like true)").optional(),server_container_url:o.string().url().describe("Server-side GTM container URL (like https://server-container.com)").optional(),snakeCase:o.boolean().describe("Convert parameter names to snake_case (like true)").optional(),transport_url:o.string().url().describe("Custom transport URL for GA4 (like https://analytics.example.com/mp/collect)").optional(),data:o.any().describe("Custom data mapping configuration").optional()}),d=o.object({email:o.any().describe("Mapping value for user email (like user.email)").optional(),phone_number:o.any().describe("Mapping value for user phone number (like user.phone)").optional(),address:o.object({first_name:o.any().describe("Mapping value for first name (like data.firstName)").optional(),last_name:o.any().describe("Mapping value for last name (like data.lastName)").optional(),street:o.any().describe("Mapping value for street address").optional(),city:o.any().describe("Mapping value for city (like user.city)").optional(),region:o.any().describe("Mapping value for region/state (like user.region)").optional(),postal_code:o.any().describe("Mapping value for postal/zip code (like user.zip)").optional(),country:o.any().describe("Mapping value for country (like user.country)").optional()}).describe("Address mapping for enhanced conversions").optional()}),c=o.object({conversionId:o.string().regex(/^AW-[0-9]+$/,"Must be a valid Ads Conversion ID (AW-XXXXXXXXXX)").describe("Google Ads Conversion ID (required)"),currency:o.string().length(3).describe("Currency code (ISO 4217, e.g., USD, EUR)").optional(),data:o.any().describe("Custom data mapping (WalkerOS.Mapping.Value | Values)").optional(),enhancedConversions:d.describe("Enhanced conversions: maps event fields to Google user_data for improved measurement accuracy").optional()}),l=o.object({containerId:o.string().regex(/^GTM-[A-Z0-9]+$/,"Must be a valid GTM Container ID (GTM-XXXXXXX)").describe("GTM Container ID (required)"),dataLayer:o.string().describe("Custom dataLayer variable name (default: dataLayer)").optional(),domain:o.string().describe("Custom GTM domain for script loading").optional(),data:o.any().describe("Custom data mapping (WalkerOS.Mapping.Value | Values)").optional()}),p=i.object({como:r.describe("Consent mode configuration: false (disabled), true (use defaults), or custom mapping").optional(),como_advanced:i.union([i.boolean(),i.number()]).describe("Advanced consent mode (non-EU): emit denied default at page load with wait_for_update (true=500ms, or a number of ms)").optional(),ga4:s.describe("GA4-specific configuration settings (like { measurementId: G-XXXXXXXXXX })").optional(),ads:c.describe("Google Ads specific configuration settings (like { conversionId: AW-XXXXXXXXX })").optional(),gtm:l.describe("Google Tag Manager specific configuration settings (like { containerId: GTM-XXXXXXX })").optional()}).refine(e=>{var a,t,n;return(null==(a=e.ga4)?void 0:a.measurementId)||(null==(t=e.ads)?void 0:t.conversionId)||(null==(n=e.gtm)?void 0:n.containerId)},{message:"At least one Google tool must be configured (ga4.measurementId, ads.conversionId, or gtm.containerId)"});import{z as u}from"@walkeros/core/dev";var m=u.object({}),g=u.object({label:u.string().describe("Conversion label for this specific event").optional()}),v=u.object({}),_=u.object({ga4:m.describe("GA4-specific event mapping").optional(),ads:g.describe("Google Ads-specific event mapping").optional(),gtm:v.describe("GTM-specific event mapping").optional()}),X=n(p),b=n(_),y=n(s),h=n(c),f=n(l),A={};a(A,{env:()=>w,step:()=>E});var w={};a(w,{init:()=>G,push:()=>k,simulation:()=>C});var G={window:{dataLayer:[]},document:{createElement:()=>({src:"",setAttribute:()=>{},removeAttribute:()=>{}}),head:{appendChild:()=>{}}}},k={window:{gtag:Object.assign(()=>{},{}),dataLayer:[]},document:{createElement:()=>({src:"",setAttribute:()=>{},removeAttribute:()=>{}}),head:{appendChild:()=>{}}}},C=["call:window.gtag"],E={};a(E,{addToCart:()=>L,adsEnhancedConversions:()=>V,adsInit:()=>x,consentModeV2:()=>D,ga4Init:()=>S,ga4WithIncludeAll:()=>q,googleAdsConversion:()=>O,gtmDataLayerPush:()=>W,gtmInit:()=>T,multipleToolsSimultaneous:()=>z,pageView:()=>P,purchase:()=>j});import{getEvent as M,isObject as U}from"@walkeros/core";var I=17e11,R=new Date(I),S={title:"GA4 init",description:"The destination bootstraps gtag and configures a GA4 property via its measurementId.",in:{settings:{ga4:{measurementId:"G-XXXXXX-1"}}},out:[["gtag","js",R],["gtag","config","G-XXXXXX-1",{}]]},x={title:"Google Ads init",description:"The destination bootstraps gtag and configures a Google Ads account via its conversionId.",in:{settings:{ads:{conversionId:"AW-123456789",currency:"EUR"}}},out:[["gtag","js",R],["gtag","config","AW-123456789"]]},T={title:"GTM init",description:"The destination initializes the dataLayer and pushes the gtm.js start event for a GTM container.",in:{settings:{gtm:{containerId:"GTM-XXXXXXX"}}},out:[["dataLayer.push",{"gtm.start":I,event:"gtm.js"}]]},j={title:"Purchase",description:"An order complete event is mapped to the GA4 purchase event with transaction details and nested product items.",in:M("order complete",{timestamp:1700000100}),mapping:{name:"purchase",include:["data","context"],data:{map:{transaction_id:"data.id",value:"data.total",tax:"data.taxes",shipping:"data.shipping",currency:{key:"data.currency",value:"EUR"},items:{loop:["nested",{condition:e=>U(e)&&"product"===e.entity,map:{item_id:"data.id",item_name:"data.name",quantity:{key:"data.quantity",value:1}}}]}}}},out:[["gtag","event","purchase",{transaction_id:"0rd3r1d",value:555,tax:73.76,shipping:5.22,currency:"EUR",items:[{item_id:"ers",item_name:"Everyday Ruck Snack",quantity:1},{item_id:"cc",item_name:"Cool Cap",quantity:1}],data_id:"0rd3r1d",data_currency:"EUR",data_shipping:5.22,data_taxes:73.76,data_total:555,context_shopping:"complete",send_to:"G-XXXXXX-1"}]]},L={title:"Add to cart",description:"A product add event is mapped to the GA4 add_to_cart event with item details and value.",in:M("product add",{timestamp:1700000101}),mapping:{name:"add_to_cart",include:["data"],data:{map:{currency:{value:"EUR",key:"data.currency"},value:"data.price",items:{loop:["this",{map:{item_id:"data.id",item_variant:"data.color",quantity:{value:1,key:"data.quantity"}}}]}}}},out:[["gtag","event","add_to_cart",{currency:"EUR",value:420,items:[{item_id:"ers",item_variant:"black",quantity:1}],data_id:"ers",data_name:"Everyday Ruck Snack",data_color:"black",data_size:"l",data_price:420,send_to:"G-XXXXXX-1"}]]},P={title:"Page view",description:"A page view event is forwarded as a GA4 page_view event with no additional mapping.",in:M("page view",{timestamp:1700000102}),mapping:void 0,out:[["gtag","event","page_view",{send_to:"G-XXXXXX-1"}]]},O={title:"Ads conversion",description:"An order complete event is sent as a Google Ads conversion with a configured label and transaction value.",in:M("order complete",{timestamp:1700000103}),mapping:{name:"PURCHASE_CONV",settings:{ads:{label:"PURCHASE_CONV"}},data:{map:{value:"data.total"}}},out:[["gtag","event","conversion",{send_to:"AW-123456789/PURCHASE_CONV",currency:"EUR",value:555}]]},V={title:"Enhanced conversions",description:"enhancedConversions maps event fields into a gtag set user_data call sent immediately before the conversion event.",in:M("order complete",{timestamp:1700000109,data:{id:"0rd3r1d",currency:"EUR",shipping:5.22,taxes:73.76,total:555,customerEmail:"buyer@shop.com",customerPhone:"+1234567890"}}),mapping:{name:"PURCHASE_EC2",settings:{ads:{label:"PURCHASE_EC2"}},data:{map:{value:"data.total"}}},out:[["gtag","set","user_data",{email:"buyer@shop.com",phone_number:"+1234567890"}],["gtag","event","conversion",{send_to:"AW-123456789/PURCHASE_EC2",currency:"EUR",value:555}]]},W={title:"GTM dataLayer push",description:"A page view event is pushed to window.dataLayer for GTM with the mapped event name and parameters.",in:M("page view",{timestamp:1700000104}),mapping:{name:"page_view",settings:{gtm:{}},data:{map:{page_title:"data.title",page_location:"data.domain"}}},out:[["dataLayer.push",{event:"page_view",page_title:"walkerOS documentation",page_location:"www.example.com"}]]},D={title:"Consent Mode v2",description:"A walker consent command with marketing and functional granted updates gtag Consent Mode v2 parameters.",command:"consent",in:{marketing:!0,functional:!0},out:[["gtag","consent","default",{ad_storage:"denied",ad_user_data:"denied",ad_personalization:"denied",analytics_storage:"denied"}],["gtag","consent","update",{ad_storage:"granted",ad_user_data:"granted",ad_personalization:"granted",analytics_storage:"granted"}]]},q={title:"GA4 include all",description:"Include flattens every event section into prefixed GA4 params, exposing data, context, user, source, and event fields.",in:M("page view",{id:"ev-1700000106",timestamp:1700000106,source:{type:"collector",schema:"4",count:1,trace:"1700000106abcdef1700000106abcdef"}}),mapping:{include:["data","context","globals","user","source","event"]},out:[["gtag","event","page_view",{data_domain:"www.example.com",data_title:"walkerOS documentation",data_referrer:"https://www.walkeros.io/",data_search:"?foo=bar",data_hash:"#hash",data_id:"/docs/",context_dev:"test",globals_pagegroup:"docs",user_id:"us3r",user_device:"c00k13",user_session:"s3ss10n",source_type:"collector",source_schema:"4",source_count:1,source_trace:"1700000106abcdef1700000106abcdef",source_release_default:"4.3.1",event_entity:"page",event_action:"view",event_trigger:"load",event_id:"ev-1700000106",event_name:"page view",event_timestamp:1700000106,event_timing:3.14,send_to:"G-XXXXXX-1"}]]},z={title:"Multi-tool push",description:"A single order event fans out to GA4, Google Ads, and GTM from one mapping rule with per-tool settings.",in:M("order complete",{timestamp:1700000107}),mapping:{name:"purchase",include:["data"],settings:{ga4:{},ads:{label:"PURCHASE_CONV"},gtm:{}},data:{map:{value:"data.total",currency:{key:"data.currency",value:"EUR"}}}},out:[["gtag","event","purchase",{value:555,currency:"EUR",data_id:"0rd3r1d",data_currency:"EUR",data_shipping:5.22,data_taxes:73.76,data_total:555,send_to:"G-XXXXXX-1"}],["gtag","event","conversion",{send_to:"AW-123456789/PURCHASE_CONV",currency:"EUR",value:555,data_id:"0rd3r1d",data_currency:"EUR",data_shipping:5.22,data_taxes:73.76,data_total:555}],["dataLayer.push",{event:"purchase",value:555,currency:"EUR",data_id:"0rd3r1d",data_currency:"EUR",data_shipping:5.22,data_taxes:73.76,data_total:555}]]};export{A as examples,t as schemas};//# sourceMappingURL=dev.mjs.map
|
package/dist/walkerOS.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$meta": {
|
|
3
3
|
"package": "@walkeros/web-destination-gtag",
|
|
4
|
-
"version": "4.3.
|
|
4
|
+
"version": "4.3.1",
|
|
5
5
|
"type": "destination",
|
|
6
6
|
"platform": [
|
|
7
7
|
"web"
|
|
@@ -431,7 +431,7 @@
|
|
|
431
431
|
"consent": {
|
|
432
432
|
"functional": true
|
|
433
433
|
},
|
|
434
|
-
"id": "
|
|
434
|
+
"id": "a9d33123fb791b45",
|
|
435
435
|
"trigger": "click",
|
|
436
436
|
"entity": "product",
|
|
437
437
|
"action": "add",
|
|
@@ -581,7 +581,7 @@
|
|
|
581
581
|
"consent": {
|
|
582
582
|
"functional": true
|
|
583
583
|
},
|
|
584
|
-
"id": "
|
|
584
|
+
"id": "9bc066a19ee657db",
|
|
585
585
|
"trigger": "load",
|
|
586
586
|
"entity": "order",
|
|
587
587
|
"action": "complete",
|
|
@@ -795,7 +795,7 @@
|
|
|
795
795
|
"source_schema": "4",
|
|
796
796
|
"source_count": 1,
|
|
797
797
|
"source_trace": "1700000106abcdef1700000106abcdef",
|
|
798
|
-
"source_release_default": "4.3.
|
|
798
|
+
"source_release_default": "4.3.1",
|
|
799
799
|
"event_entity": "page",
|
|
800
800
|
"event_action": "view",
|
|
801
801
|
"event_trigger": "load",
|
|
@@ -888,7 +888,7 @@
|
|
|
888
888
|
"consent": {
|
|
889
889
|
"functional": true
|
|
890
890
|
},
|
|
891
|
-
"id": "
|
|
891
|
+
"id": "c3437163dde00840",
|
|
892
892
|
"trigger": "load",
|
|
893
893
|
"entity": "order",
|
|
894
894
|
"action": "complete",
|
|
@@ -968,7 +968,7 @@
|
|
|
968
968
|
"consent": {
|
|
969
969
|
"functional": true
|
|
970
970
|
},
|
|
971
|
-
"id": "
|
|
971
|
+
"id": "3b109da2dab671dd",
|
|
972
972
|
"trigger": "load",
|
|
973
973
|
"entity": "page",
|
|
974
974
|
"action": "view",
|
|
@@ -1104,7 +1104,7 @@
|
|
|
1104
1104
|
"consent": {
|
|
1105
1105
|
"functional": true
|
|
1106
1106
|
},
|
|
1107
|
-
"id": "
|
|
1107
|
+
"id": "9b4576cce8b123ad",
|
|
1108
1108
|
"trigger": "load",
|
|
1109
1109
|
"entity": "order",
|
|
1110
1110
|
"action": "complete",
|
|
@@ -1226,7 +1226,7 @@
|
|
|
1226
1226
|
"consent": {
|
|
1227
1227
|
"functional": true
|
|
1228
1228
|
},
|
|
1229
|
-
"id": "
|
|
1229
|
+
"id": "e0ef61e32f98c7af",
|
|
1230
1230
|
"trigger": "load",
|
|
1231
1231
|
"entity": "page",
|
|
1232
1232
|
"action": "view",
|
|
@@ -1330,7 +1330,7 @@
|
|
|
1330
1330
|
"consent": {
|
|
1331
1331
|
"functional": true
|
|
1332
1332
|
},
|
|
1333
|
-
"id": "
|
|
1333
|
+
"id": "873af055e8653251",
|
|
1334
1334
|
"trigger": "load",
|
|
1335
1335
|
"entity": "order",
|
|
1336
1336
|
"action": "complete",
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@walkeros/web-destination-gtag",
|
|
3
3
|
"description": "Unified Google destination for walkerOS (GA4, Ads, GTM)",
|
|
4
|
-
"version": "4.3.
|
|
4
|
+
"version": "4.3.1",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"module": "./dist/index.mjs",
|
|
@@ -38,8 +38,8 @@
|
|
|
38
38
|
"update": "npx npm-check-updates -u && npm update"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@walkeros/core": "4.3.
|
|
42
|
-
"@walkeros/web-core": "4.3.
|
|
41
|
+
"@walkeros/core": "4.3.1",
|
|
42
|
+
"@walkeros/web-core": "4.3.1"
|
|
43
43
|
},
|
|
44
44
|
"repository": {
|
|
45
45
|
"url": "git+https://github.com/elbwalker/walkerOS.git",
|