Resources
Take a look into our knowledge base for any additional information.
In this article we will guide you how to create a server side container on SprTags.
ARTICLELearn about basic tools and commands to be able to use our add-ons
ARTICLEEnhancing Your Data Accuracy and Security
ARTICLEHow to set up and utilize custom event tracking in Google Tag Manager
ARTICLEWhat are the main benefits of server side tagging
ARTICLEProtect your users data with better GDPR
ARTICLEUnderstanding the changes in web privacy for online tracking
SGTMA misnamed API and a parsing trap. Here is the working pattern for reading JSON bodies in Custom Templates.
Generating the product feed from your warehouse is one query. Keeping it in sync is the longer story.
Workspace permissions, container permissions, and the runtime auth token each control different things.
A reverse pipeline that lets you activate warehouse data as ad audience events with sGTM as the bridge.
Sending product IDs and category data server-side gives Google Ads everything it needs for personalised remarketing.
Matomo accepts a custom tracker URL. Pointing it at sGTM gives you the same first-party benefits Matomo deserves.
fbc and fbp are the cookies that tie your CAPI events back to the Pixel. Misformatting them hurts attribution silently.
GTM's form submission trigger is fragile. Here is the pattern that survives JavaScript-heavy frameworks and accessible forms.
Buried under "Advanced settings" is the toggle that determines whether your server enforces consent or trusts the browser to do it.
Custom paths help against ad blockers but cost a small amount of compatibility. Here is the trade-off in concrete terms.
Shopify webhooks fire reliably even when the customer closes the tab. Routing them through sGTM gives you bulletproof purchase tracking.
IP-based exclusions in GA4 work when they work, and silently miss when they do not. Server-side filtering is more reliable.
One event_id, applied consistently across every destination, scales to as many platforms as you add.
Both move data server-side. They solve different problems and one of them is genuinely better for most teams.
Klaviyo emits webhook events on every email open, click, and signup. Routing them through sGTM keeps the full picture in one warehouse.
Most Power-Ups solve patterns you can implement in a Custom Template or rely on built-in SprTags features.
Click IDs, UTM parameters, and gclid all need to survive the hop from page to tagging server. Here is how each one travels.
Workspace publishes are not zero-downtime. The failure mode is rare but worth scheduling around.
Six checks that catch the issues that always surface in production, run them in 15 minutes.
Three things to check the week before, and one thing to do on the day if events start dropping.
Configure Stripe to POST to your tagging server, set up a Webhook client, and route the events to GA4 and Meta in minutes.
Two events that look similar, count differently, and confuse new GA4 users every week.
Cookiebot writes consent into a cookie that your tagging server can parse without a JavaScript dependency.
Each step has a verification check. If you skip any, the next one will not work, and the error message will not tell you which.
A side-by-side at three traffic tiers, with the hidden costs that the App Engine calculator does not surface.
Sometimes the destination wants exactly what came in, byte for byte. Here is the pattern that does not mangle anything.
A working container that starts returning 403 has three common causes, each with a fast diagnostic.
The test tool catches malformed events before they reach production. Here is what each warning actually means.
Three flags determine whether your cookie survives ITP, third-party blocking, and the next browser update.
Strip the last octet, hash the whole address, or replace it with a coarse geo lookup. Pick one and apply it once.
A focused walk-through that surfaces stale tags, missing dedup, broken triggers, and the tags nobody owns.
Six error messages, what each one actually means, and the exact header configuration that fixes them.
The default /g/collect path is well-known to ad blockers. A custom path takes 30 seconds and recovers a meaningful slice of events.
The crypto module is locked down. Here is what works, what does not, and the pattern for hashing user_data fields in bulk.
Thresholding hides demographic and interest data when sample sizes are small. Sending hashed user_data reduces it materially.
The user_data object is where Meta, TikTok, and others expect matching keys. Six common shapes and how to extract them.
Most teams use the GA4 client and one or two others. The remaining ones cover patterns that are easy to miss.
The cookie that JavaScript cannot read is the cookie that ad blockers cannot delete. Trade-offs and patterns for getting it right.
Five causes, in order of frequency, plus the diagnostic question that narrows it down in under a minute.
Both work. One forces you to redo DNS when the upstream IP changes. Pick the one that survives.
Order matters. Migrate the read side first, then the write side, then turn off the duplicates.
Match rates on LinkedIn live and die by the email key. The trick is recognising when a personal email is sitting in a business form.
A handful of patterns in the request stream account for most bot noise in your reports, and they are easy to filter at the container.
A request leaves the browser, lands in your container, runs through clients and tags, and exits to N destinations. Here is the full path.
A single shared event_id between browser and server prevents double-counting in Meta, TikTok, and LinkedIn.
The native export is good. The sGTM-driven export is better, especially for high-traffic sites and custom dimensions.
Six consent signals, what each one controls, and where they need to land in your sGTM payloads.
Latency is mostly a vanity metric. Data residency and reseller billing are the choices that actually matter.
TikTok has stricter requirements than Meta and quieter error messages. Six fixes that move the needle.
SHA-256 is the easy part. The normalisation that has to happen first is where match rates are made or broken.
The default GA4 client in sGTM has six settings that matter, and most teams configure exactly two of them.
Why your preview pane shows nothing, what the header actually does, and the three ways it gets lost.
A custom subdomain in front of your tagging server is the single biggest configuration win, and DNS is the only part that takes any real time.