Skip to content
DOCUMENTATION

Guides & how-tos.

Everything you need to know about server-side tracking. From basics to advanced configuration.

ADD-ONS

Advanced extensions for optimizing server-side tracking — anonymization, bot detection, Click ID restoration, GEO enrichment, and more.

Ad Blocker Info — Ad-blocker detection

Adds a header indicating whether a visitor uses an ad-blocker. Useful for reporting and A/B testing.

Read guide 10 min

Anonymizer — Granular GDPR anonymization

30+ settings for GDPR-compliant anonymization: IP, Client ID, User ID, Session ID, Referrer, User Agent, campaign parameters, and more.

Read guide 10 min

Bot Detection — Detecting and blocking bots

Raise data quality by 15-20% by filtering bot traffic. Detection based on User Agent, IP reputation, and behavioral patterns.

Read guide 10 min

Click ID Restorer — Server-side Click ID restoration

Preserve campaign attribution even through iOS tracking prevention. Automatic restoration of Click IDs (gclid, fbclid, ttclid) server-side.

Read guide 10 min

Cookie Keeper — Cookie backup to localStorage

Eliminate tracking data loss due to ITP/ETP in Safari and Firefox. Automatic cookie backup to localStorage with restore.

Read guide 10 min

Custom Loader — Anti-adblock GTM loader

Load the gtm.js script from your own domain, raise the cookie match rate by 30%+, and eliminate ad-blocker blocking.

Read guide 10 min

File Proxy — Proxy external files through your domain

Serve external files (fonts, scripts) through your first-party domain to bypass blocking.

Read guide 10 min

GEO Headers — MaxMind IP enrichment

Automatically enrich requests with geographic data: Country, Region, City from the MaxMind GeoIP2 database.

Read guide 10 min

Multi Domains — Sharing an sGTM container across domains

Use one sGTM container for multiple domains. Ideal for multibrand stores and holding structures.

Read guide 10 min

Open Container for Bots — Let crawlers index GTM

Allow search bots (Googlebot, Bingbot) access to gtm.js for indexing the GTM container.

Read guide 10 min

POAS Data Feed — Profit-on-Ad-Spend bidding

Send profit instead of revenue to Meta CAPI, Google Ads, TikTok, and Sklik. Bidding on profit, lookup from a CSV / Heureka feed / …

Read guide 10 min

Preview Header — GTM Server-side Preview mode

Adds an X-Gtm-Server-Preview header for debugging the server-side GTM container in Preview mode.

Read guide 10 min

UA Info — User Agent parsing

Adds headers with parsed User Agent data: Browser, OS, Device Type, Brand for easier segmentation.

Read guide 10 min

User ID — Cross-device user identification

Adds a User ID header for cross-device tracking and linking web/app users.

Read guide 10 min

ADVANCED SETUP

DNS, anti-adblock, consent mode, migration, and other advanced topics.

DATANOSTRO ACADEMY

Tutorials — server-side tracking, sGTM, Consent Mode v2, GDPR. From the basics to advanced scenarios for CZ/SK stores and marketers.

Agency: how to manage 10+ clients in DataNostro

A multi-tenant workflow for agencies — one account, multiple clients, billing, white-label, sub-users. What saves you hours a month.

Read guide 10 min

Attribution: first-touch vs last-touch — what you see in DataNostro

Why GA4 shows you different numbers than Meta, how DataNostro models attribution, and what to do when reports diverge.

Read guide 10 min

Consent Mode v2 — in practice, without the legalese

What the EU actually wants from you, how to set it up in sGTM, and what happens when a user clicks "Reject all".

Read guide 10 min

GDPR tracking checklist (reviewed by a lawyer)

What you must have written in your privacy policy, how to set up a DPA with DataNostro, where to have a CMP, and what …

Read guide 10 min

How to find your GA4 Measurement ID and API secret

Server-side measurement into GA4 needs two values: the Measurement ID and an API secret. Where to find and create them in GA4 — step …

Read guide 5 min

Meta CAPI without duplicate conversions — event_id and deduplication

When you send a purchase event from both the Pixel and CAPI, Meta has to match them. How to do it with event_id and …

Read guide 10 min

Migrating from Stape to DataNostro step by step

What needs reconnecting, how to verify nothing's missing, and how to do the cutover without lost conversions. A realistic 3-5 day plan.

Read guide 10 min

Server-side tracking 101 — what it is and why you need it

An explanation of the difference between client-side and server-side tracking. Why ITP, ad-blockers, and iCloud Private Relay eat 25-40% of your conversions — and …

Read guide 10 min

What are UTM parameters and how to use them correctly

