3 ms·
Google tag manager in my experience is a script executed by the browser. Then it installs itself in the page and performs the inner payload of user script inser
by whalesalad 5y ago
Google tag manager in my experience is a script executed by the browser. Then it installs itself in the page and performs the inner payload of user script insertions. It’s a Trojan horse, really. You can block Google tag manager’s embed scripts. I wasn’t aware of a backend integration but it’s certainly possible.
Regardless, I use a DNS based ad blocker (pihole) and it takes care of all this stuff. I occasionally need to turn it off or whitelist domains (like Google tag manager) for client work, but normally I have it blocked.
- chrisseaton 5y ago> Google tag manager in my experience is a script executed by the browser. Isn't the whole point of this new change that it runs server-side, using a proxy that you install on the website so it uses the same domain? > Regardless, I use a DNS based ad blocker But it's the same domain name isn't it?
- lmkg 5y agoA Server-Side GTM container compliments a client-side container, it does not fully replace it. Some processing happens on the server, but event data must still be sent to the server-side container first. For now, the "standard" deployment of a server-side is that it receives hits directly from the browser, orchestrated by a traditional client-side container. So the client-side script is still there, just less bloated. The server-side container has built-in facilities for serving up the client-side container script. Meaning that domain-name blocking will not prevent this. DNS-based also has some issues: Server-Side Containers run in App Engine, blocking them basically means blocking anything running on GCP.
- pixeldetracking 5y agoand you can host the container: https://developers.google.com/tag-platform/tag-manager/server-side/manual-setup-guide https://developers.google.com/tag-platform/tag-manager/serve...
- x0x0 5y agoCurrent GTM, configured (via the server UI) to inject tracker X: gtm javascript loads, pulls down the config, injects tracker X javascript into the browser new gtm: gtm javascript loads, pulls down config, streams events to google servers to fan out to tracker X as configured So blocking gtm.js off tagmanager.google.com / www.googletagmanager.com / the various other domains still blocks all gtm injected tags. The tl;dr is they're become much closer to segment -- which does the data fanout internally to segment. But they should still be straightforward to block.
- volderette 5y agoThis is not how GTM server side works. There is not a single call to Google domains from the client, when GTM server side is set up to its fullest. The config (gtm.js) will be loaded from my subdomain and not googletagmanager.com. Also gtm.js can be renamed.
- xigoi 5y agoCouldn't you still recognize the script by its content?
- ComodoHacker 5y agoNot with dynamic obfuscation.
- shafyy 5y agoExactly, this is already done for tracking scripts, since it's commong to use proxies to load tracking scripts.
- freedomben 5y agoNo because the script contents can change from site to site. Maintaining an index for every site would get you closer, but individual sites can trivially tweak things to break fingerprinting as often as they want. Even on every request.
- x0x0 5y ago
- seandoe 5y agoYou missed the same domain part. How are you going to block a request when you don't know the url?
- shafyy 5y agoYou check the loaded script itself to see if it matches an expected pattern.
- seandoe 5y agoDoes there need to be a loaded script with a certain fingerprint? What if they are just passing data from the browser to some random endpoint? I'm not sure, just thoughts.
- shafyy 5y agoThere needs to be a script because the tracking still happens client-side and there will be some logic involved. The only way to avoid being blocked by the browser is to track server-side.
- romeoblade 5y agoYou missed the part where they recommend changing the script's name as well, add in changing a few variable/function names in the script and even matching the hash of the script itself would be useless. On top of them recommending using a sub domain with an A/AAAA record so its first party.
- Ajedi32 5y agoWorst-case you parse the script and block it if the AST is too similar. There are a million ways to detect and block this sort of thing when you control the client. Yes, it's harder than just blackholing a whole domain, but it's hardly impossible.
- pixeldetracking 5y agoyes, french article is updated, but this english translation is quite old here it is: https://www.simoahava.com/analytics/custom-gtm-loader-server-side-tagging/ https://www.simoahava.com/analytics/custom-gtm-loader-server...
- HWR_14 5y agoThe point is that DNS ad blocking is being worked around with this new system, because it looks like part of the site you're on. Also, that google is encouraging modifying the JS to prevent automated tools from blocking the javascript.