GoogleTagManager injects GTM script and noscript snippets, initializes a configurable data layer, and dispatches startup events.tsx
import { GoogleTagManager } from "@arkyn/components";
tsx
<GoogleTagManager gtmId="GTM-XXXXXXX" />
showInDevMode for local or staging validation.tsx
// Render only in production (default behavior)<GoogleTagManager gtmId="GTM-XXXXXXX" />// Force rendering in development<GoogleTagManager gtmId="GTM-XXXXXXX" showInDevMode />
tsx
<GoogleTagManagergtmId="GTM-XXXXXXX"dataLayer={{pageType: "home",userType: "anonymous",}}events={{event: "page_loaded",locale: "en-US",}}/><GoogleTagManagergtmId="GTM-XXXXXXX"dataLayerName="customLayer"dataLayer={{ workspace: "docs" }}/>
auth and preview to connect a specific GTM environment (for example, staging).tsx
<GoogleTagManagergtmId="GTM-XXXXXXX"auth="your-auth-token"preview="env-3"showInDevMode/>
tsx
<GoogleTagManager gtmId="GTM-TEST123" showInDevMode />
ClientOnly, so GTM initialization and DOM
injection happen only in the browser. No GTM script or noscript tags are
appended during server rendering.GTM-XXXXXXX). If it
is missing, the internal generator emits a console warning and GTM cannot
be initialized correctly.gtmId - string
Google Tag Manager container id used to initialize GTM.events - Record<string, string>
Additional event payload merged into the startup GTM event.dataLayer - Record<string, string>
Initial key-value data pushed to the configured data layer.dataLayerName - string (default: "dataLayer")
Global variable name used for the GTM data layer.auth - string (default: "")
GTM environment auth token.preview - string (default: "")
GTM environment preview token.showInDevMode - boolean (default: false)
If true, renders and initializes GTM outside production.