
Security News
Insecure Agents Podcast: Certified Patches, Supply Chain Security, and AI Agents
Socket CEO Feross Aboukhadijeh joins Insecure Agents to discuss CVE remediation and why supply chain attacks require a different security approach.
react-tag-manager
Advanced tools
$ npm install --save react-tag-manager
$ yarn add react-tag-manager
Enabling and loading the Google Tag Manager
import GTM from 'react-tag-manager'
export const AppContainer = () => (
<div>
<GTM
gtm={{
id: 'GTM-12345',
auth: '', // Optional
preview: '', // Optional
}}
settings={{
sendPageView: true, // default false
pageView: { // default null
event: 'pageview', // default
data : {}, // default
settings: {
locationProp: 'pathname', // default
sendAs : 'url', // default
},
}
}}>
...
</GTM>
</div>
)
import DataLayer from 'react-tag-manager/DataLayer'
export const Component = () => (
<div>
// All props will be added to the data layer
<DataLayer
foo={'bar'}
/>
<DataLayer
foo={'bar'}
settings={{
passProps: true, // default false, will pas all the given props to the child components
withGTM: true, // default false, will add GTM to the child components
}}>
...
</DataLayer>
...
</div>
)
import React from 'react'
import { withGTM } from 'react-tag-manager'
@withGTM
export default class extends from React.Component {
handleButtonClick = () => {
const { GTM } = this.props
GTM.api.trigger({
event: 'my-button-click',
bar: 'foo'
})
}
render() {
return (
<div>
<button onClick={this.handleButtonClick} />
</div>
)
}
}
import React from 'react'
import { PageView } from 'react-tag-manager'
export default class extends from React.Component {
render() {
return (
<div>
<PageView />
...
</div>
)
}
}
import React from 'react'
import { Click } from 'react-tag-manager'
export default class extends from React.Component {
render() {
return (
<div>
<Click
event={'click'}
data={{
event: 'click',
...
}}>
<button>CLICK ME</button>
</Click>
...
</div>
)
}
}
If you'd like to contribute to this project, all you need to do is clone this project and run:
$ npm install
$ npm run build
$ npm run build:watch // To recompile files on file change
You can use npm link / yarn link to use your development version in your own project:
react-tag-manager directory and execute command npm link / yarn linknpm link react-tag-manager / yarn link react-tag-managerReact Tag Manager is MIT licensed.
If you have questions or issues, please open an issue!
FAQs
Google Tag Manager for React
The npm package react-tag-manager receives a total of 8 weekly downloads. As such, react-tag-manager popularity was classified as not popular.
We found that react-tag-manager demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Socket CEO Feross Aboukhadijeh joins Insecure Agents to discuss CVE remediation and why supply chain attacks require a different security approach.

Security News
Tailwind Labs laid off 75% of its engineering team after revenue dropped 80%, as LLMs redirect traffic away from documentation where developers discover paid products.

Security News
The planned feature introduces a review step before releases go live, following the Shai-Hulud attacks and a rocky migration off classic tokens that disrupted maintainer workflows.