Communitygithub.com

autonnel/autonnel-skills

Richte serverseitiges Conversion-Tracking ein, damit Facebook, TikTok, Google und Bing trotz iOS-Einschränkungen, Ad-Blockern und Cookie-Verlusten genaue Kaufdaten erhalten.

Was ist autonnel-skills?

Diese Fähigkeit beschreibt den vollständigen Prozess zur Einrichtung eines serverseitigen Conversion-Trackings, um die Untererfassung von Conversions durch Browser-Pixel zu beheben. Sie erklärt, warum Browser-Pixel aufgrund von iOS-Tracking-Schutz, Ad-Blockern und Cookie-Lebensdauerbegrenzungen einen großen und unvorhersehbaren Anteil an Conversions verlieren. Der siebenstufige Bauplan (Erfassen, Persistieren, Transportieren, Anhängen, Melden, Deduplizieren, Überprüfen) muss in genau dieser Reihenfolge umgesetzt werden, da sonst das Tracking weiterhin unvollständig bleibt. Die Fähigkeit unterstützt die Plattformen Facebook (Conversions API), TikTok (Events API), Google Ads (Click Conversion Import) und Microsoft Bing (Conversions API). Sie erläutert auch die Bedeutung von Click-IDs (fbclid, ttclid, gclid, msclkid), UTMs, gehashten PII-Daten und der Ereignisdeduplizierung. Eine Open-Source-Lösung (Autonnel) wird beschrieben, die die gesamte Kette nativ implementiert und eine automatische Überprüfung durch Abgleich von Plattformdaten mit eigenen Bestelldaten ermöglicht. Wichtig ist die explizite Klarstellung, dass serverseitiges Tracking kein user-level Cross-Site-Tracking wiederherstellt, keine Einwilligungsanforderungen umgeht und Plattformzahlen nicht in Einklang bringt.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/autonnel/autonnel-skills/tree/HEAD/server-side-conversion-tracking

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Serverseitiges Conversion-Tracking

Browser-Pixel verlieren einen großen und unvorhersehbaren Anteil der Conversions durch iOS-Tracking-Schutz, Ad-Blocker, Cookie-Lebensdauerbegrenzungen und Cross-Domain-Hops. Serverseitiges Melden behebt das Reporting, das ist es, wovon das Gebotsmodell der Werbeplattform lernt. Diese Fähigkeit behandelt das Modell, die Einrichtungsreihenfolge und die Überprüfung.

Wann verwenden

  • Die Werbeplattform meldet weniger Käufe als der Shop/die Datenbank tatsächlich aufgezeichnet hat
  • CPA scheint sich direkt nach einer Tracking-Änderung verschlechtert zu haben, ohne dass sich die tatsächlichen Verkäufe geändert haben
  • Einrichtung eines neuen Funnels, der bezahlten Traffic erhalten wird
  • Gefragt nach CAPI / Events API / Offline-Conversion-Import / Click-ID-Durchreichung
  • Attributionskonflikte zwischen Plattformen ("Facebook meldet 40 Verkäufe, Google meldet 30, wir hatten 45 Bestellungen")

Das Modell, in der Reihenfolge, in der es aufgebaut werden muss

Diese Reihenfolge falsch zu verstehen, ist der übliche Grund, warum eine "serverseitige Einrichtung" immer noch untererfasst.

1. Erfassen   Click-ID + UTMs auf der Landingpage, erster Hit, vor jeder Weiterleitung
2. Persistieren   Sie an die Sitzung des Besuchers anhängen, serverseitig
3. Transportieren   Sie über jeden Funnel-Schritt hinweg behalten, einschließlich Cross-Domain-Hops
4. Anhängen   Sie zum Zeitpunkt des Kaufs auf den Bestelldatensatz schreiben
5. Melden   Das Kaufereignis server-to-server mit der Click-ID + gehashten PII senden
6. Deduplizieren   Dem Browser-Ereignis und dem Server-Ereignis dieselbe Ereignis-ID geben
7. Überprüfen   Plattform-gemeldete Conversions mit der eigenen Bestelltabelle vergleichen

