{"id":15435503,"url":"https://github.com/tripss/react-tag-manager","last_synced_at":"2025-06-14T22:37:25.158Z","repository":{"id":46938828,"uuid":"111316461","full_name":"TriPSs/react-tag-manager","owner":"TriPSs","description":"Google Tag Manager for React","archived":false,"fork":false,"pushed_at":"2021-09-21T02:00:56.000Z","size":827,"stargazers_count":24,"open_issues_count":11,"forks_count":9,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-04-24T10:25:09.746Z","etag":null,"topics":["analytics","google","manager","react","tag"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TriPSs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-11-19T17:24:56.000Z","updated_at":"2024-04-05T18:59:01.000Z","dependencies_parsed_at":"2022-09-26T18:51:05.895Z","dependency_job_id":null,"html_url":"https://github.com/TriPSs/react-tag-manager","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TriPSs%2Freact-tag-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TriPSs%2Freact-tag-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TriPSs%2Freact-tag-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TriPSs%2Freact-tag-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TriPSs","download_url":"https://codeload.github.com/TriPSs/react-tag-manager/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241551972,"owners_count":19981052,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["analytics","google","manager","react","tag"],"created_at":"2024-10-01T18:44:53.449Z","updated_at":"2025-03-02T18:32:14.812Z","avatar_url":"https://github.com/TriPSs.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.npmjs.com/package/react-tag-manager\"\u003e\n    \u003cimg alt=\"Google Tag Manager\" src=\"https://daks2k3a4ib2z.cloudfront.net/591c03efc7fff47e9216373a/591c03efc7fff47e9216377b_%5Badaptive%5Dlogo-tag-manager-min.png\" width=\"400\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.npmjs.com/package/react-tag-manager\" title=\"downloads\"\u003e\u003cimg src=\"https://img.shields.io/npm/v/react-tag-manager.svg?maxAge=2592000\u0026style=flat-square\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://npm-stat.com/charts.html?package=react-tag-manager\" title=\"downloads\"\u003e\u003cimg src=\"https://img.shields.io/npm/dt/react-tag-manager.svg?maxAge=2592000\u0026style=flat-square\"/\u003e\u003c/a\u003e   \n  \u003ca href=\"https://david-dm.org/tripss/react-tag-manager\" title=\"dependencies status\"\u003e\u003cimg src=\"https://david-dm.org/tripss/react-tag-manager/status.svg?style=flat-square\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://david-dm.org/tripss/react-tag-manager?type=dev\" title=\"devDependencies status\"\u003e\u003cimg src=\"https://david-dm.org/tripss/react-tag-manager/dev-status.svg?style=flat-square\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n## Installation\n```shell\n$ npm install --save react-tag-manager\n$ yarn add react-tag-manager\n```\n\n## Examples\nEnabling and loading the Google Tag Manager\n```Javascript\nimport GTM from 'react-tag-manager'\n\nexport const AppContainer = () =\u003e (\n  \u003cdiv\u003e\n    \u003cGTM \n      gtm={{\n        id: 'GTM-12345',\n        auth: '',      // Optional\n        preview: '',   // Optional \n      }} \n      settings={{\n        sendPageView: true,     // default false\n        pageView: {             // default null\n          event: 'pageview',    // default\n          data : {},            // default\n          \n          settings: { \n            locationProp: 'pathname', // default\n            sendAs      : 'url',      // default\n          },\n        }\n      }}\u003e\n    \t...\n    \u003c/GTM\u003e\n  \u003c/div\u003e\n)\n```\n\n### Updating / Adding data to the data layer\n```Javascript\nimport DataLayer from 'react-tag-manager/DataLayer'\n\nexport const Component = () =\u003e (\n  \u003cdiv\u003e\n    // All props will be added to the data layer\n    \u003cDataLayer \n      foo={'bar'}\n    /\u003e\n        \n    \u003cDataLayer \n      foo={'bar'}\n      settings={{\n        passProps: true, \t// default false, will pas all the given props to the child components\n        withGTM: true, \t\t// default false, will add GTM to the child components\n      }}\u003e\n      ...\n    \u003c/DataLayer\u003e\n\n    ...\n  \u003c/div\u003e\n)\n```\n\n### Trigger a event\n```Javascript\nimport React from 'react'\nimport { withGTM } from 'react-tag-manager'\n\n@withGTM\nexport default class extends from React.Component {\n\n  handleButtonClick = () =\u003e {\n    const { GTM } = this.props\n    \n    GTM.api.trigger({\n      event: 'my-button-click',\n      bar: 'foo'\n    })\n  }\n  \n  render() {\n    return (\n      \u003cdiv\u003e\n        \u003cbutton onClick={this.handleButtonClick} /\u003e\n      \u003c/div\u003e\n    )\n  }\n  \n}\n```\n\n### Trigger a pageview event\n```Javascript\nimport React from 'react'\nimport { PageView } from 'react-tag-manager'\n\nexport default class extends from React.Component {\n\n  render() {\n    return (\n      \u003cdiv\u003e\n      \t\u003cPageView /\u003e\n        ...\n      \u003c/div\u003e\n    )\n  }\n  \n}\n```\n\n### Trigger a onClick event\n```Javascript\nimport React from 'react'\nimport { Click } from 'react-tag-manager'\n\nexport default class extends from React.Component {\n\n  render() {\n    return (\n      \u003cdiv\u003e\n      \t\u003cClick\n      \t  event={'click'}\n      \t  data={{\n      \t    event: 'click',\n      \t\t...\n      \t  }}\u003e\n      \t  \u003cbutton\u003eCLICK ME\u003c/button\u003e\n      \t\u003c/Click\u003e\n        ...\n      \u003c/div\u003e\n    )\n  }\n  \n}\n```\n\n## Development\nIf you'd like to contribute to this project, all you need to do is clone\nthis project and run:\n\n```shell\n$ npm install\n$ npm run build\n$ npm run build:watch // To recompile files on file change\n```\n\n### Using development version in local project\nYou can use `npm link` / `yarn link` to use your development version in your own project:\n- Go to `react-tag-manager` directory and execute command `npm link` / `yarn link`\n- Go to your project directory and execute command `npm link react-tag-manager` / `yarn link react-tag-manager`\n\n## [License](https://github.com/TriPSs/react-tag-manager/blob/master/LICENSE)\n\nReact Tag Manager is [MIT licensed](./LICENSE).\n\n## Collaboration\n\nIf you have questions or [issues](https://github.com/TriPSs/react-tag-manager/issues), please [open an issue](https://github.com/TriPSs/react-tag-manager/issues/new)!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftripss%2Freact-tag-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftripss%2Freact-tag-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftripss%2Freact-tag-manager/lists"}