# DataFirefly Social Connect — Komplette Anleitung

> Vollständige Installations-, Konfigurations- und Nutzungsanleitung für DataFirefly Social Connect: Social Login via Google, Apple, Facebook, Microsoft, LinkedIn und X für WooCommerce, mit Statistik, Bestellzuordnung, A/B-Test und Betrugsschutz.

- Seite: <https://www.datafirefly.com/de/documentation/datafirefly-social-connect/>
- Sprache: de
- Aktualisiert am: 2026-06-28
- Weitere Sprachen: [fr](https://www.datafirefly.com/documentation/datafirefly-social-connect/index.md), [en](https://www.datafirefly.com/en/documentation/datafirefly-social-connect/index.md), [es](https://www.datafirefly.com/es/documentation/datafirefly-social-connect/index.md), [it](https://www.datafirefly.com/it/documentation/datafirefly-social-connect/index.md), [pl](https://www.datafirefly.com/pl/documentation/datafirefly-social-connect/index.md), [nl](https://www.datafirefly.com/nl/documentation/datafirefly-social-connect/index.md), [pt](https://www.datafirefly.com/pt/documentation/datafirefly-social-connect/index.md)
- Index: <https://www.datafirefly.com/de/documentation/llms.txt>

## Übersicht

DataFirefly Social Connect fügt Ihrem WooCommerce-Shop eine soziale Anmeldung mit einem Klick über sechs Anbieter hinzu (Google, Apple, Facebook, Microsoft, LinkedIn und X), ein vollständiges Statistik-Dashboard, die Zuordnung von Bestellungen zum Ursprungsanbieter, einen A/B-Test der Buttons, einen Betrugsschutz und native DSGVO-Konformität.

Das Plugin verwendet keine externen CDN-Bibliotheken: Die Dashboard-Diagramme werden mit nativem HTML5-Canvas gerendert, und die OAuth-2.0- / OpenID-Connect-Flows sind direkt im Modul implementiert (vollständige JWKS-Signaturprüfung für Google One-Tap, On-the-fly-ES256-Signierung für Apple, `appsecret_proof`-Absicherung für Facebook, S256-PKCE für X).

**Voraussetzungen**: WordPress 6.2 oder höher, WooCommerce 7.0 oder höher, PHP 8.0 oder höher. Die Kompatibilität mit HPOS und den WooCommerce-Warenkorb- und Checkout-Blöcken wird bei der Aktivierung deklariert.

## Installation

1. Laden Sie die ZIP-Datei des Plugins aus Ihrem DataFirefly-Kundenbereich herunter.
2. Gehen Sie in WordPress zu _Plugins → Installieren → Plugin hochladen_.
3. Wählen Sie die ZIP-Datei und klicken Sie auf _Jetzt installieren_.
4. Klicken Sie auf _Aktivieren_. WooCommerce muss zum Zeitpunkt der Aktivierung aktiv sein, sonst verweigert das Plugin die Installation.
5. In der Admin-Seitenleiste erscheint ein neues Menü _Social Connect_ mit zwei Unterseiten: _Statistiken_ und _Einstellungen_.

Bei der Aktivierung werden zwei SQL-Tabellen erstellt: `wp_dfsc_connections` (verknüpfte Konten) und `wp_dfsc_events` (Ereignisprotokoll für die Statistik). Die Standardoptionen werden in `dfsc_settings` geschrieben.

## Anbieterkonfiguration

Jeder Anbieter hat seine eigene Karte im Tab _Anbieter_ der Einstellungen. Für jeden wird oben auf der Karte die **Redirect-URI** angezeigt, die Sie in die Konsole des Anbieters kopieren müssen. Diese Einstellung autorisiert Ihre Website, den Authentifizierungsrückruf zu empfangen.

### Google (mit One-Tap)

1. Gehen Sie zur [Google Cloud Console](https://console.cloud.google.com/) und erstellen (oder wählen) Sie ein Projekt.
2. Konfigurieren Sie unter _APIs & Services → OAuth consent screen_ den Zustimmungsbildschirm (Typ External für einen öffentlichen Shop, fügen Sie Ihre Domain zu den autorisierten Domains hinzu).
3. Wählen Sie unter _Credentials → Create credentials → OAuth client ID_ _Web application_.
4. Fügen Sie unter _Authorized redirect URIs_ die in der Google-Karte von Social Connect angezeigte URI ein (Form: `https://ihre-domain.de/?dfsc_action=callback&dfsc_provider=google`).
5. Um Google One-Tap zu aktivieren, fügen Sie Ihre Root-Domain auch in _Authorized JavaScript origins_ hinzu.
6. Kopieren Sie die _Client ID_ und das _Client Secret_ in die entsprechenden Felder der Google-Karte, aktivieren Sie den Schalter des Anbieters und setzen Sie das Häkchen bei _One-Tap-Einladung nicht angemeldeten Besuchern anzeigen_, falls gewünscht.

One-Tap funktioniert mit vollständiger JWKS-Signaturprüfung und Prüfung der Claims `aud`, `iss` und `exp`. Die Validierung ist kryptographisch, nicht nur deklarativ.

### Apple (Sign in with Apple)

1. Gehen Sie auf [Apple Developer](https://developer.apple.com/) (kostenpflichtiges Konto erforderlich) zu _Certificates, Identifiers & Profiles → Identifiers_.
2. Erstellen Sie eine _App ID_ mit aktivierter Capability _Sign In with Apple_.
3. Erstellen Sie anschließend eine _Services ID_ (dies ist die Kennung, die Sie als „Client ID" in Social Connect verwenden werden). Konfigurieren Sie deren Sign In with Apple: Fügen Sie Ihre Domain in _Domains_ hinzu und die in der Apple-Karte angezeigte Redirect-URI in _Return URLs_.
4. Erstellen Sie einen privaten Schlüssel (_Keys → +_) mit angekreuztem _Sign In with Apple_, verknüpft mit Ihrer App ID. Laden Sie die `.p8`-Datei herunter (Sie können sie nur einmal herunterladen).
5. Tragen Sie in der Apple-Karte die _Services ID_, Ihre _Team ID_ (oben rechts im Portal sichtbar), die _Key ID_ (neben dem erstellten Schlüssel angezeigt) ein und fügen Sie den vollständigen Inhalt der `.p8`-Datei in das Feld _Privater Schlüssel_ ein (einschließlich der `-----BEGIN PRIVATE KEY-----`-Zeilen).

Apple liefert den Namen des Benutzers nur bei der allerersten Zustimmung zurück und liefert nie ein Profilbild. Wenn der Benutzer „Hide My Email" aktiviert, wird eine Apple-Relay-Adresse bereitgestellt — das Plugin verwendet sie normal. Verweigert er jegliche Adressfreigabe, wird automatisch eine technische E-Mail generiert.

### Facebook

1. Erstellen Sie auf [Meta for Developers](https://developers.facebook.com/) eine Anwendung vom Typ _Consumer_.
2. Fügen Sie in der Anwendung das Produkt _Facebook Login → Web_ hinzu.
3. Fügen Sie in den Facebook-Login-Einstellungen die in der Facebook-Karte angezeigte Redirect-URI zu _Valid OAuth Redirect URIs_ hinzu.
4. Holen Sie sich die _App ID_ und das _App Secret_ aus _Settings → Basic_ und fügen Sie sie in die Facebook-Karte ein.

Das Plugin sichert jeden Graph-API-Aufruf mit `appsecret_proof` (HMAC-SHA256 des mit Ihrem App Secret signierten Tokens), gemäß den Best Practices von Meta.

### Microsoft

1. Gehen Sie auf [Microsoft Entra (ehemals Azure AD)](https://entra.microsoft.com/) zu _App registrations → New registration_.
2. Benennen Sie Ihre Anwendung. Wählen Sie für _Supported account types_ _Accounts in any organizational directory and personal Microsoft accounts_, wenn Sie beide akzeptieren wollen (verwendet den Tenant `common`).
3. Wählen Sie unter _Redirect URI_ _Web_ und fügen Sie die in der Microsoft-Karte angezeigte URI ein.
4. Kopieren Sie nach der Erstellung die _Application (client) ID_ in das entsprechende Feld.
5. Erstellen Sie unter _Certificates & secrets_ ein _New client secret_, kopieren Sie den Wert sofort (er wird danach nicht mehr sichtbar sein) in das Feld _Client Secret_.
6. Belassen Sie das Feld _Tenant_ auf `common`, um sowohl persönliche als auch Geschäftskonten zu akzeptieren, oder geben Sie Ihre Tenant-ID ein, um auf eine Organisation zu beschränken.

### LinkedIn

1. Erstellen Sie auf [LinkedIn Developers](https://www.linkedin.com/developers/) eine mit Ihrer Unternehmensseite verknüpfte Anwendung.
2. Beantragen Sie im Tab _Products_ die Aktivierung von _Sign In with LinkedIn using OpenID Connect_. Die Genehmigung erfolgt automatisch.
3. Fügen Sie im Tab _Auth_ die in der LinkedIn-Karte angezeigte Redirect-URI zu _Authorized redirect URLs_ hinzu.
4. Kopieren Sie die _Client ID_ und das _Client Secret_ aus dem Tab _Auth_ in Social Connect.

### X (Twitter)

1. Erstellen Sie im [X-Entwicklerportal](https://developer.x.com/) ein Projekt und dann eine Anwendung.
2. Aktivieren Sie unter _User authentication settings_ OAuth 2.0, wählen Sie den Typ _Confidential client_ (empfohlen) und fügen Sie die in der X-Karte angezeigte Redirect-URI in _Callback URI / Redirect URL_ ein.
3. Geben Sie Ihre _Website URL_ (Startseite Ihres Shops) ein.
4. Kopieren Sie die _Client ID_ und das _Client Secret_ in Social Connect.

Die X-v2-API liefert keine E-Mail-Adresse. Das Plugin generiert automatisch eine technische Adresse, um das entsprechende WordPress-Konto zu erstellen. Wenn Sie eine echte E-Mail benötigen, kann der Benutzer sie in seinem Kundenbereich aktualisieren.

## Platzierungen und Erscheinungsbild

Im Tab _Erscheinungsbild_ wählen Sie, wo die Buttons angezeigt werden:

- **WooCommerce-Login-Formular** (Mein-Konto-Seite ohne Anmeldung).
- **WooCommerce-Registrierungsformular**.
- **Checkout-Seite**, oberhalb des Formulars.
- **Mein-Konto-Dashboard**, mit der Liste der verknüpften Konten und manuellen Verknüpfungsbuttons.

Sie können die Buttons auch beliebig über den Shortcode einfügen:

```
[datafirefly_social_connect]
[datafirefly_social_connect context="login" heading="yes" providers="google,apple"]
[datafirefly_social_connect context="custom" redirect="https://ihre-seite/ziel/"]
```

Das Erscheinungsbild ist über vier Achsen konfigurierbar:

- **Stil**: gefüllt (Markenfarben), Kontur (weißer Hintergrund, farbiger Rand), minimal (hellgrauer Hintergrund).
- **Form**: abgerundet, Pille, Quadrat.
- **Layout**: gestapelt oder inline.
- **Beschriftung**: „Weiter mit…", „Anmelden mit…" oder nur Symbol.

## Statistik-Dashboard

Das Dashboard (Menü _Social Connect → Statistiken_) bündelt die gesamte soziale Anmeldeaktivität Ihres Shops.

### KPIs und Diagramme

Zeitraumauswahl oben rechts: 7, 30, 90 oder 365 Tage. Die sechs angezeigten KPIs umfassen:

- **Anmeldungen** — Gesamtzahl der Authentifizierungen im Zeitraum.
- **Registrierungen** — neue Konten, die per sozialer Anmeldung erstellt wurden.
- **Verknüpfte Konten (gesamt)** — kumulierte Anzahl sozialer Identitäten, die Benutzern zugeordnet sind.
- **Zugeordnete Bestellungen** und **zugeordneter Umsatz** — siehe nächsten Abschnitt.
- **Konversionsrate** — Verhältnis Bestellungen / Anmeldungen.

Vier Diagramme ergänzen die KPIs: eine Zeitreihe pro Anbieter, ein Donut für die Anbieterverteilung, ein Donut für die Gerätetypverteilung (Computer, Mobil, Tablet) und eine durch die Geolokalisierung gespeiste „Top-Länder"-Karte.

### Bestellzuordnung

Jede WooCommerce-Bestellung, die von einem über soziale Anmeldung eingetretenen Benutzer aufgegeben wird, wird seinem Ursprungsanbieter zugeordnet. Die Zuordnung stützt sich auf das Benutzer-Meta `_dfsc_registered_via` und ersatzweise auf die erste aktive soziale Verknüpfung des Benutzers.

Die Hooks `woocommerce_checkout_order_processed` und `woocommerce_store_api_checkout_order_processed` werden beide abgehört, was sowohl den klassischen als auch den Block-Checkout abdeckt.

## A/B-Test der Buttons

Aktivieren Sie im Tab _Erscheinungsbild_ den Block _A/B-Test der Buttons_ und konfigurieren Sie Variante B (Stil, Form, Layout, Beschriftung). Ab diesem Zeitpunkt erhält jeder Besucher zufällig Variante A (Ihre Grundeinstellungen) oder Variante B (Cookie `dfsc_ab`, 50/50, 30 Tage aufbewahrt).

Eine Impression wird einmal pro Besuchersitzung gezählt (Cookie `dfsc_ab_imp`), um das Volumen nicht zu inflationieren. Konversionen werden bei Anmelde-, Registrierungs-, Verknüpfungs- und Bestellereignissen gemessen und in der _A/B-Test_-Karte des Dashboards mit Impressionen, Konversionen, zugeordneten Bestellungen, Rate pro Variante und automatischer Gewinner-Designation berichtet.

Für ein statistisch aussagekräftiges Ergebnis sollten Sie mindestens 500 Impressionen pro Variante zählen. Unter 200 sind die gemessenen Unterschiede im Wesentlichen Rauschen.

## Betrugsschutz — Anmelde-Geschwindigkeit

Im Tab _Datenschutz_ können Sie die Geschwindigkeitsbegrenzung pro IP-Adresse aktivieren. Drei Schwellenwerte sind konfigurierbar:

- **Maximale Versuche** — Standardmäßig 8.
- **Fenster (Minuten)** — Standardmäßig 5.
- **Sperrdauer (Minuten)** — Standardmäßig 15.

Sobald das Limit überschritten ist, wird die IP für die konfigurierte Dauer gesperrt. Ein Ereignis vom Typ `blocked` wird protokolliert und erscheint in der jüngsten Aktivität. Der Schutz gilt sowohl für klassische OAuth-Weiterleitungen als auch für den Google-One-Tap-Flow.

Unabhängig davon pflegt das Plugin eine Liste von Wegwerf-E-Mail-Domains (Mailinator, Yopmail, 10MinuteMail usw.), die bei der Registrierung gesperrt werden können. Die Liste ist über den Filter `dfsc_disposable_domains` erweiterbar.

## Geolokalisierung

Aktivieren Sie die Geolokalisierung im Tab _Datenschutz_. Das Plugin verwendet die MaxMind-Datenbank, die **bereits von WooCommerce eingebettet ist** — kein externer Dienst wird aufgerufen. Wenn Sie die Geolokalisierung auf WooCommerce-Seite noch nicht aktiviert haben, gehen Sie zu _WooCommerce → Einstellungen → Allgemein_ und aktivieren Sie die Standard-Geolokalisierungsoption (WooCommerce lädt die Datenbank dann automatisch herunter).

Nach der Aktivierung wird das Land jeder Anmeldung aufgelöst und speist die _Top-Länder_-Karte des Dashboards sowie die Spalte „Land" des CSV-Exports.

## CSV-Export

Die Schaltfläche _Als CSV exportieren_ oben im Dashboard exportiert alle Ereignisse des ausgewählten Zeitraums. Die Datei enthält eine Spalte für jedes relevante Feld (UTC-Datum, Ereignis, Anbieter, Kontext, Land, Gerät, A/B-Variante, Benutzer, Bestellung, Betrag, Meldung). Ein UTF-8-BOM wird am Anfang hinzugefügt, damit Excel und LibreOffice Calc Akzente korrekt anzeigen.

## Kontoverknüpfung

Drei Mechanismen koexistieren, um eine soziale Identität mit einem WordPress-Konto zu verknüpfen:

1. **Bekannte Identität** — der Benutzer hat diesen Anbieter bereits verwendet, seine Anmeldung erfolgt sofort.
2. **Automatische Verknüpfung per E-Mail** — es existiert bereits ein WordPress-Benutzer mit derselben E-Mail-Adresse wie der vom Anbieter zurückgegebenen. Wenn die E-Mail vom Anbieter verifiziert ist (und die Option _E-Mail-Verifizierung erforderlich_ aktiviert ist), erfolgt die Verknüpfung automatisch.
3. **Manuelle Verknüpfung** — vom _Mein-Konto_-Dashboard aus kann ein angemeldeter Kunde jeden Anbieter über das _Verbundene Konten_-Panel verknüpfen oder trennen.

## DSGVO und Datenschutz

Drei IP-Speichermodi sind im Tab _Datenschutz_ verfügbar:

- **Gehasht** (Standard) — HMAC-SHA256 mit `wp_salt`, nicht umkehrbar.
- **Vollständig** — IP im Klartext (nur verwenden, wenn Ihre Datenschutzerklärung dies ausdrücklich erwähnt).
- **Keine** — die IP wird überhaupt nicht gespeichert.

Das Plugin meldet einen _Exporter_ und einen _Eraser_ beim nativen DSGVO-System von WordPress an (_Werkzeuge → Persoenliche Daten exportieren / loeschen_). Wird ein Benutzer gelöscht, werden auch seine verknüpften Konten und Ereignisse gelöscht (oder bei Löschung anonymisiert).

## Shortcode und erweiterte Integration

Der Shortcode `[datafirefly_social_connect]` akzeptiert folgende Attribute:

- `context` — `login`, `register`, `checkout` oder `custom`.
- `heading` — `yes` oder `no`, um den Titel „Schnelle Anmeldung" über den Buttons anzuzeigen.
- `providers` — durch Kommas getrennte Liste zur Einschränkung der Anzeige (z. B. `google,apple`).
- `redirect` — absolute Weiterleitungs-URL nach der Anmeldung (überschreibt die globale Einstellung).

Sie können das Rendering auch direkt in PHP aufrufen:

```
echo do_shortcode('[datafirefly_social_connect context="custom" providers="google,microsoft"]');
```

## Hooks und Filter für Entwickler

- `dfsc_disposable_domains` (Filter) — erweitert oder ersetzt die Liste der Wegwerf-E-Mail-Domains.
- `dfsc_user_registered` (Aktion) — wird unmittelbar nach der Erstellung eines Kontos per sozialer Anmeldung ausgelöst, mit der Benutzer-ID und dem normalisierten Profil.
- `dfsc_after_login` (Aktion) — wird nach jeder erfolgreichen Anmeldung ausgelöst.
- `dfsc_welcome_subject` und `dfsc_welcome_body` (Filter) — passen Betreff und Text der Willkommens-E-Mail an.
- `dfsc_placeholder_email_domain` (Filter) — ändert die für technische E-Mails verwendete Domain (Apple Hide My Email abgelehnt, X).

Eine schreibgeschützte REST-API stellt aggregierte Statistiken unter `/wp-json/datafirefly-social-connect/v1/stats?days=30` bereit (Berechtigung `manage_woocommerce` erforderlich). Aktivieren Sie sie im Tab _Datenschutz_.

## Kompatibilität

- **WooCommerce HPOS** — die `custom_order_tables`-Kompatibilität wird bei der Aktivierung deklariert; der High-Performance Order Storage wird vollständig unterstützt.
- **Checkout-Blöcke** — der Hook `woocommerce_store_api_checkout_order_processed` wird parallel zum klassischen abgehört, sodass die Bestellzuordnung auf beiden Checkouts funktioniert.
- **Polylang und WPML** — die Oberflächenstrings sind über die mitgelieferte `.pot`-Datei übersetzbar (FR, EN, ES, DE, IT). Inhalte (Willkommens-E-Mail usw.) sind mit beiden mehrsprachigen Plugins kompatibel.
- **Multisite** — jede Site des Netzwerks hat eigene Tabellen und Optionen. Die Deinstallation bereinigt jede Site.

## Deinstallation

Beim Löschen des Plugins aus _Plugins_ wird die Datei `uninstall.php` automatisch ausgeführt. Sie entfernt:

- Die Tabellen `wp_dfsc_connections` und `wp_dfsc_events`.
- Die Optionen `dfsc_settings` und `dfsc_db_version`.
- Verwandte Transients (Google-JWKS-Cache, Apple-Client-Secret-Cache, Zustandstoken).
- Benutzer-Meta (`_dfsc_provider`, `_dfsc_registered_via`, `_dfsc_avatar_id` usw.).

Ihre WordPress-Benutzer und WooCommerce-Bestellungen werden nie angetastet. Im Multisite-Betrieb durchläuft die Deinstallation jede Site des Netzwerks.

## FAQ und Fehlerbehebung

### Der Google-Button zeigt „redirect_uri_mismatch"

Die in die Google Cloud Console eingefügte Redirect-URI stimmt nicht exakt mit der in der Google-Karte von Social Connect angezeigten überein. Prüfen Sie, ob Sie die vollständige URI kopiert haben (mit `https://`, dem abschließenden Schrägstrich und den Parametern `?dfsc_action=callback&dfsc_provider=google`).

### Apple gibt „invalid_client" zurück

Drei mögliche Ursachen: Die eingegebene _Services ID_ ist keine Services ID, sondern eine App ID; die _Team ID_ ist falsch; oder der Inhalt des privaten `.p8`-Schlüssels ist unvollständig (fehlende `-----BEGIN PRIVATE KEY-----`-Zeilen). Prüfen Sie alle drei und leeren Sie den Apple-Client-Secret-Cache durch erneutes Speichern der Einstellungen.

### Facebook gibt einen `appsecret_proof`-Fehler zurück

Das eingegebene App Secret ist falsch oder wurde auf Meta-Seite regeneriert, ohne hier aktualisiert zu werden. Gehen Sie zu Meta for Developers, kopieren Sie das Secret erneut und fügen Sie es in die Facebook-Karte ein.

### X / Twitter gibt beim Rückruf „invalid_request" zurück

Die _Callback URI_ wurde im X-Entwicklerportal nicht korrekt eingegeben, oder der App-Typ ist nicht _Confidential client_, obwohl ein Client Secret zwingend erforderlich ist. Überprüfen Sie das Portal erneut.

### Das Dashboard ist leer, obwohl ich Anmeldungen hatte

Prüfen Sie, ob der ausgewählte Zeitraum tatsächlich Ihre Anmeldungen abdeckt (Standard 30 Tage). Wenn Sie das Plugin gerade aktiviert haben, warten Sie, bis Sie einige Ereignisse haben, bevor die Diagramme zum Leben erwachen.

### Der A/B-Test zeigt Raten von 0 %

Sie brauchen ein Minimum an Impressionen und Konversionen, damit die Raten aussagekräftig werden. Zählen Sie einige hundert Impressionen pro Variante, bevor Sie die Ergebnisse interpretieren.

### Die Geolokalisierung liefert kein Land zurück

Prüfen Sie, ob WooCommerce die MaxMind-Datenbank tatsächlich heruntergeladen hat. Gehen Sie zu _WooCommerce → Einstellungen → Allgemein_, aktivieren Sie die Standard-Geolokalisierung und warten Sie einige Minuten. WooCommerce hält die Datenbank danach automatisch aktuell.

### Wie erzwinge ich die Trennung eines Kontos administrativ?

Gehen Sie zur Tabelle `wp_dfsc_connections` und löschen Sie die entsprechende Zeile. Bei der nächsten Anmeldung des Benutzers über diesen Anbieter wird er als neue Identität behandelt (und per E-Mail wieder mit seinem WordPress-Konto verknüpft, wenn die automatische Verknüpfung aktiv ist).