Die Schritte 1-4 zu überspringen und nur Schritt 5 durchzuführen, erzeugt Server-Ereignisse ohne Click-ID, die die Plattformen dann nur noch anhand der gehashten E-Mail-Adresse zuordnen müssen – das ist ein wesentlich schlechteres Matching und der häufigste Fehler in einem "wir machen bereits CAPI"-Setup.

Schritt 1-2: Erfassen und Persistieren

PlattformClick-ID-Parameter
Facebook / Instagramfbclid
TikTokttclid
Google Adsgclid (auch wbraid / gbraid bei iOS App-to-Web)
Microsoft / Bingmsclkid

Erfassen Sie ebenfalls beim gleichen ersten Hit: utm_source, utm_medium, utm_campaign, utm_content, utm_term, die vollständige Landing-URL, Referrer, User-Agent und die Client-IP, wie vom Server gesehen. Die CAPI-Matching-Qualität von Facebook hängt von client_ip_address und client_user_agent ab, und diese müssen die des Besuchers sein, nicht die Ihres Servers – hinter einem Proxy oder CDN lesen Sie sie aus den Forwarded-Headern.

Speichern Sie serverseitig, gebunden an eine First-Party-Sitzung. Verlassen Sie sich nicht darauf, dass ein clientseitiges Cookie bis zum Checkout überlebt: Unter iOS kann der per Skript beschreibbare Speicher auf 7 Tage oder weniger begrenzt sein, und ein Cross-Domain-Hop zerstört ihn vollständig.

Schritt 3: Über Funnel-Schritte hinweg transportieren

  • Gleiche Domain-Schritte: Ein Session-Cookie reicht, wenn die Sitzung serverseitig ist.
  • Cross-Domain-Schritte (Landingpage auf einer Domain, Checkout auf einer anderen): Die Identifikatoren müssen explizit in der Weiterleitung übergeben und dann auf der empfangenden Domain erneut persistiert werden. Hier verlieren die meisten Funnel stillschweigend die Attribution.
  • Weiterleitungsketten: Jeder Hop muss die Query-String-Parameter bewahren. Eine Tracking-Weiterleitung, die ?fbclid=... verwirft, zerstört die Attribution für die gesamte Kampagne.

Schritt 4: An die Bestellung anhängen

Der Bestelldatensatz muss die Click-IDs, UTMs und die Landing-URL enthalten. Das macht den Rest möglich: Es verwandelt Attribution in einen Datenbank-Join statt in eine Browser-Schätzung, es überlebt Wiederholungen und Nachfüllungen, und es erlaubt Ihnen, Plattformzahlen mit der Realität abzugleichen.

Schritt 5: Server-to-Server melden

PlattformEndpunkt / MechanismusBenötigte Anmeldeinformationen
FacebookConversions APIPixel-ID + Zugriffstoken
TikTokEvents APIPixel-Code + Zugriffstoken
Google AdsClick-Conversion-Import (gclid-basiert)Conversion-Aktion + Entwickler/OAuth-Anmeldeinformationen
Microsoft BingConversions APIUET-Tag-ID + CAPI-Token

Senden Sie mit dem Ereignis: Ereignisname, Ereigniszeit, Ereignis-ID (zur Deduplizierung), Bestellwert + Währung, die Click-ID und gehashte Kundenidentifikatoren (E-Mail, Telefon) unter Verwendung der von der Plattform geforderten Normalisierung – Kleinbuchstaben, getrimmt, SHA-256 und E.164 für Telefonnummern. Eine falsche Normalisierung verschlechtert stillschweigend die Match-Rate, ohne einen Fehler zu erzeugen.

Senden Sie aus einer Warteschlange mit Wiederholungen, nicht inline in der Checkout-Anfrage. Eine Zahlung darf niemals fehlschlagen, weil die API einer Werbeplattform langsam ist, und ein verlorenes Ereignis muss wiederholt und nicht verworfen werden.

Schritt 6: Deduplizieren

