The skills library is open: 86 files, one email

Server-Side Tracking in Germany: First-Party Event Capture Under the DSGVO

How server-side first-party event capture works, what it changes and does not change about DSGVO consent, and how to set it up to be usable and defensible.

Mert · Founder6 min read

Browser-based tracking is losing on two fronts at once. Safari and Firefox cap third-party cookies and shorten first-party ones set by script. Ad blockers remove the pixel entirely for a material share of B2B visitors, who skew technical. The result is that the analytics and ad platforms of a German B2B company typically see a fraction of what actually happens on the site, and the fraction is not random.

Server-side, first-party event capture is the structural answer. It is also widely misdescribed as a way around consent, which it is not. This article covers what it actually is, what it changes, and what it does not.

What "server-side" and "first-party" mean here

First-party means the data is collected by your domain, stored on infrastructure you control, under your name. The visitor's browser talks to signals.yourcompany.de, not to a third party's script.

Server-side means the event is sent from your server to the downstream tools (analytics, ad platforms, CRM), rather than from the visitor's browser directly. The browser sends one small request to you; you decide what goes where.

Together, this produces a first-party record of every meaningful event, on a domain that blockers do not treat as a tracker, with your server as the single point of distribution. That record is the signal ledger. Everything else reads from it.

What it fixes

Coverage. A first-party endpoint on your own subdomain is not on blocklists, and a cookie set by your server (rather than by JavaScript) is not subject to the script-set cookie caps. Sessions that were previously invisible become visible.

Consistency. Every downstream tool receives the same event with the same definition, because your server sent it. The days of GA4 and the ad platform and the CRM each counting a different number of "leads" end, because there is one source.

Control. You decide, per event and per destination, what is forwarded. Personal data goes to the CRM, which has a processing basis for it. An anonymised or hashed event goes to the ad platform. Nothing goes anywhere the consent state does not permit.

Durability. Ad platform match rates and attribution windows change constantly. The first-party record does not. If a platform changes its rules, you re-send from your ledger. If you switch platforms, your history comes with you.

This is where most vendor material goes wrong, so it is worth being precise.

The DSGVO governs personal data. The TDDDG (the German implementation of the ePrivacy rules, formerly TTDSG) governs storing information on, or reading it from, the user's device. A server-set cookie is still stored on the device. An identifier that allows a person to be recognised across visits is still personal data. Moving the collection point from the browser to your server changes who collects and how reliably. It does not change whether consent is needed.

What server-side capture does change is your ability to honour consent properly:

  • Consent state can be recorded on every event, so a withdrawal propagates to every destination rather than being honoured in one tool and missed in three.
  • Events can be split: the parts that require consent are only forwarded with it; the parts that do not (a genuinely anonymous page-view count with no identifier) can be recorded regardless, which is what keeps your aggregate numbers usable.
  • The processing chain is documented in one place, which is what a data protection audit actually asks for.

Anyone who tells you server-side tracking lets you skip the consent banner is either misinformed or hoping you will not check. The legal basis must still exist. What you gain is a system in which the basis is enforceable, and that is worth more than the banner-free fantasy.

The setup, in order

1. Define the events before writing code. Name them consistently (web.pricing.viewed, form.demo.submitted), state what each answers, and give each an owner. The Tracking Plan Builder is the template. Events added ad hoc after launch are how you end up with four names for the same thing.

2. Stand up the first-party endpoint. A subdomain of your own domain, receiving events over HTTPS, writing to storage you own. It sets the visitor identifier as a server cookie, which your consent tool controls. Keep it minimal: receive, validate against the schema, store, forward.

3. Put consent on the event. Every event carries the consent state at the moment it fired. Destinations are gated on it. Store the consent snapshot, not just a flag, so you can prove later what the state was.

4. Forward server-to-server. GA4 through its measurement protocol, Meta through the Conversions API, Google Ads through offline and enhanced conversions, LinkedIn through its conversions API, your CRM through its own. Each gets only the fields its processing basis allows, hashed where the platform requires it.

5. Resolve accounts, not just sessions. For B2B the unit is the company. Resolve the visitor to an account where you legitimately can (a known contact, a business email on a form, a reverse lookup with a stated basis) and attach the trust level of that resolution to the event. A resolved account is what turns a visit into an outbound trigger.

6. Document the chain. Which events exist, what personal data each contains, where each is forwarded, on what basis, for how long. This document is the one an auditor and a new engineer both need, and it is the one nobody writes.

The German specifics worth knowing

Cookie walls that make consent a condition of access have been repeatedly found non-compliant by German authorities; genuine choice is required. The "reject all" option has to be as easy as "accept all". Pre-ticked boxes are not consent. Hosting your endpoint and storage in the EU removes a class of transfer questions entirely, and for a first-party ledger there is rarely a reason not to.

None of this is legal advice, and a build of this kind should be reviewed with your data protection officer or counsel before it goes live. What server-side capture gives them is a system they can actually review, because the data flows are in one place and written down.

Frequently asked questions

What is server-side tracking?

Server-side tracking sends events from your own server to analytics, advertising and CRM systems, instead of from the visitor's browser to each tool directly. The browser sends one request to a first-party endpoint on your domain; your server records the event and decides what to forward where. It improves coverage, consistency and control, and it creates a first-party record you own.

No. The DSGVO governs personal data and the TDDDG governs storing or reading information on the user's device, and both still apply regardless of whether the collection point is the browser or your server. What server-side capture changes is your ability to honour consent properly, by recording it on every event and gating each destination on it.

What is cookieless tracking and does it work in Germany?

Cookieless tracking generally means measuring without storing identifiers on the device, using aggregate or session-scoped data. It works for anonymous page-level counts, which can be recorded without consent, but anything that recognises a person across visits, cookie or not, is personal data and needs a legal basis. Server-side first-party capture lets you run both: consent-free aggregates and consented identified events, from one endpoint.

What should be set up first?

The event plan, before any code: names, definitions, owners. Then the first-party endpoint with consent recorded on every event. Then server-to-server forwarding to each destination with only the fields it is permitted. Most failed implementations started with the forwarding and never defined the events.

see where you stand

Twelve questions. Then your build order.

The diagnostic returns your operating stage, the three widest gaps in your motion and what to build first. Two minutes, no sales sequence, one human reply.

Keep reading

All articles →