UTM parameters are tags in a URL that let analytics know where a visit came from. What each one means and how to use …

Read guide 5 min

What are fbp and fbc: the cookies Meta attribution rests on

fbp and fbc are two cookies Meta uses to match conversions to users and ads. What each means, where they come from and why …

Read guide 6 min

What are modeled conversions

A modeled conversion is a statistical estimate of conversions that can't be measured directly — typically because consent was declined. How it arises, where …

Read guide 6 min

What is GCLID and click IDs (and why they matter)

GCLID, fbclid and other click IDs are ad-click identifiers. They tie a conversion to a specific ad and enable offline conversions. How they work …

Read guide 6 min

What is a Conversions API and which platforms have one

A Conversions API is the general idea of sending conversions to an ad platform directly from the server. How it differs from the pixel, …

Read guide 6 min

What is a first-party domain for server-side GTM (and why it matters)

The server-side GTM container runs on your own (sub)domain, not a third party's. What that means, why it makes cookies last longer, and how …

Read guide 5 min

What is an attribution window

An attribution window is the time within which a conversion still gets credited to an ad click or view. Why it matters and why …

Read guide 5 min

What is client_id and user_id in GA4

client_id and user_id are two identifiers GA4 uses to know whom events belong to. How they differ, why they're crucial for server-side and when …

Read guide 6 min

What is conversion rate and how to calculate it correctly

Conversion rate is the share of visitors who took a desired action. It sounds simple but is easily miscalculated — and patchy measurement skews …

Read guide 5 min

What is data retention in GA4

GA4 keeps detailed data only for a limited time (2 or 14 months). What that means for your analyses, what it applies to and …

Read guide 5 min

What is hashing and why personal data is hashed before sending

Before an email or phone goes to an ad platform, it's hashed. What hashing is, why it enables matching without revealing data, and what …

Read guide 6 min

What is the Measurement Protocol (GA4)

The Measurement Protocol is the interface server-side GTM uses to send events to Google Analytics 4 directly from the server. How it works, what …

Read guide 6 min

iOS ITP + iCloud Private Relay — what you actually lose and how to get it back

iOS 17 + Private Relay anonymizes 30-40% of your traffic. When it can be recovered with server-side tracking and when it can't.

Read guide 10 min

sGTM vs. GTM — when client-side is enough and when it isn't

Google Tag Manager in the browser (web GTM) versus server-side Google Tag Manager (sGTM). When GTM is enough, when you need sGTM, and what …

Read guide 10 min

GETTING STARTED

Everything you need to know about server-side tracking. From the basics to your first setup.

INSTALL BY CMS

Step-by-step guides for WordPress, Shopify, and PrestaShop — from the dataLayer to the DNS cutover.

PLATFORM CONNECTORS

Configuration guides for every platform connector — where to get the credentials, what to fill in where, and how to test it.

Awin Server-to-Server setup

Server-to-server conversion tracking for the Awin affiliate network.

Read guide 10 min

DV360 / Campaign Manager 360 setup

Floodlight Conversion Upload for DV360 + CM360.

Read guide 10 min

GA4 — Measurement Protocol setup

Connecting GA4 via the Measurement Protocol — Measurement ID + API secret.

Read guide 10 min

Google Ads — Conversion Tracking setup

Server-side conversion upload to Google Ads via Customer ID + conversion action.

Read guide 10 min

HubSpot CRM setup

Upsert contacts in HubSpot on a conversion event.

Read guide 10 min

Klaviyo — Events API setup

Forwarding e-commerce events to Klaviyo profiles via the Events API.

Read guide 10 min

LinkedIn Conversions API setup

Server-side push to the LinkedIn Insight Tag via CAPI.

Read guide 10 min

Meta CAPI (Facebook Conversions API) setup

Server-side push to Meta Pixel + CAPI with deduplication via event_id.

Read guide 10 min

Microsoft Ads (Bing) UET setup

Server-side UET tag for Bing Ads.

Read guide 10 min

Pinterest Conversions API setup

Server-side push to Pinterest Ads via CAPI.

Read guide 10 min

Pipedrive setup

Creating a Lead in Pipedrive on a conversion.

Read guide 10 min

Reddit Conversions API setup

Server-side push of conversions to Reddit Ads.

Read guide 10 min

Salesforce Conversion Tracking setup

Creates a Lead or Opportunity in Salesforce on a conversion event.

Read guide 10 min

Sklik / Seznam SEM setup

Conversions to Sklik via the Seznam SEM ID — no API token, just an ID.

Read guide 10 min

Snapchat Conversions API setup

Server-side push to Snapchat Ads.

Read guide 10 min

TikTok Events API setup

Server-side propagation of events to TikTok via the Events API.

