Logo of TAGGRS, written in blue and with a small favicon
HomeServer-side TrackingMeta CAPI Gateway
EnglishDeutsch
SERVER-SIDE TRACKING
Get started
Get started with TAGGRSSet up Google Tag ManagerConfigure the subdomainAdd the GTM Data LayerConfigure GTM transformationsTest the setupDebuggingAnalytics dashboard
Migrate from Google CloudMigrate from hosting
Shortcuts
GTM Copy PasteReady-made templates
GA4 Server-side Tracking
Setup in GTMCreate GA4 Event TagsGA4 tag setup in server containerE-commerce events in GTM
Google Ads Server-side Tracking
Install Conversion LinkerSet up Conversion TrackingConfigure Enhanced ConversionsDeploy Remarketing TagsInstall Offline Conversions
Facebook Server-side Tracking
Set Meta PixelImprove your EMQ ScoreInstall Meta CAPIMeta Events Deduplication
LinkedIn Server-side Tracking
Install LinkedIn Insight TagSet up LinkedIn CAPILinkedIn Events Deduplication
TikTok Server-side Tracking
Set up TikTok PixelInstall TikTok Events APITikTok Events Deduplication
Pinterest Server-side Tracking
Set up Pinterest TagConfigure Pinterest Conversions APIPinterest Events Deduplication
Snapchat Server-side Tracking
Set up Snap PixelSnapchat Conversions APISnapchat Events Deduplication
TAGGRS Tracking Tags and Tools
Tracking TagsGoogle Service Account integrationProfit TrackingData Enricher ToolWebhooks TesterEnhanced Tracking ScriptMulti Domain ToolClick ID RecoveryConsent Approval Graph
Configurations
Billy Grace Server-side TrackingLeadPages Server-side TrackingPiwik PRO Server-side TrackingCDN Server-side TrackingShopify Server-side TrackingActiveCampaign Server-side TrackingKlaviyo Server-side TrackingSpectacle Server-side TrackingEulerian Server-side Tracking
Server-side Tracking for e-commerce
Shopify Data LayerShopware Data LayerMagento Data LayerWooCommerce Data LayerPrestashop Data LayerLightspeed Data Layer
Consent Management server-side
Activate Consent ModeConfigure AxeptioConfigure Cookie Confirm
META CAPI GATEWAY
ACCOUNT SETTINGS
User roles and accessSSO

Tracking tags

This guide provides a clear, step-by-step process for configuring TAGGRS Tracking tags client-side and then pass the tracked events server-side with TAGGRS. This way, you can activate an accurate first-party data pipeline and measure the tangible impact of server-side tracking to future-proof your marketing efforts.
This guide provides a step-by-step process for configuring the TAGGRS tracking tag client-side. This way, you can activate the Signal Comparison graph where you can debug event signals across the GTM web, and server container.

Prerequisites

  • TAGGRS account
  • Google Analytics 4 (GA4) configured to use the GA4 page_view data correctly
  • Google Tag Manager web and server containers set up

Configure TAGGRS tracking tags - client side

Step 1: Get the tag

Go to your web container in Google Tag Manager. Within your workspace, go to Tags, then click New. Click on Tag configuration, then go to the Tag library and search for TAGGRS tracking tag - client side. Add it to your container.

Step 2: Product ID

Go to your TAGGRS product and open Settings to find your Product ID. Copy it and paste it into the Identifier field of the tag.

Step 3: Set the event name

At Event name, add the All events variable.

Step 4: Set the trigger and save

Choose the trigger that fires on all events, give the tag a name, and click Save.

The tag is now configured and ready to send data to your TAGGRS product.

Configuration of TAGGRS tracking tag - client side

Step 5: Publish changes

Publish the latest version of your GTM container.

What about the server requests?

The server side is measured based on the events that are actually sent to the server container, so you don't need to configure a separate tag for this.

Outcome

Once you open your Server-side Tracking dashboard, you'll see the data appear in the Signal Comparison graph.

Signal comparison graph in the TAGGRS dashboard

Troubleshooting

1. How to further increase the data difference

If you already see a positive difference and want to increase it further:
• Implement the Enhanced Tracking Script. It improves client-side resilience against advanced ad blockers (≈1–2% uplift)
• Enable Cookie Recovery. It restores tracking cookies removed by Safari and iOS. Mind: it requires the Enhanced Tracking Script.
• Use Webhooks for critical events.
It ensures purchases are tracked even if users close payment flows early. Please mind that it is not not suitable for Google Ads (no GCLID support).

