Blog
Possible but rarely advisable. Three scenarios where it makes sense.
The standard architecture is: page-side gtag, client GTM container, forward to sGTM. You can skip client GTM in three scenarios.
Events from server-side systems have no browser involved. Send directly to your sGTM webhook endpoint. Example: a Stripe webhook posting purchase events.
If your app already constructs the right requests, client GTM is mostly a passthrough. Configure the gtag transport_url to point at your sGTM custom path.
For minimum JavaScript pages, skipping client GTM saves the gtm.js download (about 80KB compressed). Hand-roll a fetch call directly to sGTM. Trade-off: tag changes require code deploys.
A hybrid approach: client GTM where the GTM model adds value, direct sGTM webhooks for backend events. The migration post covers how they relate.