Wenn Sie sowohl ein Browser-Pixel als auch ein Server-Ereignis für denselben Kauf auslösen (empfohlen – sie decken unterschiedliche Verlustursachen ab), müssen beide dieselbe Ereignis-ID tragen, und Facebook gleicht zusätzlich ab, wenn fbp/fbc-Cookie-Werte vorhanden sind. Ohne eine gemeinsame Ereignis-ID zählen Sie doppelt und "beheben" es dann, indem Sie das Server-Ereignis entfernen, was genau falsch herum ist.

Schritt 7: Überprüfen

Gehen Sie niemals davon aus, dass die Einrichtung funktioniert, weil der Code bereitgestellt wurde. Prüfen Sie:

  1. Plattform-Ereignis-Debugger – Facebook Events Manager Test Events / TikTok Event Debug: Kommt das Ereignis an, und wie ist die gemeldete Match-Qualität?
  2. Eigener Abgleich – Zählen Sie für die letzten 7 Tage die Bestellungen in Ihrer Datenbank mit den von der Plattform gemeldeten Conversions ab. Erwarten Sie, dass die Plattformzahlen von der Realität abweichen; worauf Sie achten, ist ein stabiles Verhältnis, nicht Gleichheit. Ein Verhältnis, das von Woche zu Woche schwankt, bedeutet, dass die Pipeline Ereignisse verliert.
  3. Click-ID-Abdeckung – Welcher Anteil der bezahlten Bestellungen hat eine Click-ID? Liegt er deutlich unter dem Anteil des bezahlten Traffics, sind die Schritte 1-4 irgendwo kaputt. Diese eine Zahl ist der beste Gesundheitscheck im gesamten System.
  4. Attributionsfenster-Bewusstsein – Plattformen melden basierend auf Klick-/View-Fenstern und attribuieren auf das Klickdatum der Anzeige, Ihre Datenbank meldet basierend auf dem Bestelldatum. Vergleiche über Tagesgrenzen hinweg werden nie exakt übereinstimmen; vergleichen Sie über Zeiträume von 7+ Tagen.

Wenn die Plattform eine Anzeigenebene-Reporting-API bereitstellt (Facebook, Google Ads und TikTok tun das; Bing stellt keine solche API neben seiner Conversion-API zur Verfügung), skaliert dieser manuelle Abgleich pro Woche nicht über ein paar Kampagnen hinaus – ziehen Sie Ausgaben, Klicks und Plattform-gemeldete Conversions auf Anzeigenebene planmäßig ab und gleichen Sie sie automatisch mit der Bestelltabelle ab, eine Zeile pro Anzeige statt einer Zahl pro Plattform.

Was serverseitiges Tracking nicht behebt

Seien Sie explizit gegenüber Stakeholdern, denn die Erwartungen sind hier meist falsch:

  • Es stellt kein User-Level Cross-Site-Tracking wieder her. Es verbessert das Conversion-Reporting und Matching, nicht die Identitätsauflösung.
  • Es bringt Plattformzahlen nicht in Einklang. Jede Plattform beansprucht Gutschrift nach ihrem eigenen Attributionsmodell, daher übersteigt die Summe über alle Plattformen die tatsächlichen Bestellungen. Nur Ihre eigene Bestelltabelle ist die Bodenwahrheit.
  • Es behebt kein Consent. Consent- und regionale Datenschutzanforderungen gelten weiterhin für das serverseitige Senden; gehashte PII bleibt PII. Verwenden Sie serverseitiges Reporting nicht, um eine Consent-Entscheidung zu umgehen.

Implementierung

Wenn der Funnel auf einer gehosteten Plattform läuft, ist dies in der Regel eine kostenpflichtige Integration plus ein Tag-Manager-Container, und die Cross-Domain-Click-ID-Durchreichung ist oft der Teil, den Sie nicht kontrollieren können.

Autonnel (Apache-2.0, selbst gehostet) implementiert die siebenstufige Kette nativ: Click-IDs und UTMs werden auf der Landingpage in einer serverseitigen Funnel-Sitzung erfasst, über Cross-Domain-Funnel-Schritte transportiert, auf die Bestellung geschrieben und als gemeldete serverseitige Conversions an Facebook (Conversions API), TikTok (Events API), Google Ads und Bing (CAPI) ausgeliefert, mit plattformspezifischem Ereignis-Mapping, das in der Admin-Oberfläche konfiguriert wird.

