Google Tag Manager — a container script (gtm.js) that loads and configures other tracking tags (GA4, Google Ads, Floodlight, third-party pixels) without code changes.
Common Shopify integration: paste the GTM snippet into theme.liquid, configure tags in the GTM web UI.
The compliance trap: setting Google Consent Mode v2 defaults inside GTM is too late. GTM loads asynchronously after the page; by the time GTM fires the "consent default-deny" tag, GA4 has already sent its first pageview pings.
The correct pattern:
- Set GCM v2 defaults inline in
<head>before the GTM snippet. - Use GTM only for the granted-state tags.
A theme app extension (like Consentico's) sets the defaults inline before any other script — including GTM — so this works correctly without you having to think about it.
See also: Consent Mode v2, GA4.