{"_id":"@elbwalker/connector-datalayer","name":"@elbwalker/connector-datalayer","dist-tags":{"latest":"0.0.1"},"versions":{"0.0.1":{"name":"@elbwalker/connector-datalayer","description":"datalayer connector for walkerOS","version":"0.0.1","license":"MIT","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","scripts":{"build":"tsup","build:dev":"tsup --config tsup.dev.config.ts","clean":"rm -rf .turbo && rm -rf node_modules && rm -rf dist","dev":"jest --watchAll --colors","lint":"tsc && eslint \"**/*.ts*\"","test":"jest --colors --coverage","update":"npx npm-check-updates -u && npm update"},"dependencies":{"@elbwalker/walker.js":"3.1.1"},"devDependencies":{"@elbwalker/tsup":"0.0.1","@elbwalker/types":"3.1.0"},"repository":{"url":"git+https://github.com/elbwalker/walkerOS.git","directory":"packages/connectors/datalayer"},"author":{"name":"elbwalker","email":"hello@elbwalker.com"},"homepage":"https://github.com/elbwalker/walkerOS#readme","bugs":{"url":"https://github.com/elbwalker/walkerOS/issues"},"keywords":["elb","elbwalker","walker","walkerOS","analytics","tracking","google tag manager","gtm"],"funding":[{"type":"GitHub Sponsors","url":"https://github.com/sponsors/elbwalker"}],"_id":"@elbwalker/connector-datalayer@0.0.1","gitHead":"6d8f130cfd78b439c74c484d45e4cef8b2768768","_nodeVersion":"20.11.0","_npmVersion":"10.2.4","dist":{"integrity":"sha512-i21B/ozJkYeanBhCFUBpV2bVEcOv8VbbTkGB+EKtqiQ7Rf9ANCtclS8nBbjelSBP/n1FBfqGOXWJgx81K4frpQ==","shasum":"93d349c309037c1c29db83764516067b56dcbef0","tarball":"https://registry.npmjs.org/@elbwalker/connector-datalayer/-/connector-datalayer-0.0.1.tgz","fileCount":12,"unpackedSize":61265,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAE3lRjYh953yKg4DmaTqettIZJGJAXPgSYIwLfuYv9qAiEAw35nNwRZBaAWxigIsniTr2BnpJGmw1JPw15hVC8TAx4="}]},"_npmUser":{"name":"alexanderkirtzel","email":"alexander@elbwalker.com"},"directories":{},"maintainers":[{"name":"alexanderkirtzel","email":"alexander@elbwalker.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/connector-datalayer_0.0.1_1732028022260_0.513994734412494"},"_hasShrinkwrap":false}},"time":{"created":"2024-11-19T14:53:42.099Z","0.0.1":"2024-11-19T14:53:42.480Z","modified":"2024-11-19T14:53:42.823Z"},"maintainers":[{"name":"alexanderkirtzel","email":"alexander@elbwalker.com"}],"description":"datalayer connector for walkerOS","homepage":"https://github.com/elbwalker/walkerOS#readme","keywords":["elb","elbwalker","walker","walkerOS","analytics","tracking","google tag manager","gtm"],"repository":{"url":"git+https://github.com/elbwalker/walkerOS.git","directory":"packages/connectors/datalayer"},"author":{"name":"elbwalker","email":"hello@elbwalker.com"},"bugs":{"url":"https://github.com/elbwalker/walkerOS/issues"},"license":"MIT","readme":"# dataLayer connector for walkerOS\n\nMade to be used with\n[walker.js](https://www.npmjs.com/package/@elbwalker/walker.js) from\n[walkerOS](https://github.com/elbwalker/walkerOS).\n\nMore detailed information and examples can be found in the\n[documentation](https://www.elbwalker.com/docs/connectors/datalayer).\n\n## 🤓 Usage\n\n## TODOs\n- multiple events with one dataLayer.push\n- Replace space with underscore in dataLayer event\n\n```ts\nconnectorDataLayer({\n  elb, // Function to push the events to, usually the WalkerOS.Elb\n  // dataLayer, // the dataLayer to be used\n  // name: 'dataLayer', // name of the dataLayer\n  mapping: {\n    \n  }\n});\n```\n\n## Mapping\n\nTypical GTM Trigger\n\n- `gtm.js`: All Pages\n\nevent is a static string\ndata is an object with keys and value as Value for getMappingValue\n\n### API Commands\n\nTypical `gtag` API commands like `config`, `get`, `set`, `event`, and `consent`\nare all translated to objects. Command parameters are added to `data`. For the\n`event` command the second parameter is used as the event name. For `consent`\nboth `granted` and `denied` values are translated to either `true` or `false`.\n\n```js\ngtag('event', 'foo', { bar: 'baz' }); // { event: \"foo\", data: { bar: \"baz\" }}\ngtag('config', 'G-XXXXXXXXXX', { foo: \"bar\" }); // { event: \"config G-XXXXXXXXXX\", data: { foo: \"bar\" }}\ngtag('consent' 'default', { ad_storage: 'denied' }); // { event: \"consent default\", data: { ad_storage: false }}\ngtag('consent' 'update', { ad_storage: 'granted' }); // { event: \"consent update\", data: { ad_storage: true }}\ngtag('set', 'campaign', { id: \"abd\" }); // { event: \"set campaign\", data: { id: \"abc\" }}\n```\n","readmeFilename":"README.md"}