Zum Hauptinhalt springen

WordPress

Installieren Sie das Selgeo-Tracking-Snippet auf einer WordPress-Website. Das Snippet muss auf jeder Seite Ihrer Website laufen — Besucher können mit einem ?ref=…-Parameter auf jeder beliebigen URL ankommen, und ein Snippet, das nur auf einem einzelnen Beitrag oder einer Landingpage läuft, verpasst die meisten Klicks.

API-Version: v1

Wenn Sie nicht WordPress verwenden, lesen Sie stattdessen die HTML- / einfache-Script-Anleitung, die Next.js-Anleitung oder die React-(Vite)-Anleitung.

Das Snippet MUSS website-weit eingebunden sein

Ein seitenspezifischer Gutenberg-Custom-HTML-Block, der auf einem einzelnen Beitrag oder einer Landingpage abgelegt wird, ist nicht akzeptabel. Der ?ref=-Parameter kann auf jeder URL Ihrer Website landen — Ihrer Startseite, Ihrer Preisseite, einem Blogbeitrag, den ein Partner geteilt hat. Wenn das Snippet nicht website-weit vorhanden ist, gehen diese Klicks stillschweigend verloren. Verwenden Sie einen der drei website-weiten Platzierungswege unten.

Drei website-weite Platzierungswege

WegAm besten fürBearbeitung
A. Site Editor (Block-Themes)Moderne Block-Themes (Twenty Twenty-Three, Twenty Twenty-Four, Twenty Twenty-Five usw.)Kein Code; nutzt den WordPress-Site-Editor
B. footer.php (klassische Themes)Klassische Themes mit footer.php (Astra, GeneratePress, OceanWP ohne FSE, eigene Themes)Direkte Bearbeitung der Theme-Datei
C. Header-Footer-PluginJede WordPress-Seite, auch solche ohne Zugriff auf Theme-DateienKein Code; Plugin-Oberfläche

Verwenden Sie den Weg, der zu Ihrem Stack passt. Alle drei führen dazu, dass dasselbe Snippet auf jeder Seite läuft.

Weg A — Site Editor (Block-Themes)

Für Block-Themes (Full Site Editing — FSE).

Schritt 1: Site-Editor öffnen

Navigieren Sie im WordPress-Admin zu Design > Editor. Der Site-Editor öffnet sich.

Wählen Sie in der linken Navigation Muster > Template-Teile > Footer (oder Header). Der Footer-Template-Teil ist der Standard-Host für Tracking-Snippets, weil er auf jeder Seite geladen wird.

WordPress Site Editor mit geöffnetem Footer-Template-Teil, bereit zum Bearbeiten

Schritt 3: Custom-HTML-Block einfügen

Klicken Sie am Ende des Footers auf den +-Block-Hinzufügen-Button, suchen Sie nach Custom HTML und fügen Sie den Block ein.

Fügen Sie das Snippet in den Block-Body ein:

<script
async
src="https://cdn.selgeo.com/v1/selgeo.js"
data-merchant="pk_test_YOUR_KEY"
></script>

Ersetzen Sie pk_test_YOUR_KEY durch Ihren öffentlichen API-Schlüssel aus Einstellungen > API-Schlüssel im Selgeo-Dashboard.

Schritt 4: Template-Teil speichern

Klicken Sie oben rechts auf Speichern. WordPress übernimmt die Änderung sofort website-weit.

Header oder Footer?

Beides funktioniert. Der Footer wird bevorzugt, weil er den First Paint nicht blockiert. Eine Header-Platzierung ist in Ordnung, wenn Ihr Footer bedingt ausgeblendet wird (selten).

Weg B — footer.php (klassische Themes)

Für klassische (Nicht-FSE-)Themes.

Verwenden Sie ein Child-Theme

Eine direkte Bearbeitung der footer.php des Eltern-Themes bedeutet, dass Ihre Änderung beim nächsten Theme-Update überschrieben wird. Verwenden Sie entweder ein Child-Theme oder einen der beiden anderen Wege.

Schritt 1: footer.php Ihres Child-Themes öffnen

Pfad: wp-content/themes/<ihr-child-theme>/footer.php.

Wenn die Datei in Ihrem Child-Theme nicht existiert, kopieren Sie sie zuerst aus dem Eltern-Theme.

Schritt 2: Snippet kurz vor </body> einfügen

<?php
// ... Ihr bestehender Footer-Markup ...
?>

<script
async
src="https://cdn.selgeo.com/v1/selgeo.js"
data-merchant="pk_test_YOUR_KEY"
></script>

<?php wp_footer(); ?>
</body>
</html>

Platzieren Sie das <script>-Tag vor wp_footer(), sodass das Snippet früh genug lädt, um Klicks zu erfassen, aber innerhalb desselben schließenden </body>-Blocks.

Schritt 3: Hochladen und überprüfen

Laden Sie die bearbeitete footer.php auf Ihren Server hoch (per SFTP, dem WordPress-Datei-Editor oder dem Dateimanager Ihres Hosting-Panels) und laden Sie Ihre Website neu.

footer.php in einem Child-Theme mit dem Selgeo-script-Block, eingefügt oberhalb von wp_footer

Für Seiten ohne Zugriff auf Theme-Dateien oder Betreiber, die eine Oberfläche bevorzugen.

Die zwei beliebtesten Plugins sind:

  • WPCode (früher Insert Headers and Footers) — die kostenlose Stufe deckt diesen Anwendungsfall ab.
  • Insert Headers and Footers von WPBeginner — minimalistisches Single-Purpose-Plugin.