2. Negative data difference between client and server

A negative data difference means that fewer events are received server-side than client-side. This is usually caused by configuration issues rather than TAGGRS itself. Below are the 6 most common causes, ordered from most to least frequent, along with practical guidance on how to identify and resolve them.

2.1 Duplicate client-side events

Many websites have evolved over time and often contain old GA or GA4 scripts, direct Google Analytics integrations, plugins that inject tracking code, and a Google tag configured outside GTM. When this happens, client-side data is sent multiple times, while only one stream reaches the server container. If you see more than two “container loaded” blockchain your GTM Preview mode for the web container, extra tracking is active.
‍
How to fix:
1. Remove legacy GA / gtag scripts
2. Ensure GA4 is implemented only via GTM
3. Use one single Google tag as the data source.

2.2 Cookie banner disrupts server-side data flow

Some cookie banner solutions block tracking requests selectively. In certain setups, the client-side tracking tag still fires and the GA4 / Google tag request to the server container is blocked until consent is given. This results in client-side data being collected while Server-side Tracking is suppressed.

Common scenario:
• You browse the site before accepting cookies
• Client-side TAGGRS tracking fires
• Server-side data does not arrive

How to fix:
1. Configure Consent Mode v2 correctly in the web container
2. Ensure that analytics storage consent is aligned for client-side TAGGRS tracking tag and server-side TAGGRS tracking tag.
‍
Mind: disabling automatic cookie blocking may solve the issue but is not compliant with privacy regulations.

2.3 Duplicate Google Tag Manager scripts in the code

In some cases, GTM is loaded multiple times: 1x manually in the code and 1x via a CMS or plugin. This can disrupt event flow and data forwarding to the server container.
‍
How to detect:
Right-click → Inspect → search for GTM-. If you find the same container ID twice, one must be removed.

2.4 GA4 web to server container data flow is blocked

Ad blockers can sometimes block the request from the web container to the server container, even if Server-side Tracking itself is functioning. This usually results in a small but noticeable decrease in the data difference shown in the TAGGRS dashboard. To solve this, implement the Enhanced Tracking Script.

2.5 Additional direct GA4 integrations

If GA4 is implemented outside of GTM (for example via a plugin), some requests may bypass Google Tag Manager entirely. As a result: not all events are forwarded to the server container and Server-side Tracking receives fewer events than expected.
‍
How to check
1. Inspect the page source for gtag( calls
2. Look for GA4 plugins in your CMS
3. Verify that GA4 is routed exclusively through GTM.

3. Events missing in “Additional data per event”

If only page_view appears in the TAGGRS Dashboard, the GTM trigger is likely set to All Pages instead of All Events.
You can fix it by updating the trigger to use Custom Event with regex .*

4. Unrealistically high data difference (>60%)

Most common reasons:
• Consent mode active in web container but not in server container
• Duplicate events added directly in GA4
• Server-side Tracking tag firing without a specific GA4 client
• Additional direct GA4 integration bypassing GTM.

Always specify GA4 Client in server-side triggers.

5. "Data is being collected" message persists

Possible causes are:
• Fewer than 10 events recorded (minimum threshold)
• Data processing delay (up to 30 minutes)
• Incorrect trigger configuration.

Use GTM Preview mode to verify that both tracking tags fire correctly.

FAQs

What Consent State should I use for Tracking Tags in Consent Mode V2?

We use the info for statistics for our TAGGRS Server Side Analytics. So for Consent Mode V2 you can use statistics as Consent State for our tracking tags.

Useful resources

icon of a white thunder used by TAGGRS to visually introduce Server-side Tracking
Start for free with Server-side Tracking
icon of a white upward arrow
White silhouette of a person used as icon for the support call to action
Get expert support
icon of a white upward arrow
Previous
TAGGRS Tags and Tools
Next
Google Service Account integration
DOCUMENTATION V1.4
Copyright © 2026 TAGGRS. All right reserved.
TABLE OF CONTENTS
PrerequisitesConfigure the tags on the client-sideWhat about the server requests?OutcomeTroubleshootingFAQsUseful resources