矿工想要, 请实现 如果你感兴趣
反应 Google 标签管理器 Hook
方便使用 Google 标签管理器
有了这个自定义的钩子,您可以轻松地使用0配置的 Google 标签管理器,只需要通过 容器标识来啊!
特征
安装
$ yarn add @elgorditosalsero/react-gtm-hook
# or
$ npm install @elgorditosalsero/react-gtm-hook
如何使用
注意一点
从v2.0起 我利用上下文在全球分享GTM为"虎克"的配置. 如果你正在寻找 1.x医生,检查 这个
基础
import { GTMProvider } from '@elgorditosalsero/react-gtm-hook'
const App = () => {
const gtmParams = { id: 'GTM-ID' }
return (
<GTMProvider state={gtmParams}>
<p>My awesome app</p>
</GTMProvider>
)
}
带有自定义的 DataLayer 名称
import { GTMProvider } from '@elgorditosalsero/react-gtm-hook'
const App = () => {
const gtmParams = {
id: 'GTM-ID',
dataLayerName: 'customDataLayerName'
}
return (
<GTMProvider state={gtmParams}>
<p>My awesome app</p>
</GTMProvider>
)
}
带有自定义 DataLayer 名称和初始值
import { GTMProvider } from '@elgorditosalsero/react-gtm-hook'
const App = () => {
const gtmParams = {
id: 'GTM-ID',
dataLayer: {
'my-custom-value': 'value',
'my-awesome-value': 'awesome'
},
dataLayerName: 'customDataLayerName'
}
return (
<GTMProvider state={gtmParams}>
<p>My awesome app</p>
</GTMProvider>
)
}
使用 GTM 自定义环境
import { GTMProvider } from '@elgorditosalsero/react-gtm-hook'
const App = () => {
const gtmParams = {
id: 'GTM-ID',
environment: {
gtm_auth: 'my-auth-token',
gtm_preview: 'preview-id'
}
}
return (
<GTMProvider state={gtmParams}>
<p>My awesome app</p>
</GTMProvider>
)
}
寻找 gtm_auth 财务报告和审定财务报表 gtm_preview 您自定义 GTM 环境的值, 请转到 Admin > 您的容器 > 环境 > 您的环境 > 动作 > 在您的 Google 标签管理器控制台中获取片段 。 您可以在片段中找到您需要的值 .
向 GTM 发送数据
import { GTMProvider, useGTMDispatch } from '@elgorditosalsero/react-gtm-hook'
const App = () => {
const gtmParams = {
id: 'GTM-ID',
dataLayerName: 'customDataLayerName'
}
return (
<GTMProvider state={gtmParams}>
<div>
<p>My awesome app</p>
<MyAwesomeComp />
</div>
</GTMProvider>
)
}
const MyAwesomeComp = () => {
const sendDataToGTM = useGTMDispatch()
const handleClick = () => sendDataToGTM({ event: 'awesomeButtonClicked', value: 'imAwesome' })
return (
<div>
<p>My Awesome Comp</p>
<button onClick={handleClick}>My Awesome Button</button>
</div>
)
}
API 密码
useGTM 提供干净易用 API 配置 GTM
输入
| 名称 | 类型 | 需求 | 资讯 |
|---|---|---|---|
| 编号 | String | 对 | 标记管理器的容器ID, 它看起来像: GTM-0T0TTT |
| 数据 Layer | Object | 无 | 自定义数据Layer的值, 如 {'my-init-prop': 'value'} |
| 数据LayerName | String | 无 | 自定义数据Layer的名称, 如果不通过, 它将是默认 : dataLayer |
| 环境 | Object | 无 | 提供 gtm_auth 财务报告和审定财务报表 gtm_preview 使用自定义 GTM 环境的参数 |
| 无 | String | 无 | 服务器生成了非ce. 见 https://developers.google.com/tag-manager/web/csp 页面存档备份,存于互联网档案馆 |
| 插入脚本 | Boolean | 无 | 默认( e)true:决定GTM脚本是否被注入,参见#30. 还允许通过在流中转接真实值来延迟注入 |
| 自定义域 | String | 无 | 默认( e)https://www.googletagmanager.com: 提供自定义域以使用自定义 GTM 域 |
| 自定义脚本Name | String | 无 | 默认( e)gtm.js: 提供自定义脚本Name 以使用自定义文件名 |
已发送DataTOGTM
| 名称 | 类型 | 需求 | 资讯 |
|---|---|---|---|
| 数据 | Object | 对 | 发送到 GTM 的对象数据, 例如 {event: 'my-awesome-event', 'my-custom-var': 'value'} |
示例
你可以看到这个自由的活在奉献上 站点
许可证
react-gtm-hook 根据麻省理工学院的许可
贡献者
感谢这些伟大的人emoji 密钥:
圭多·波尔卡罗 💻 📖 |
本亚普 💻 📖 ⚠️ |
克里斯蒂安·利韦拉 💻 |
杰森・芬奇 💻 |
意大利语Name 💻 |
吉安卢卡·拉·曼纳 📖 |
和树 💻 |
斯捷潘·曼德利卡 💻 |
西蒙·史密斯 📖 |
利斯蒂亚尼 💻 📖 |
缓冲器 💻 📖 |
罪恶 💻 |
本项目遵循 全部贡献者 规格。 任何捐款都欢迎!