Google Tag Manager
The PixelFox tag injects your GTM container - manage every other vendor from GTM.
Google Tag Manager is browser-only: there is nothing to fan out server-side. PixelFox
injects your container (gtm.js) on every tagged page and seeds the standard
dataLayer, so you can deploy and manage any other vendor's tag from the GTM interface
without touching your site's code again.
Credentials
| Field | Where to find it |
|---|---|
| Container ID | tagmanager.google.com → your container - the GTM-XXXXXXX id shown next to the container name. |
Paste it under Integrations → Google Tag Manager. No secret is involved - container ids are public by nature (they appear in the tag on your pages).
What you get
- The container on every page the PixelFox tag runs on, with
dataLayerinitialised the standard way (gtm.start+gtm.jsevent). - Conflict safety - if the page already runs GTM (any container), PixelFox detects
window.google_tag_managerand injects nothing, so containers are never doubled.
What PixelFox pushes
When a container is present and PixelFox is not injecting its own gtag for GA4, every
mapped conversion is pushed into the dataLayer in GA4's shape:
{ event: "add_to_cart", event_id: "<uuid>", signals_event: "add_to_cart_click",
value: 129.5, currency: "USD", transaction_id: "1001",
items: [{ item_id: "sku-1", quantity: 1 }],
ecommerce: { value, currency, transaction_id, items } }event is the GA4 event name, so a GA4 event tag triggered on Custom event =
purchase just works. event_id is the same value PixelFox sends server-side to Meta
and TikTok - build a Data Layer Variable for it and pass it as the eventID of a
GTM-managed Meta pixel tag and the browser/server pair deduplicates exactly as it does
with the Signals-injected pixel. signals_event is your original event name.
Page views are not pushed; GTM's built-in All Pages trigger covers them.
Notes
- If PixelFox injects gtag itself (GA4 connected, routing set to browser, no container) the pushes are skipped and gtag fires the events directly - never both.
- If you use GTM to load Meta or TikTok pixels, either wire
event_idthrough as above or connect those platforms directly in PixelFox, which handles the dedup for you.