Hello, everyone!
Explore implementing server-side Google Tag Manager using Azure App Service, using Hardal for improved performance, better data accuracy, and enhanced user privacy.
TL:DR
We create a container registry and a container app on Azure. After that, we map the container app to our desired custom domain. You can accomplish this with a single click on *Hardal.
The Plan
Create a server-side GTM and obtain a configuration key
Set up a server-side GTM container registry on Azure.
Create a container app on Azure that runs the server-side GTM registry.
Map a custom domain to the server-side GTM container app.
As always, let’s start with the basics of server-side GTM infrastructure. This diagram is from the official Google documentation. I won’t go into the details of how it works, but it’s essential to understand the framework of what we are doing.
Deployment Details
We need to focus on two important topics when deploying our container:
We need to set the Ingress value to "enabled" to access our Container App with a domain.
We need two container apps: one for the preview server and one for the tagging server. Environment values vary depending on the container type.
Preview Server Environment Variables
CONTAINER_CONFIG=config_string
RUN_AS_PREVIEW_SERVER=true
Tagging Server Environment Variables
CONTAINER_CONFIG=config string
PREVIEW_SERVER_URL=HTTPS preview server url
DNS Mapping
For the final step, we need to configure our domain to point to the container app. By selecting “Managed Certificate,” we need to add two DNS records to our domain.
Type: CNAME
Name: www or {subdomain}
Value: <DNS VALUE THAT AZURE PROVIDES>
Type: TXT
Name: asuid.www or asuid.{subdomain}
Value: <DNS VALUE THAT AZURE PROVIDES>
After a short delay, our container will be accessible via our custom domain!
With everything set up, you’re now ready to leverage server-side GTM on Microsoft Azure with your custom domain. This setup not only enhances your tracking capabilities but also ensures better performance and flexibility. Happy tracking!
Top comments (0)