GTM container templates
Import-ready GTM containers that wire the full ecommerce funnel to PixelFox - and to a Signals-hosted sGTM server.
Ready-to-import Google Tag Manager containers, so setup is one import instead of
configuring twenty tags by hand. Download signals-gtm-templates.zip from the
downloads page (signed in), pick the file for your mode, and import it.
| File | Container | What it does |
|---|---|---|
signals-web-proxy.json | Web | Browser GA4 event tags, Meta pixel with eventID, TikTok pixel with event_id, Clarity, plus the PixelFox server-side tag posting every event to /v1/ingest with a shared event_id and the Meta/TikTok cookies and click ids. |
signals-web-sgtm.json | Web | Same events, but GA4 transports them to your PixelFox sGTM hostname first (set server_container_url) — see sGTM hosting. Derived from the proxy container at build time, so it never drifts from it; it exists only inside the download zip. |
signals-server-sgtm.json | Server | For merchants running their own Google sGTM container elsewhere: GA4 client + GA4 forwarding tag. Add TikTok's and Meta's gallery tags after import; event_id, ttclid, ttp, fbp and fbc arrive as event parameters on every hit. If you use PixelFox sGTM hosting instead, you do not need this file. |
Import
- In tagmanager.google.com, open Admin → Import Container.
- Choose the file and merge into a new container (never overwrite a live container).
- Set the placeholder variables before publishing:
| Variable | Value |
|---|---|
PixelFox API Key | Your sig_live_… key (Dashboard → Sites → Keys). |
PixelFox Ingest URL | https://api.pixelfox.app, or your first-party domain (https://t.yourstore.com). |
GA4 Measurement ID | Your G-… id. |
Meta Pixel ID | Your numeric pixel id. |
TikTok Pixel Code | Your C… pixel code. Leave the placeholder and the TikTok tags stay off. |
LinkedIn Partner ID | Your Insight Tag partner id. Leave the placeholder and the LinkedIn tag stays off. |
Clarity Project ID | Your Clarity project id. |
SGTM Server URL (sgtm mode) | https://ss.yourstore.com - the hostname you claimed under sGTM hosting. |
- Preview, verify one event of each kind, publish.
How deduplication works
The PixelFox Event ID variable mints one id per GTM event and caches it for every
tag that reads it during that event. The Meta pixel fires with that id as eventID, the
TikTok pixel as event_id, GA4 carries it as the event_id parameter, and the PixelFox
server-side tag sends it as event.uuid to /v1/ingest. The PixelFox backend fans conversions out to Meta CAPI and
TikTok with the same id, so the platforms count each conversion exactly once -
browser and server together.
Match keys on every hit
The Google Tag's shared event parameters add ttclid, ttp, fbp, fbc, fbclid and
li_fat_id to every GA4 hit, and the PixelFox ingest tag reads the same cookies and click ids. If
your page pushes a user_data object ({ user_data: { email_address, phone_number, address: { first_name, last_name, city, region, postal_code, country } } }), both paths
carry the hashed match keys too - see match quality.
Event coverage
page_view, view_item, add_to_cart, remove_from_cart, view_cart,
begin_checkout, add_payment_info, add_shipping_info, purchase, search,
select_item, view_item_list, sign_up - all triggered off standard GA4 ecommerce
dataLayer pushes. If your platform already pushes these names (WooCommerce GA4
plugins, Shopify's GA4 integrations, Laravel packages), the triggers light up with no
extra code.
Sanitisation
Every shipped template is passed through a sanitiser that fails the build if any real pixel id, measurement id, container id or API key appears in the JSON. The placeholders above are the only ids in the files - safe to commit and share.