Die Anleitung ist im Wesentlichen identisch; dieser Abschnitt verwendet WPCode als Beispiel.

Schritt 1: Plugin installieren und aktivieren

Navigieren Sie im WordPress-Admin zu Plugins > Installieren, suchen Sie nach WPCode, installieren und aktivieren Sie es.

Navigieren Sie zu Code Snippets > Header & Footer.

Fügen Sie im Footer-Textbereich Folgendes ein:

<script
async
src="https://cdn.selgeo.com/v1/selgeo.js"
data-merchant="pk_test_YOUR_KEY"
></script>

Ersetzen Sie pk_test_YOUR_KEY durch Ihren öffentlichen API-Schlüssel.

Schritt 4: Änderungen speichern

Klicken Sie auf Änderungen speichern. Das Plugin injiziert das Snippet beim nächsten Seitenaufruf website-weit.

Einstellungsseite WPCode Headers &amp; Footers mit dem Selgeo-script, das in das Footer-Feld eingefügt wurde

Installation überprüfen

  1. Öffnen Sie Ihre Website in einem privaten / Inkognito-Browserfenster.
  2. Erstellen Sie einen Tracking-Link im Selgeo-Dashboard unter Programme > Tracking-Links.
  3. Besuchen Sie Ihre Website mit dem Tracking-Link, zum Beispiel:
    https://ihre-website.com/?ref=IHR_TEST_REF
  4. Öffnen Sie die Developer Tools (F12). Suchen Sie im Elements-Tab nach selgeo.js — es sollte innerhalb von <body> oder kurz vor </body> erscheinen.
  5. Mit temporär hinzugefügtem data-debug zeigt die Konsole:
    [selgeo] ref detected IHR_TEST_REF
    [selgeo] click_id stored xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
  6. Führen Sie in der Konsole aus:
    __selgeo.getClickId()
    Dies sollte einen UUID-String zurückgeben.
  7. Öffnen Sie das Selgeo-Dashboard. Der Klick sollte innerhalb weniger Sekunden unter Analytics erscheinen.

Fehlerbehebung

Snippet wird nicht geladen

  • Öffnen Sie den gerenderten Seitenquelltext (Rechtsklick > Seitenquelltext anzeigen) und suchen Sie nach selgeo.js. Das <script>-Tag muss im HTML erscheinen — wenn nicht, hat das Snippet die Seite nicht erreicht.
  • Für Weg A (Site-Editor): Stellen Sie sicher, dass Sie den Template-Teil gespeichert haben, nicht nur eine einzelne Seite. Das Symbol für Template-Teile im Site-Editor ist ein kleines „Puzzlestück" — das Speichern einer Seite breitet sich nicht aus.
  • Für Weg B (footer.php): Stellen Sie sicher, dass Sie in das **Child-**Theme hochgeladen haben, dass das Child-Theme unter Design > Themes aktiv ist und dass kein Caching-Plugin eine veraltete Kopie ausliefert. Cache nach der Bearbeitung leeren.
  • Für Weg C (Plugin): Stellen Sie sicher, dass das Plugin unter Plugins aktiv ist (nicht nur installiert) und dass das Snippet in den Footer-Bereich eingefügt wurde, nicht in ein seitenspezifisches benutzerdefiniertes Feld.
  • Page-Builder-Plugins (Elementor, Divi, Beaver Builder) entfernen manchmal rohe <script>-Tags aus ihrem eigenen Editor. Wenn Sie das Snippet über einen Page-Builder-Block platziert haben, wechseln Sie stattdessen zu einem der Wege A / B / C — diese arbeiten auf der WordPress-Template-Ebene und überstehen das Page-Builder-Rendering.

Klick wird nicht verfolgt

  • Der Besucher muss mit ?ref=… auf der ersten Seitenansicht ankommen. Nachladevorgänge entfernen den Parameter (das Snippet schreibt die URL beim Erfassen um).
  • Stellen Sie sicher, dass data-merchant einen gültigen pk_test_*- oder pk_live_*-Schlüssel enthält. Ein fehlender Schlüssel führt zu einem stillen No-Op.
  • Prüfen Sie, ob ein Caching-Plugin (WP Rocket, W3 Total Cache, LiteSpeed) <script>-Tags umschreibt. Die meisten Caching-Plugins bieten eine Option zum Ausschluss von Skripten aus der „JS-Optimierung" / „Defer / Combine" — schließen Sie selgeo.js aus diesen Regeln aus.
  • Stellen Sie sicher, dass das Snippet website-weit läuft, nicht nur auf einer Seite (öffnen Sie die Startseite und eine andere Seite, prüfen Sie den Quelltext, bestätigen Sie das Tag beide Male).

CSP-Blockierung

Wenn Ihr Hosting-Anbieter oder ein Sicherheits-Plugin (z. B. Wordfence, Sucuri) einen Content-Security-Policy-Header injiziert, erlauben Sie die Selgeo-Ursprünge:

script-src 'self' https://cdn.selgeo.com;
connect-src 'self' https://api.selgeo.com;

Bei Staging- / Dev-Workspaces, in denen data-api-url auf einen anderen Ursprung zeigt, fügen Sie diesen Ursprung ebenfalls zu connect-src hinzu.

Nächste Schritte

  • Stripe Payment Links — Stripe-Integration ohne Backend; passt besonders gut zu WordPress-Seiten, die zu buy.stripe.com verlinken.
  • Conversion API — Nicht-Stripe-Konversionen verfolgen (Formularübermittlungen, Plugin-Webhooks).
  • Snippet-Setup — vollständige Attributreferenz und das zugrunde liegende HTML-Script-Tag.