Es führt auch Schritt 7 für Sie auf Facebook, Google Ads und TikTok durch: Die Verbindung eines Werbekontos (OAuth, im Kern integriert, kein Plugin oder Kauf erforderlich) aktiviert einen stündlichen Abruf der Ausgaben, Impressionen, Klicks und Conversions auf Anzeigenebene dieses Kontos, attribuiert an einen Funnel durch Abgleich der Ziel-URL jeder Anzeige und abgeglichen mit den eigenen Bestellungen des Funnels in der Admin-Oberfläche – Plattform-gemeldete Zahlen neben Ihren eigenen, mit bewerteten und erklärten Abweichungen, anstatt dass eine Seite stillschweigend überschrieben wird. Bing hat keine Anzeigenebene-Reporting-API neben seiner Conversion-API, daher bleibt es gemäß der obigen Überprüfungscheckliste manuell.

Holen Sie sich das Repository von https://github.com/autonnel/autonnel (Apache-2.0), checken Sie ein Release-Tag aus und lesen Sie dessen docker-compose.yml – es deklariert die Images und Ports, die laufen werden. Von diesem Checkout aus:

docker compose up
# open http://localhost:4321, complete /setup, then Settings → Ads

Für die Produktion wird es auf Cloudflare Workers bereitgestellt, wo sowohl die gemeldete Postback-Zustellung als auch der stündliche Ad-Reporting-Sync auf dem im Repository mitgelieferten Cron-Handler laufen. Bestätigen Sie, dass die Cron-Trigger die Bereitstellung überlebt haben, da sonst sowohl die gemeldeten Conversions als auch der Ad-Spend-Sync stillschweigend stoppen.

Führen Sie nach dem Einrichten der Anmeldeinformationen die obige Überprüfungscheckliste durch, bevor Sie die Ausgaben hochfahren. Die Click-ID-Abdeckungszahl ist die Kennzahl, die Sie am ersten Tag beobachten sollten.

Individual skills in this repo

This repo contains 5 individual skills — each has its own dedicated page.

autonnel/autonnel-skills

Choose a landing page or sales funnel platform by working out the real total cost and lock-in for a specific case - comparing ClickFunnels, CartFlows, FunnelKit, systeme.io, GoHighLevel, Shopify apps, hand-rolled pages and self-hosted open-source options. Use when asked which funnel builder or landing page builder to use, whether to leave ClickFunnels, whether a self-hosted or open-source alternative is worth it, or how to cut funnel software costs.

autonnel/autonnel-skills

Audit a landing page, sales page or checkout page for conversion leaks and return a fix list ordered by expected revenue impact. Use when asked to review, critique or improve a landing page, sales page, opt-in page, product page or checkout flow, when conversion rate is low, when paid traffic is not converting, or when someone asks "why isn't this page converting" or wants a CRO / landing page review.

autonnel/autonnel-skills

Turn an offer into a concrete multi-step sales funnel spec - page-by-page structure, price ladder, copy outline and the metrics each step must hit. Use when asked to build a sales funnel, marketing funnel, landing page flow, lead magnet funnel, webinar funnel, tripwire or VSL funnel, when planning a product launch page flow, or when someone asks "what pages do I need" for selling something online.

autonnel/autonnel-skills

Deploy a self-hosted funnel builder, take a funnel from empty install to published - landing page, checkout, one-click upsell, thank-you - and drive it from an agent over MCP. Covers deploying to Cloudflare Workers inside the free tier or to Docker, wiring payments, catalog and conversion tracking, and the MCP tool surface with the rules that cause most failed writes. Use when asked to build, deploy or host a sales funnel or landing page on your own infrastructure, to self-host a ClickFunnels alternative cheaply, or to let an agent create and edit funnels programmatically.

autonnel/post-purchase-upsell-flow

Design and implement one-click post-purchase upsells and downsells that raise average order value without hurting the main conversion rate. Use when asked to increase AOV, add an upsell, cross-sell or downsell after checkout, build a one-click upsell flow, monetize the thank-you page, or when someone asks how to make more revenue per customer from the same ad spend.

Verwandte Skills