Read guide 10 min

Zoho CRM setup

Creates a Lead in Zoho CRM. A region-specific endpoint.

Read guide 10 min

PLATFORM SETUP

Guides for connecting sGTM with analytics and advertising platforms.

TROUBLESHOOTING

FAQ, debugging, and troubleshooting.

Ads show fewer conversions than your store: where the data goes

Google Ads or Meta report significantly fewer conversions than you have orders. Some data is lost along the way. Where it happens and how …

Read guide 6 min

Consent Mode blocking all measurement: telling it apart from a bug

After deploying consent, conversions stopped coming. Sometimes that's correct (the user declined), sometimes it's a setup bug. How to tell the difference and what …

Read guide 6 min

Conversion value is in the wrong currency

Ad revenue matches in count but not in value — because currency is missing or wrong. A common problem for multilingual, multi-currency stores. How …

Read guide 5 min

Conversion value is zero or missing: where the problem is

Conversions are measured, but with no value — or zero. Ads then can't optimize for revenue. The cause is almost always in the data …

Read guide 6 min

Conversions arriving delayed: is it a bug?

Conversions show up in ads or GA4 hours later. Usually it's not a measurement bug but data processing and the attribution window. When the …

Read guide 5 min

Conversions counted twice in Google Ads

Google Ads shows more conversions than actually happened. The cause is usually double measurement (gtag + server-side without deduplication) or the conversion-counting setting. How …

Read guide 5 min

Cookies expire too soon: returning customers counted as new

Returning customers are counted as new and attribution falls apart after a few days. The cause is Safari ITP capping client-side cookies. How to …

Read guide 6 min

Data split across multiple GA4 properties

Measurement is scattered across multiple GA4 properties and none has the full picture. Why it happens, why it hurts and how to unify data …

Read guide 5 min

Debugging and troubleshooting

How to diagnose and fix server-side tracking problems — Preview Mode, logs, common errors.

Read guide 10 min

Duplicate conversions: causes and fix

GA4, Meta or Google Ads show roughly twice as many conversions as orders in your store. The cause is usually missing deduplication between the …

Read guide 6 min

Duplicate transaction_id: one purchase counted multiple times

The same order shows up in measurement more than once because the purchase event fires repeatedly with the same transaction_id. Why it happens and …

Read guide 5 min

Enhanced Conversions not received: where the problem is

Google Ads reports it isn't receiving Enhanced Conversions or has a low match. The cause is usually missing or badly hashed data. What to …

Read guide 5 min

Frequently asked questions (FAQ)

Answers to the most common questions about server-side tracking, pricing, setup, and support.

Read guide 10 min

GA4 Realtime shows fewer server-side than client-side events

Eight reasons why server-side shows less data than client-side — from a missing "Send to server container" on the primary GA4 Configuration tag (a …

Read guide 10 min

GA4 not showing server-side conversions: where to look

You deployed server-side measurement but conversions don't appear in GA4. How to isolate the fault — from GTM preview mode through DebugView to the …

Read guide 6 min

GA4 report data doesn't match DebugView or realtime

You see an event in DebugView and realtime, but it's missing from standard reports or shows different numbers. Usually it's not a measurement bug …

Read guide 6 min

GA4 reports your own domain as the source (self-referral)

GA4 shows your own domain or payment gateway as the visit source. That breaks the session and skews attribution. The cause is usually unconfigured …

Read guide 5 min

GA4 shows (not set) or (direct) instead of the source

Visits show in GA4 as (not set) or (direct)/(none) even though they came from a campaign. The cause is usually missing UTMs, a lost …

Read guide 5 min

GTM preview mode won't connect

Google Tag Manager's preview mode won't connect or doesn't see your site. The cause is usually third-party cookies, an ad-blocker or consent. What to …

Read guide 5 min

Low Event Match Quality in Meta: how to raise it

Meta reports a low Event Match Quality and you suspect you're losing accuracy. The cause is missing identifiers in user_data. What to send to …

Read guide 6 min

Meta Pixel not firing: where to look

The Meta Pixel isn't firing on your site, or Events Manager doesn't see it. The cause is usually consent, an ad-blocker or deployment. How …

Read guide 5 min

Sklik conversions not tracking: where to look

Sklik conversions arrive wrong or not at all. Because Sklik has no classic CAPI, conversions go via a server-to-server endpoint — and errors tend …

Read guide 5 min

Web GTM not sending data to the server-side container

The server-side container is running but receives no data from the site. The link between web GTM and the server container is configured via …

Read guide 6 min

MIGRATION

Step-by-step guides for switching to DataNostro from another sGTM host.

FOR DEVELOPERS