{"id":10135,"date":"2026-09-13T12:37:00","date_gmt":"2026-09-13T10:37:00","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/blog\/?p=10135"},"modified":"2026-09-09T13:23:41","modified_gmt":"2026-09-09T11:23:41","slug":"tutorial-e-commerce-analytics-von-client-side-auf-server-side-gtm-migrieren","status":"publish","type":"post","link":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/tutorial-e-commerce-analytics-von-client-side-auf-server-side-gtm-migrieren\/","title":{"rendered":"Tutorial: E-Commerce-Analytics von Client-Side auf Server-Side GTM migrieren"},"content":{"rendered":"<p>Jeder Shop mit clientseitigem Tracking meldet weniger K\u00e4ufe, als er abwickelt. Diese L\u00fccke ist kein aufzusp\u00fcrender Fehler: Anfragen an bekannte Analytics-Hostnamen stehen auf Filterlisten, der Tracking-Schutz verk\u00fcrzt die Lebensdauer des identifizierenden Cookies, und wer den Tab schlie\u00dft, bevor die Best\u00e4tigungsseite fertig gerendert ist, sendet das Event gar nicht erst. Ein serverseitiger Container \u00e4ndert, wohin die Daten laufen, und deckt damit einen Teil davon ab \u2013 das Kauf-Event aus dem Browser zu holen deckt den Rest ab.<\/p>\n<p>Die folgende Anleitung behandelt das als Migration und nicht als Neubau: Das bestehende clientseitige Setup bleibt durchgehend aktiv, beide laufen lange genug parallel, um verglichen zu werden, und umgeschaltet wird erst, wenn die Zahlen es rechtfertigen.<\/p>\n<figure class=\"lw-diagram\">\n<img decoding=\"async\" src=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/diagrams\/ssgtm-migration-de.png\" width=\"1120\" height=\"580\" loading=\"lazy\" alt=\"Drei Zustellwege gegen einen Blocker: der clientseitige Hit wird gestoppt, bevor er das Ger\u00e4t verl\u00e4sst, der \u00fcber eine eigene Subdomain zum Server-Container geleitete Hit kommt durch, und der aus dem Shop-Backend gesendete Kauf trifft die Barriere gar nicht\"><figcaption>Der Umzug des Containers macht die Daten steuerbar; der Umzug des Kaufs weg vom Browser macht sie vollst&auml;ndig.<\/figcaption><\/figure>\n<h2>Schritt 1: Beides laufen lassen, sp\u00e4ter umschalten<\/h2>\n<p>Die sicherste Reihenfolge sendet Daten an den Server-Container, w\u00e4hrend das clientseitige Setup weiter in dieselbe oder eine parallele Property meldet. Nichts wird gel\u00f6scht, keine Tags werden pausiert, und der Vergleich l\u00e4uft auf echtem Traffic statt im Vorschaumodus.<\/p>\n<p>Eine zweite GA4-Property als Migrationsziel h\u00e4lt die Produktionszahlen w\u00e4hrend der \u00dcberlappung sauber \u2013 ein doppelter Datenbestand in der Live-Property ist hinterher schwerer zu entwirren, als eine tempor\u00e4re zweite Property wegzuwerfen ist. Zwei bis vier Wochen \u00dcberlappung decken Wochentags- und Wochenendmuster sowie mindestens einen vollst\u00e4ndigen Kaufzyklus ab.<\/p>\n<h2>Schritt 2: Den Tagging-Server bereitstellen<\/h2>\n<p>In der GTM-Oberfl\u00e4che entsteht ein Server-Container als eigener Containertyp, und seine Einstellungen bieten die automatische Bereitstellung in Google Cloud Run an. Der automatische Weg ist bequem und erzeugt ein funktionierendes Deployment; eine manuelle Bereitstellung desselben \u00f6ffentlichen Images gibt mehr Kontrolle \u00fcber Region und Skalierung:<\/p>\n<pre class=\"wp-block-kevinbatdorf-code-block-pro\"><code>gcloud run deploy sgtm \\\n  --image=gcr.io\/cloud-tagging-10302018\/gtm-cloud-image:stable \\\n  --region=europe-central2 \\\n  --platform=managed \\\n  --allow-unauthenticated \\\n  --set-env-vars=CONTAINER_CONFIG='&lt;Config-String aus den Containereinstellungen&gt;'<\/code><\/pre>\n<p>Die voreingestellten Werte sind auf Tests und nicht auf Produktionsvolumen ausgelegt; die Instanz- und Speicher-Flags sind der Teil, den es bei echtem Volumen erneut anzusehen lohnt. Jede Container-Laufzeitumgebung funktioniert gleicherma\u00dfen \u2013 Cloud Run ist der dokumentierte Standard, keine Voraussetzung.<\/p>\n<p>Nicht optional ist der Hostname. Ein Tagging-Server, der nur unter seiner generierten Cloud-Adresse erreichbar ist, ist ein Drittanbieter-Host wie jeder andere; der Vorteil des First-Party-Kontexts entsteht erst, wenn er auf einer Subdomain der eigenen Shop-Domain antwortet, etwa <code>sgtm.shop.example.com<\/code>, mit passendem DNS-Eintrag und zugeordnetem Zertifikat.<\/p>\n<h2>Schritt 3: Der GA4-Client<\/h2>\n<p>Ein Server-Container tut nichts, solange kein Client die eingehenden Anfragen annimmt. Der eingebaute GA4-Client lauscht auf den Pfaden, die ein Google-Tag verwendet, zerlegt den eingehenden Hit und macht daraus ein Event, das serverseitige Tags lesen k\u00f6nnen \u2013 ohne ihn nimmt der Container Anfragen entgegen und verwirft sie.<\/p>\n<p>Zwei Einstellungen verdienen eine Entscheidung statt einer Voreinstellung. Der Client kann die Ausgabe des identifizierenden Cookies \u00fcbernehmen, statt sie JavaScript zu \u00fcberlassen \u2013 das ist es, was das Cookie gegen\u00fcber Browser-Beschr\u00e4nkungen dauerhaft macht. Ihn ohne die zugeh\u00f6rige Migrationsoption einzuschalten setzt die Identit\u00e4t jedes wiederkehrenden Besuchers zur\u00fcck; das geh\u00f6rt daher in eine eigene \u00c4nderung mit eigener Pr\u00fcfung. Die zweite betrifft die Pfade: Die Standardpfade unver\u00e4ndert zu lassen ist das, was dem Web-Container erlaubt, Hits ohne eigene Endpunkt-Konfiguration zu senden.<\/p>\n<h2>Schritt 4: Den Web-Container auf den Server richten<\/h2>\n<p>Auf Browserseite leitet ein einziges Feld den Verkehr um. In einem Google-Tag im Web-Container wird die Server-Container-URL als Konfigurationsparameter gesetzt; in einer reinen gtag.js-Implementierung ist das Gegenst\u00fcck <code>transport_url<\/code>:<\/p>\n<pre class=\"wp-block-kevinbatdorf-code-block-pro\"><code>\/\/ Konfigurationsparameter im Google-Tag (Web-Container)\nserver_container_url: 'https:\/\/sgtm.shop.example.com'\n\n\/\/ Entsprechung in einer reinen gtag.js-Implementierung\ngtag('config', 'G-XXXXXXXXXX', {\n  server_container_url: 'https:\/\/sgtm.shop.example.com'\n});<\/code><\/pre>\n<p>Ab diesem Punkt adressiert der Browser die eigene Subdomain des Shops, und der Server-Container leitet an GA4 weiter. Der Server-Container hat einen eigenen Vorschaumodus, der die eingehende Anfrage zeigt, den Client, der sie angenommen hat, und jedes daraus ausgel\u00f6ste Tag \u2013 die Stelle, an der ein falsch geleiteter Hit sofort sichtbar wird statt einen Tag sp\u00e4ter im Bericht.<\/p>\n<h2>Schritt 5: Den Kauf aus dem Browser holen<\/h2>\n<p>Die Leitung \u00fcber eine eigene Subdomain verringert das Blockieren; sie beendet es nicht, und gegen den Besucher, der die Best\u00e4tigungsseite nie erreicht, hilft sie gar nicht. Erst ein Event, das das Backend nach der Bestellbest\u00e4tigung im Shopsystem sendet, ist vollst\u00e4ndig unabh\u00e4ngig vom Browser.<\/p>\n<p>Diese Anfrage braucht die Kennungen, die im Browser liegen. Die Client-ID aus dem Analytics-Cookie muss im Checkout ausgelesen und zusammen mit der Sitzungs-ID am Auftrag gespeichert werden, sonst kommt der Kauf ohne zugeh\u00f6rige Sitzung an und landet im Bericht als Traffic ohne Quelle:<\/p>\n<pre class=\"wp-block-kevinbatdorf-code-block-pro\"><code>POST https:\/\/sgtm.shop.example.com\/g\/collect\n\nv=2\n&amp;tid=G-XXXXXXXXXX\n&amp;cid=1234567890.1690000000     \/\/ im Checkout aus dem Analytics-Cookie gelesen\n&amp;sid=1789000000                \/\/ die Sitzungs-ID desselben Besuchs\n&amp;en=purchase\n&amp;ep.transaction_id=ORD-10432\n&amp;epn.value=149.00\n&amp;ep.currency=PLN<\/code><\/pre>\n<p>Wird derselbe Kauf sowohl aus dem Browser als auch aus dem Backend gesendet, muss die Transaktionskennung \u00fcbereinstimmen, damit sich das Duplikat nachgelagert erkennen und entfernen l\u00e4sst \u2013 die Alternative ist ein Shop, dessen Umsatzzahlen genau um die Events aufgebl\u00e4ht sind, die die Migration zur\u00fcckholen sollte.<\/p>\n<h2>Schritt 6: Vergleichen, bevor etwas abgeschaltet wird<\/h2>\n<p>Der Vergleich, der \u00fcber die Umschaltung entscheidet, lautet nicht clientseitig gegen serverseitig, sondern beide jeweils gegen die Bestellanzahl des Shops. Ein serverseitiges Setup, das mehr K\u00e4ufe meldet als zuvor, ist nur dann eine Verbesserung, wenn die zus\u00e4tzlichen K\u00e4ufe echten Bestellungen entsprechen \u2013 und die Bestelltabelle ist die Referenz, die das kl\u00e4rt.<\/p>\n<p>Typische Befunde w\u00e4hrend der \u00dcberlappung: Die Kaufzahlen steigen um eine Spanne, die stark von Publikum und Ger\u00e4temix abh\u00e4ngt, Sitzungen gewinnen an Dauer, weil das identifizierende Cookie l\u00e4nger \u00fcberlebt, und einige Tags erweisen sich als abh\u00e4ngig von Browser-Variablen, die der Server-Container nicht hat. Diese Tags sind die eigentliche Migrationsarbeit; der Container selbst ist der leichte Teil.<\/p>\n<h2>Innerhalb der Leitplanken bleiben<\/h2>\n<p>Ein serverseitiger Container verlagert die Verarbeitung, nicht die Pflicht. Der Consent-Status muss mit der Anfrage reisen und ausgewertet werden, bevor irgendein Tag ausl\u00f6st, und er muss am Auftrag gespeichert sein, damit auch das Backend-Event ihn pr\u00fcfen kann \u2013 eine vom Server gesendete Anfrage ist nicht befreit, weil der Browser nicht mehr beteiligt ist. Der Container wird au\u00dferdem zu einem System mit laufenden Kosten und einer Verf\u00fcgbarkeit, von der das Reporting nun abh\u00e4ngt, und das von ihm ausgegebene identifizierende Cookie bleibt personenbezogenes Datum nach denselben Regeln wie zuvor, nur von anderer Stelle gesetzt.<\/p>\n<div class=\"lw-quellen\">\n<h2>Quellen<\/h2>\n<ul>\n<li><a href=\"https:\/\/developers.google.com\/tag-platform\/tag-manager\/server-side\" target=\"_blank\" rel=\"noopener noreferrer\">Server-side tagging<\/a><\/li>\n<li><a href=\"https:\/\/developers.google.com\/tag-platform\/tag-manager\" target=\"_blank\" rel=\"noopener noreferrer\">Google Tag Manager documentation<\/a><\/li>\n<li><a href=\"https:\/\/developers.google.com\/analytics\/devguides\/collection\/ga4\/ecommerce\" target=\"_blank\" rel=\"noopener noreferrer\">GA4 ecommerce events<\/a><\/li>\n<\/ul>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Ein Migrationsweg, der das bestehende clientseitige Setup weiterlaufen l\u00e4sst: Tagging-Server bereitstellen, den GA4-Client zum Annehmen eingehender Anfragen konfigurieren, den Web-Container \u00fcber eine eigene Subdomain leiten und das Kauf-Event vollst\u00e4ndig aus dem Browser holen, bevor irgendetwas abgeschaltet wird.<\/p>\n","protected":false},"author":1,"featured_media":13837,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[115],"tags":[92107,92091,92145,92148,92235],"class_list":["post-10135","post","type-post","status-publish","format-standard","hentry","category-tutorials-de","tag-e-commerce-de","tag-google-analytics-4-de","tag-google-tag-manager-de","tag-server-side-gtm-de","tag-tutorial-de"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Tutorial: E-Commerce-Analytics von Client-Side auf Server-Side GTM migrieren - Lukas Wojcik - Blog<\/title>\n<meta name=\"description\" content=\"Ein Migrationsweg, der das clientseitige Setup weiterlaufen l\u00e4sst: Tagging-Server, GA4-Client, eigene Subdomain, Kauf-Event zuletzt aus dem Browser.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/tutorial-e-commerce-analytics-von-client-side-auf-server-side-gtm-migrieren\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tutorial: E-Commerce-Analytics von Client-Side auf Server-Side GTM migrieren - Lukas Wojcik - Blog\" \/>\n<meta property=\"og:description\" content=\"Ein Migrationsweg, der das clientseitige Setup weiterlaufen l\u00e4sst: Tagging-Server, GA4-Client, eigene Subdomain, Kauf-Event zuletzt aus dem Browser.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/tutorial-e-commerce-analytics-von-client-side-auf-server-side-gtm-migrieren\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-13T10:37:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10135-tutorial-e-commerce-analytics-von-cl-g.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"luky\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"luky\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-analytics-de\\\/tutorials-de\\\/tutorial-e-commerce-analytics-von-client-side-auf-server-side-gtm-migrieren\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-analytics-de\\\/tutorials-de\\\/tutorial-e-commerce-analytics-von-client-side-auf-server-side-gtm-migrieren\\\/\"},\"author\":{\"name\":\"luky\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"headline\":\"Tutorial: E-Commerce-Analytics von Client-Side auf Server-Side GTM migrieren\",\"datePublished\":\"2026-09-13T10:37:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-analytics-de\\\/tutorials-de\\\/tutorial-e-commerce-analytics-von-client-side-auf-server-side-gtm-migrieren\\\/\"},\"wordCount\":980,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-analytics-de\\\/tutorials-de\\\/tutorial-e-commerce-analytics-von-client-side-auf-server-side-gtm-migrieren\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-10135-tutorial-e-commerce-analytics-von-cl-g.png\",\"keywords\":[\"E-Commerce\",\"Google Analytics 4\",\"Google Tag Manager\",\"Server-Side GTM\",\"Tutorial\"],\"articleSection\":[\"Tutorials\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-analytics-de\\\/tutorials-de\\\/tutorial-e-commerce-analytics-von-client-side-auf-server-side-gtm-migrieren\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-analytics-de\\\/tutorials-de\\\/tutorial-e-commerce-analytics-von-client-side-auf-server-side-gtm-migrieren\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-analytics-de\\\/tutorials-de\\\/tutorial-e-commerce-analytics-von-client-side-auf-server-side-gtm-migrieren\\\/\",\"name\":\"Tutorial: E-Commerce-Analytics von Client-Side auf Server-Side GTM migrieren - Lukas Wojcik - Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-analytics-de\\\/tutorials-de\\\/tutorial-e-commerce-analytics-von-client-side-auf-server-side-gtm-migrieren\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-analytics-de\\\/tutorials-de\\\/tutorial-e-commerce-analytics-von-client-side-auf-server-side-gtm-migrieren\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-10135-tutorial-e-commerce-analytics-von-cl-g.png\",\"datePublished\":\"2026-09-13T10:37:00+00:00\",\"description\":\"Ein Migrationsweg, der das clientseitige Setup weiterlaufen l\u00e4sst: Tagging-Server, GA4-Client, eigene Subdomain, Kauf-Event zuletzt aus dem Browser.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-analytics-de\\\/tutorials-de\\\/tutorial-e-commerce-analytics-von-client-side-auf-server-side-gtm-migrieren\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-analytics-de\\\/tutorials-de\\\/tutorial-e-commerce-analytics-von-client-side-auf-server-side-gtm-migrieren\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-analytics-de\\\/tutorials-de\\\/tutorial-e-commerce-analytics-von-client-side-auf-server-side-gtm-migrieren\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-10135-tutorial-e-commerce-analytics-von-cl-g.png\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-10135-tutorial-e-commerce-analytics-von-cl-g.png\",\"width\":1200,\"height\":630,\"caption\":\"Tutorial: E-Commerce-Analytics von Client-Side auf Server-Side GTM migrieren\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-analytics-de\\\/tutorials-de\\\/tutorial-e-commerce-analytics-von-client-side-auf-server-side-gtm-migrieren\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tutorial: E-Commerce-Analytics von Client-Side auf Server-Side GTM migrieren\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\",\"name\":\"Lukas Wojcik - Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\",\"name\":\"luky\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"width\":424,\"height\":636,\"caption\":\"luky\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\"},\"sameAs\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\"],\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/author\\\/luky\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Tutorial: E-Commerce-Analytics von Client-Side auf Server-Side GTM migrieren - Lukas Wojcik - Blog","description":"Ein Migrationsweg, der das clientseitige Setup weiterlaufen l\u00e4sst: Tagging-Server, GA4-Client, eigene Subdomain, Kauf-Event zuletzt aus dem Browser.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/tutorial-e-commerce-analytics-von-client-side-auf-server-side-gtm-migrieren\/","og_locale":"en_US","og_type":"article","og_title":"Tutorial: E-Commerce-Analytics von Client-Side auf Server-Side GTM migrieren - Lukas Wojcik - Blog","og_description":"Ein Migrationsweg, der das clientseitige Setup weiterlaufen l\u00e4sst: Tagging-Server, GA4-Client, eigene Subdomain, Kauf-Event zuletzt aus dem Browser.","og_url":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/tutorial-e-commerce-analytics-von-client-side-auf-server-side-gtm-migrieren\/","og_site_name":"Lukas Wojcik - Blog","article_published_time":"2026-09-13T10:37:00+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10135-tutorial-e-commerce-analytics-von-cl-g.png","type":"image\/png"}],"author":"luky","twitter_card":"summary_large_image","twitter_misc":{"Written by":"luky","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/tutorial-e-commerce-analytics-von-client-side-auf-server-side-gtm-migrieren\/#article","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/tutorial-e-commerce-analytics-von-client-side-auf-server-side-gtm-migrieren\/"},"author":{"name":"luky","@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"headline":"Tutorial: E-Commerce-Analytics von Client-Side auf Server-Side GTM migrieren","datePublished":"2026-09-13T10:37:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/tutorial-e-commerce-analytics-von-client-side-auf-server-side-gtm-migrieren\/"},"wordCount":980,"commentCount":0,"publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/tutorial-e-commerce-analytics-von-client-side-auf-server-side-gtm-migrieren\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10135-tutorial-e-commerce-analytics-von-cl-g.png","keywords":["E-Commerce","Google Analytics 4","Google Tag Manager","Server-Side GTM","Tutorial"],"articleSection":["Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/tutorial-e-commerce-analytics-von-client-side-auf-server-side-gtm-migrieren\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/tutorial-e-commerce-analytics-von-client-side-auf-server-side-gtm-migrieren\/","url":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/tutorial-e-commerce-analytics-von-client-side-auf-server-side-gtm-migrieren\/","name":"Tutorial: E-Commerce-Analytics von Client-Side auf Server-Side GTM migrieren - Lukas Wojcik - Blog","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/tutorial-e-commerce-analytics-von-client-side-auf-server-side-gtm-migrieren\/#primaryimage"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/tutorial-e-commerce-analytics-von-client-side-auf-server-side-gtm-migrieren\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10135-tutorial-e-commerce-analytics-von-cl-g.png","datePublished":"2026-09-13T10:37:00+00:00","description":"Ein Migrationsweg, der das clientseitige Setup weiterlaufen l\u00e4sst: Tagging-Server, GA4-Client, eigene Subdomain, Kauf-Event zuletzt aus dem Browser.","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/tutorial-e-commerce-analytics-von-client-side-auf-server-side-gtm-migrieren\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/tutorial-e-commerce-analytics-von-client-side-auf-server-side-gtm-migrieren\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/tutorial-e-commerce-analytics-von-client-side-auf-server-side-gtm-migrieren\/#primaryimage","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10135-tutorial-e-commerce-analytics-von-cl-g.png","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10135-tutorial-e-commerce-analytics-von-cl-g.png","width":1200,"height":630,"caption":"Tutorial: E-Commerce-Analytics von Client-Side auf Server-Side GTM migrieren"},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/tutorial-e-commerce-analytics-von-client-side-auf-server-side-gtm-migrieren\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Tutorial: E-Commerce-Analytics von Client-Side auf Server-Side GTM migrieren"}]},{"@type":"WebSite","@id":"https:\/\/www.lukaswojcik.com\/blog\/#website","url":"https:\/\/www.lukaswojcik.com\/blog\/","name":"Lukas Wojcik - Blog","description":"","publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.lukaswojcik.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9","name":"luky","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","width":424,"height":636,"caption":"luky"},"logo":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg"},"sameAs":["https:\/\/www.lukaswojcik.com\/blog"],"url":"https:\/\/www.lukaswojcik.com\/blog\/author\/luky\/"}]}},"_links":{"self":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/10135","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/comments?post=10135"}],"version-history":[{"count":4,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/10135\/revisions"}],"predecessor-version":[{"id":17297,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/10135\/revisions\/17297"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media\/13837"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=10135"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/categories?post=10135"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=10135"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}