Wo WooCommerce Średnio zaawansowany

DataFirefly Social Connect: kompletny przewodnik

Instalacja, konfiguracja i wykorzystanie logowania społecznościowego z 6 dostawcami dla WooCommerce: Google + One-Tap, Apple, Facebook, Microsoft, LinkedIn i X, panel statystyczny, przypisywanie zamówień, test A/B i antyfraud.

Zaktualizowano Wersja modułu 1.1.0

Prezentacja

DataFirefly Social Connect dodaje do Twojego sklepu WooCommerce logowanie społecznościowe jednym kliknięciem przez sześciu dostawców (Google, Apple, Facebook, Microsoft, LinkedIn i X), kompletny panel statystyczny, przypisywanie zamówień do dostawcy pochodzenia, test A/B przycisków, system antyfraudowy i natywną zgodność z RODO.

Wtyczka nie używa żadnej zewnętrznej biblioteki z CDN: wykresy panelu są renderowane w natywnym canvasie HTML5, a przepływy OAuth 2.0 i OpenID Connect są zaimplementowane bezpośrednio w module (pełna weryfikacja podpisów JWKS dla Google One-Tap, podpis ES256 w locie dla Apple, wzmocnienie appsecret_proof dla Facebooka, PKCE S256 dla X).

Wymagania: WordPress 6.2 lub nowszy, WooCommerce 7.0 lub nowszy, PHP 8.0 lub nowszy. Zgodność z HPOS i blokami checkoutu WooCommerce jest deklarowana przez wtyczkę przy aktywacji.

Instalacja

  1. Pobierz plik ZIP wtyczki ze swojego konta klienta DataFirefly.
  2. W WordPressie przejdź do Wtyczki → Dodaj nową → Wyślij wtyczkę na serwer.
  3. Wybierz plik ZIP i kliknij Zainstaluj teraz.
  4. Kliknij Włącz. WooCommerce musi być aktywne w momencie aktywacji, inaczej wtyczka odmówi instalacji.
  5. W pasku bocznym panelu pojawi się nowe menu Social Connect z dwiema podstronami: Statystyki i Ustawienia.

Przy aktywacji tworzone są dwie tabele SQL: wp_dfsc_connections (powiązane konta) i wp_dfsc_events (dziennik zdarzeń na potrzeby statystyk). Opcje domyślne zapisywane są w dfsc_settings.

Konfiguracja dostawców

Każdy dostawca ma własną kartę w zakładce Dostawcy w ustawieniach. Na górze każdej karty znajduje się URI przekierowania do skopiowania i wklejenia w konsoli dostawcy. To ten parametr pozwala Twojej witrynie odebrać powrót z uwierzytelnienia.

Google (z One-Tap)

  1. Wejdź na Google Cloud Console i utwórz (albo wybierz) projekt.
  2. W APIs & Services → OAuth consent screen skonfiguruj ekran zgody (typ External dla sklepu publicznego, dodaj swoją domenę do domen autoryzowanych).
  3. W Credentials → Create credentials → OAuth client ID wybierz Web application.
  4. W Authorized redirect URIs wklej URI wyświetlone w karcie Google w Social Connect (postać: https://twoja-domena.com/?dfsc_action=callback&dfsc_provider=google).
  5. Aby włączyć Google One-Tap, dodaj też swoją domenę główną w Authorized JavaScript origins.
  6. Skopiuj Client ID i Client secret do odpowiednich pól karty Google, włącz przełącznik dostawcy i w razie potrzeby zaznacz Pokazuj monit One-Tap niezalogowanym odwiedzającym.

One-Tap działa z pełną weryfikacją podpisu JWKS i kontrolą claimów aud, iss i exp. Walidacja jest kryptograficzna, a nie tylko deklaratywna.

Apple (Sign in with Apple)

  1. Na Apple Developer (wymagane płatne konto) przejdź do Certificates, Identifiers & Profiles → Identifiers.
  2. Utwórz App ID z włączoną funkcją Sign In with Apple.
  3. Następnie utwórz Services ID (to ten identyfikator posłuży jako „Client ID” po stronie Social Connect). Skonfiguruj jego Sign In with Apple: dodaj swoją domenę w Domains, a URI przekierowania z karty Apple w Return URLs.
  4. Utwórz klucz prywatny (Keys → +) z zaznaczonym Sign In with Apple, powiązany z Twoim App ID. Pobierz plik .p8 (można go pobrać tylko raz).
  5. W karcie Apple wpisz Services ID, swój Team ID (widoczny w prawym górnym rogu portalu), Key ID (wyświetlany obok utworzonego klucza) i wklej pełną zawartość pliku .p8 w pole Klucz prywatny (razem z liniami -----BEGIN PRIVATE KEY-----).

Apple zwraca imię i nazwisko użytkownika tylko przy pierwszej zgodzie i nigdy nie udostępnia zdjęcia profilowego. Jeśli użytkownik włączy „Hide My Email”, dostarczany jest adres przekaźnikowy Apple, którego wtyczka używa normalnie. Jeśli odmówi udostępnienia adresu, wtyczka generuje automatycznie adres techniczny.

Facebook

  1. Na Meta for Developers utwórz aplikację typu Consumer.
  2. W aplikacji dodaj produkt Facebook Login → Web.
  3. W ustawieniach Facebook Login dodaj URI przekierowania z karty Facebook w Valid OAuth Redirect URIs.
  4. Pobierz App ID i App Secret z Settings → Basic i wklej je do karty Facebook.

Wtyczka wzmacnia każde wywołanie Graph API parametrem appsecret_proof (HMAC-SHA256 tokena podpisany Twoim App Secret), zgodnie z dobrymi praktykami Meta.

Microsoft

  1. Na Microsoft Entra (dawniej Azure AD) przejdź do App registrations → New registration.
  2. Nadaj aplikacji nazwę. W Supported account types wybierz Accounts in any organizational directory and personal Microsoft accounts, jeśli chcesz akceptować oba typy (używa tenanta common).
  3. W Redirect URI wybierz Web i wklej URI z karty Microsoft.
  4. Po utworzeniu skopiuj Application (client) ID do odpowiedniego pola.
  5. W Certificates & secrets utwórz New client secret i natychmiast skopiuj wartość (później nie będzie już widoczna) do pola Client Secret.
  6. Zostaw pole Tenant na common, aby akceptować konta firmowe i osobiste, albo wpisz identyfikator swojego tenanta, aby ograniczyć logowanie do jednej organizacji.

LinkedIn

  1. Na LinkedIn Developers utwórz aplikację powiązaną ze stroną firmową.
  2. W zakładce Products poproś o aktywację Sign In with LinkedIn using OpenID Connect. Zatwierdzenie jest automatyczne.
  3. W zakładce Auth dodaj URI przekierowania z karty LinkedIn w Authorized redirect URLs.
  4. Pobierz Client ID i Client Secret z zakładki Auth i wklej je w Social Connect.

X (Twitter)

  1. Na portalu deweloperskim X utwórz projekt, a następnie aplikację.
  2. W User authentication settings włącz OAuth 2.0, wybierz typ Confidential client (zalecany) i wklej URI przekierowania z karty X w Callback URI / Redirect URL.
  3. Uzupełnij Website URL (strona główna Twojego sklepu).
  4. Pobierz Client ID i Client Secret i wklej je w Social Connect.

API X v2 nie zwraca adresu e-mail. Wtyczka generuje automatycznie adres techniczny, żeby utworzyć odpowiadające konto WordPressa. Jeśli zależy Ci na prawdziwym adresie, użytkownik może zawsze zaktualizować go w swoim panelu klienta.

Rozmieszczenie i wygląd

W zakładce Wygląd wybierasz, gdzie wyświetlać przyciski:

  • Formularz logowania WooCommerce (strona Moje konto dla niezalogowanych).
  • Formularz rejestracji WooCommerce.
  • Strona zamówienia (checkout), nad formularzem.
  • Panel Moje konto, z listą powiązanych kont i przyciskami ręcznego wiązania.

Przyciski możesz też wstawić w dowolnym miejscu przez shortcode:

[datafirefly_social_connect]
[datafirefly_social_connect context="login" heading="yes" providers="google,apple"]
[datafirefly_social_connect context="custom" redirect="https://twoja-witryna/cel/"]

Wygląd jest konfigurowalny w czterech wymiarach:

  • Styl: pełny (kolory marki), kontur (białe tło, kolorowa obwódka), minimalny (jasnoszare tło).
  • Kształt: zaokrąglony, pigułka, kwadratowy.
  • Układ: w kolumnie albo w wierszu.
  • Etykieta: „Kontynuuj z…”, „Zaloguj się przez…” albo sama ikona.

Panel statystyczny

Panel (menu Social Connect → Statystyki) zbiera całą aktywność logowania społecznościowego w Twoim sklepie.

KPI i wykresy

Selektor okresu w prawym górnym rogu: 7, 30, 90 lub 365 dni. Sześć wyświetlanych KPI obejmuje:

  • Logowania: łączna liczba uwierzytelnień w okresie.
  • Rejestracje: nowe konta utworzone przez logowanie społecznościowe.
  • Powiązane konta (łącznie): skumulowana liczba tożsamości społecznościowych powiązanych z użytkownikami.
  • Przypisane zamówienia i przypisany przychód: patrz następna sekcja.
  • Współczynnik konwersji: stosunek zamówień do logowań.

KPI uzupełniają cztery wykresy: krzywa zmian w czasie per dostawca, wykres kołowy podziału per dostawca, wykres kołowy podziału per typ urządzenia (komputer, telefon, tablet) oraz karta „Top kraje” zasilana geolokalizacją.

Przypisywanie zamówień

Każde zamówienie WooCommerce złożone przez użytkownika, który trafił przez logowanie społecznościowe, jest przypisywane do jego dostawcy pochodzenia. Przypisanie opiera się na meta użytkownika _dfsc_registered_via, a awaryjnie na pierwszym aktywnym połączeniu społecznościowym użytkownika.

Nasłuchiwane są hooki woocommerce_checkout_order_processed i woocommerce_store_api_checkout_order_processed, co obejmuje zarówno klasyczny checkout, jak i checkout w blokach.

Test A/B przycisków

W zakładce Wygląd włącz blok Test A/B przycisków i skonfiguruj wariant B (styl, kształt, układ, etykieta). Od tego momentu każdy odwiedzający losowo otrzymuje wariant A (Twoje ustawienia bazowe) albo wariant B (ciasteczko dfsc_ab, podział 50/50, przechowywane 30 dni).

Wyświetlenie liczone jest raz na sesję odwiedzającego (ciasteczko dfsc_ab_imp), żeby nie zawyżać wolumenu. Konwersje mierzone są na zdarzeniach logowania, rejestracji, wiązania kont i zamówienia, i raportowane na karcie Test A/B panelu z wyświetleniami, konwersjami, przypisanymi zamówieniami, współczynnikami per wariant i automatycznym wskazaniem wariantu wygrywającego.

Aby wynik był statystycznie istotny, licz się z minimum 500 wyświetleniami na wariant. Poniżej 200 mierzone różnice to zasadniczo szum.

Antyfraud: limit prób logowania

W zakładce Prywatność możesz włączyć ograniczanie liczby prób per adres IP. Konfigurowalne są trzy progi:

  • Maksymalna liczba prób: domyślnie 8.
  • Okno (minuty): domyślnie 5.
  • Czas blokady (minuty): domyślnie 15.

Po przekroczeniu limitu adres IP jest blokowany na skonfigurowany czas. Zdarzenie typu blocked trafia do dziennika i pojawia się w ostatniej aktywności. Ochrona obejmuje zarówno klasyczne przekierowania OAuth, jak i przepływ Google One-Tap.

Niezależnie od tego wtyczka utrzymuje listę domen jednorazowych adresów e-mail (Mailinator, Yopmail, 10MinuteMail i inne), które można blokować przy rejestracji. Listę rozszerza filtr dfsc_disposable_domains.

Geolokalizacja

Włącz geolokalizację w zakładce Prywatność. Wtyczka korzysta z bazy MaxMind już wbudowanej w WooCommerce: nie jest wykonywane żadne wywołanie do usługi zewnętrznej. Jeśli geolokalizacja po stronie WooCommerce nie jest jeszcze włączona, przejdź do WooCommerce → Ustawienia → Ogólne i włącz domyślną opcję geolokalizacji (WooCommerce pobierze bazę danych automatycznie).

Po włączeniu kraj każdego logowania jest rozwiązywany i zasila kartę Top kraje panelu oraz kolumnę „Kraj” w eksporcie CSV.

Eksport CSV

Przycisk Eksportuj do CSV na górze panelu eksportuje wszystkie zdarzenia z wybranego okresu. Plik zawiera kolumnę dla każdego istotnego pola (data UTC, zdarzenie, dostawca, kontekst, kraj, urządzenie, wariant A/B, użytkownik, zamówienie, kwota, komunikat). Na początku pliku dodawany jest BOM UTF-8, dzięki czemu Excel i LibreOffice Calc poprawnie wyświetlają znaki diakrytyczne.

Wiązanie kont

Współistnieją trzy mechanizmy wiązania tożsamości społecznościowej z kontem WordPressa:

  1. Tożsamość już znana: użytkownik korzystał już z tego dostawcy, logowanie jest natychmiastowe.
  2. Automatyczne wiązanie po adresie e-mail: istnieje już użytkownik WordPressa z tym samym adresem, który zwrócił dostawca. Jeśli adres jest zweryfikowany przez dostawcę (a opcja Wymagany zweryfikowany e-mail jest włączona), wiązanie następuje automatycznie.
  3. Wiązanie ręczne: z panelu Moje konto zalogowany klient może powiązać lub odłączyć każdego dostawcę przez panel Połączone konta.

RODO i prywatność

W zakładce Prywatność dostępne są trzy tryby przechowywania adresów IP:

  • Haszowany (domyślnie): HMAC-SHA256 z wp_salt, nieodwracalny.
  • Pełny: adres IP jawnie (używaj tylko wtedy, gdy Twoja polityka prywatności wprost to przewiduje).
  • Brak: adres IP w ogóle nie jest zapisywany.

Wtyczka rejestruje exporter i eraser w natywnym systemie RODO WordPressa (Narzędzia → Eksport / Usuwanie danych osobowych). Przy usunięciu użytkownika usuwane są też jego powiązane konta i zdarzenia (albo anonimizowane przy wymazywaniu danych).

Shortcode i integracja zaawansowana

Shortcode [datafirefly_social_connect] przyjmuje następujące atrybuty:

  • context: login, register, checkout albo custom.
  • heading: yes albo no, wyświetla tytuł „Szybkie logowanie” nad przyciskami.
  • providers: lista rozdzielona przecinkami ograniczająca wyświetlanie (np. google,apple).
  • redirect: bezwzględny adres URL przekierowania po zalogowaniu (ma pierwszeństwo przed ustawieniem globalnym).

Renderowanie możesz też wywołać bezpośrednio w PHP:

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

Hooki i filtry dla deweloperów

  • dfsc_disposable_domains (filtr): rozszerza lub zastępuje listę domen jednorazowych adresów e-mail.
  • dfsc_user_registered (akcja): wywoływana tuż po utworzeniu konta przez logowanie społecznościowe, z ID użytkownika i znormalizowanym profilem.
  • dfsc_after_login (akcja): wywoływana po każdym udanym logowaniu.
  • dfsc_welcome_subject i dfsc_welcome_body (filtry): personalizują temat i treść e-maila powitalnego.
  • dfsc_placeholder_email_domain (filtr): zmienia domenę używaną dla adresów technicznych (odrzucone Apple Hide My Email, X).

API REST tylko do odczytu udostępnia zagregowane statystyki pod /wp-json/datafirefly-social-connect/v1/stats?days=30 (wymagana zdolność manage_woocommerce). Włącz je w zakładce Prywatność.

Zgodność

  • WooCommerce HPOS: zgodność custom_order_tables jest deklarowana przy aktywacji, zamówienia w wydajnym magazynie są obsługiwane bez zastrzeżeń.
  • Bloki checkoutu: hook woocommerce_store_api_checkout_order_processed jest nasłuchiwany równolegle z hookiem klasycznym, przypisywanie zamówień działa w obu typach checkoutu.
  • Polylang i WPML: ciągi interfejsu są tłumaczalne przez dostarczony plik .pot (FR, EN, ES, DE, IT). Treści (e-mail powitalny i inne) są zgodne z obiema wtyczkami wielojęzycznymi.
  • Multisite: każda witryna sieci ma własne tabele i opcje. Deinstalacja czyści każdą witrynę.

Deinstalacja

Przy usuwaniu wtyczki z poziomu Wtyczki automatycznie wykonywany jest plik uninstall.php. Usuwa on:

  • Tabele wp_dfsc_connections i wp_dfsc_events.
  • Opcje dfsc_settings i dfsc_db_version.
  • Powiązane transienty (cache JWKS Google, cache sekretu klienta Apple, tokeny stanu).
  • Metadane użytkowników (_dfsc_provider, _dfsc_registered_via, _dfsc_avatar_id i inne).

Twoi użytkownicy WordPressa i zamówienia WooCommerce nigdy nie są naruszane. W trybie multisite deinstalacja przechodzi przez wszystkie witryny sieci.

FAQ i rozwiązywanie problemów

Przycisk Google zwraca „redirect_uri_mismatch”

URI przekierowania wklejone w Google Cloud Console nie odpowiada dokładnie temu z karty Google w Social Connect. Sprawdź, czy skopiowano pełne URI (z https://, końcowym ukośnikiem i parametrami ?dfsc_action=callback&dfsc_provider=google).

Apple zwraca „invalid_client”

Trzy możliwe przyczyny: wpisany Services ID to nie Services ID, tylko App ID, błędny Team ID, albo niekompletna zawartość klucza prywatnego .p8 (brak linii -----BEGIN PRIVATE KEY-----). Zweryfikuj wszystkie trzy i wyczyść cache sekretu klienta Apple, zapisując ustawienia ponownie.

Facebook zwraca błąd appsecret_proof

Wpisany App Secret jest błędny albo został zregenerowany po stronie Meta bez aktualizacji tutaj. Wejdź na Meta for Developers, skopiuj sekret ponownie i wklej go do karty Facebook.

X / Twitter zwraca „invalid_request” przy powrocie

Callback URI nie został poprawnie wpisany w portalu deweloperskim X, albo typ aplikacji to nie Confidential client, mimo że Client Secret jest wymagany. Zweryfikuj ustawienia w portalu.

Panel jest pusty, choć były logowania

Sprawdź, czy wybrany okres obejmuje logowania (domyślnie 30 dni). Jeśli wtyczka została dopiero włączona, poczekaj na kilka zdarzeń, żeby wykresy zaczęły się wypełniać.

Test A/B pokazuje współczynniki 0 %

Potrzebne jest minimum wyświetleń i konwersji, żeby współczynniki stały się miarodajne. Licz się z kilkuset wyświetleniami na wariant przed interpretacją wyników.

Geolokalizacja nie zwraca żadnego kraju

Sprawdź, czy WooCommerce pobrało bazę MaxMind. Przejdź do WooCommerce → Ustawienia → Ogólne, włącz domyślną geolokalizację i odczekaj kilka minut. Bazę WooCommerce aktualizuje potem automatycznie.

Jak wymusić odłączenie konta po stronie administratora?

Przejdź do tabeli wp_dfsc_connections i usuń odpowiedni wiersz. Przy następnym logowaniu przez tego dostawcę użytkownik zostanie potraktowany jako nowa tożsamość (powiązana z jego kontem WordPressa po adresie e-mail, jeśli automatyczne wiązanie jest aktywne).

Czy ta strona była pomocna?

Nadal utknąłeś? Napisz do wsparcia

Wo WooCommerce Średnio zaawansowany

DataFirefly Social Connect: kompletny przewodnik

Instalacja, konfiguracja i wykorzystanie logowania społecznościowego z 6 dostawcami dla WooCommerce: Google z One-Tap, Apple, Facebook, Microsoft, LinkedIn i X, panel statystyk, przypisywanie zamówień, test A/B i antyfraud.

Zaktualizowano Wersja modułu 1.1.0

Prezentacja

DataFirefly Social Connect dodaje do Twojego sklepu WooCommerce logowanie społecznościowe jednym kliknięciem przez sześciu dostawców (Google, Apple, Facebook, Microsoft, LinkedIn i X), pełny panel statystyk, przypisywanie zamówień do dostawcy pochodzenia, test A/B przycisków, system antyfraudowy i natywną zgodność z RODO.

Wtyczka nie korzysta z żadnej biblioteki z zewnętrznego CDN: wykresy panelu są renderowane w natywnym canvasie HTML5, a przepływy OAuth 2.0 i OpenID Connect są zaimplementowane bezpośrednio w module (pełna weryfikacja podpisów JWKS dla Google One-Tap, podpis ES256 generowany w locie dla Apple, wzmocnienie appsecret_proof dla Facebooka, PKCE S256 dla X).

Wymagania: WordPress 6.2 lub nowszy, WooCommerce 7.0 lub nowszy, PHP 8.0 lub nowszy. Zgodność z HPOS i blokami checkoutu WooCommerce jest deklarowana przez wtyczkę przy aktywacji.

Instalacja

  1. Pobierz plik ZIP wtyczki ze swojego konta klienta DataFirefly.
  2. W WordPressie przejdź do Wtyczki → Dodaj nową → Wyślij wtyczkę na serwer.
  3. Wybierz ZIP i kliknij Zainstaluj teraz.
  4. Kliknij Włącz. WooCommerce musi być aktywny w chwili aktywacji, inaczej wtyczka odmawia instalacji.
  5. W bocznym menu administracyjnym pojawi się nowe menu Social Connect z dwiema podstronami: Statystyki i Ustawienia.

Przy aktywacji tworzone są dwie tabele SQL: wp_dfsc_connections (powiązane konta) i wp_dfsc_events (dziennik zdarzeń dla statystyk). Opcje domyślne zapisywane są w dfsc_settings.

Konfiguracja dostawców

Każdy dostawca ma własną kartę w zakładce Dostawcy w ustawieniach. Dla każdego z nich na górze karty znajdziesz URI przekierowania do skopiowania i wklejenia w konsoli dostawcy. To ten parametr pozwala Twojej witrynie odebrać powrót z uwierzytelnienia.

Google (z One-Tap)

  1. Wejdź na Google Cloud Console i utwórz (albo wybierz) projekt.
  2. W APIs & Services → OAuth consent screen skonfiguruj ekran zgody (typ External dla sklepu publicznego, dodaj swoją domenę w domenach autoryzowanych).
  3. W Credentials → Create credentials → OAuth client ID wybierz Web application.
  4. W Authorized redirect URIs wklej URI wyświetlane w karcie Google w Social Connect (postać: https://twoja-domena.com/?dfsc_action=callback&dfsc_provider=google).
  5. Aby włączyć Google One-Tap, dodaj także swoją domenę główną w Authorized JavaScript origins.
  6. Skopiuj Client ID i Client secret do odpowiednich pól karty Google, włącz przełącznik dostawcy i zaznacz Pokazuj monit One-Tap niezalogowanym odwiedzającym, jeśli chcesz.

One-Tap działa z pełną weryfikacją podpisu JWKS i kontrolą claimów aud, iss i exp. Walidacja jest kryptograficzna, a nie tylko deklaratywna.

Apple (Sign in with Apple)

  1. Na Apple Developer (wymagane płatne konto) przejdź do Certificates, Identifiers & Profiles → Identifiers.
  2. Utwórz App ID z włączoną capability Sign In with Apple.
  3. Następnie utwórz Services ID (to ten identyfikator posłuży jako „Client ID” po stronie Social Connect). Skonfiguruj jego Sign In with Apple: dodaj swoją domenę w Domains, a URI przekierowania z karty Apple w Return URLs.
  4. Utwórz klucz prywatny (Keys → +) z zaznaczonym Sign In with Apple, powiązany z Twoim App ID. Pobierz plik .p8 (można go pobrać tylko raz).
  5. W karcie Apple podaj Services ID, swój Team ID (widoczny w prawym górnym rogu portalu), Key ID (wyświetlany obok utworzonego klucza) i wklej pełną zawartość pliku .p8 w pole Klucz prywatny (razem z liniami -----BEGIN PRIVATE KEY-----).

Apple zwraca imię i nazwisko użytkownika tylko przy pierwszej zgodzie i nigdy nie udostępnia zdjęcia profilowego. Jeśli użytkownik włączy „Hide My Email”, dostarczany jest adres przekaźnikowy Apple i wtyczka używa go normalnie. Jeśli odmówi udostępnienia adresu, wtyczka automatycznie generuje adres techniczny.

Facebook

  1. Na Meta for Developers utwórz aplikację typu Consumer.
  2. W aplikacji dodaj produkt Facebook Login → Web.
  3. W ustawieniach Facebook Login dodaj URI przekierowania z karty Facebook w Valid OAuth Redirect URIs.
  4. Pobierz App ID i App Secret z Settings → Basic i wklej je w kartę Facebook.

Wtyczka wzmacnia każde wywołanie Graph API parametrem appsecret_proof (HMAC-SHA256 tokena podpisany Twoim App Secret), zgodnie z dobrymi praktykami Meta.

Microsoft

  1. Na Microsoft Entra (dawniej Azure AD) przejdź do App registrations → New registration.
  2. Nadaj aplikacji nazwę. W Supported account types wybierz Accounts in any organizational directory and personal Microsoft accounts, jeśli chcesz akceptować oba typy (używa tenanta common).
  3. W Redirect URI wybierz Web i wklej URI z karty Microsoft.
  4. Po utworzeniu skopiuj Application (client) ID do odpowiedniego pola.
  5. W Certificates & secrets utwórz New client secret i natychmiast skopiuj wartość (później nie będzie już widoczna) do pola Client Secret.
  6. Pozostaw pole Tenant na common, aby akceptować konta firmowe i osobiste, albo podaj ID swojego tenanta, aby ograniczyć logowanie do jednej organizacji.

LinkedIn

  1. Na LinkedIn Developers utwórz aplikację powiązaną ze stroną firmową.
  2. W zakładce Products poproś o aktywację Sign In with LinkedIn using OpenID Connect. Zatwierdzenie jest automatyczne.
  3. W zakładce Auth dodaj URI przekierowania z karty LinkedIn w Authorized redirect URLs.
  4. Pobierz Client ID i Client Secret z zakładki Auth i wklej je w Social Connect.

X (Twitter)

  1. Na portalu deweloperskim X utwórz projekt, a następnie aplikację.
  2. W User authentication settings włącz OAuth 2.0, wybierz typ Confidential client (zalecany) i wklej URI przekierowania z karty X w Callback URI / Redirect URL.
  3. Podaj swój Website URL (strona główna sklepu).
  4. Pobierz Client ID i Client Secret i wklej je w Social Connect.

API X v2 nie zwraca adresu e-mail. Wtyczka automatycznie generuje adres techniczny, aby utworzyć odpowiadające konto WordPressa. Jeśli zależy Ci na prawdziwym adresie, użytkownik może go zawsze zaktualizować w swoim panelu klienta.

Umiejscowienie i wygląd

W zakładce Wygląd wybierasz, gdzie wyświetlać przyciski:

  • Formularz logowania WooCommerce (strona Moje konto dla niezalogowanych).
  • Formularz rejestracji WooCommerce.
  • Strona zamówienia (checkout), nad formularzem.
  • Panel Moje konto, z listą powiązanych kont i przyciskami ręcznego łączenia.

Przyciski możesz też wstawić w dowolnym miejscu przez shortcode:

[datafirefly_social_connect]
[datafirefly_social_connect context="login" heading="yes" providers="google,apple"]
[datafirefly_social_connect context="custom" redirect="https://twoja-witryna/cel/"]

Wygląd konfiguruje się na czterech osiach:

  • Styl: pełny (kolory marki), kontur (białe tło, kolorowa ramka), minimalny (jasnoszare tło).
  • Kształt: zaokrąglony, pigułka, kwadratowy.
  • Układ: w pionie albo w linii.
  • Etykieta: „Kontynuuj z…”, „Zaloguj się przez…” albo sama ikona.

Panel statystyk

Panel (menu Social Connect → Statystyki) gromadzi całą aktywność logowania społecznościowego w Twoim sklepie.

KPI i wykresy

Wybór okresu w prawym górnym rogu: 7, 30, 90 lub 365 dni. Sześć wyświetlanych KPI obejmuje:

  • Logowania: suma uwierzytelnień w okresie.
  • Rejestracje: nowe konta utworzone przez logowanie społecznościowe.
  • Powiązane konta (łącznie): skumulowana liczba tożsamości społecznościowych przypisanych do użytkowników.
  • Przypisane zamówienia oraz przypisany przychód: patrz następna sekcja.
  • Współczynnik konwersji: stosunek zamówień do logowań.

KPI uzupełniają cztery wykresy: krzywa zmian w czasie per dostawca, donut rozkładu per dostawca, donut rozkładu per typ urządzenia (komputer, telefon, tablet) i karta „Top kraje” zasilana geolokalizacją.

Przypisywanie zamówień

Każde zamówienie WooCommerce złożone przez użytkownika, który trafił przez logowanie społecznościowe, jest przypisywane do jego dostawcy pochodzenia. Przypisanie opiera się na metadanej użytkownika _dfsc_registered_via, a w razie jej braku na pierwszym aktywnym logowaniu społecznościowym użytkownika.

Nasłuchiwane są hooki woocommerce_checkout_order_processed i woocommerce_store_api_checkout_order_processed, co obejmuje zarówno klasyczny checkout, jak i checkout w blokach.

Test A/B przycisków

W zakładce Wygląd włącz blok Test A/B przycisków i skonfiguruj wariant B (styl, kształt, układ, etykieta). Od tej chwili każdy odwiedzający otrzymuje losowo wariant A (Twoje ustawienia bazowe) albo wariant B (ciasteczko dfsc_ab, 50/50, przechowywane 30 dni).

Wyświetlenie liczone jest raz na sesję odwiedzającego (ciasteczko dfsc_ab_imp), żeby nie zawyżać wolumenu. Konwersje mierzone są na zdarzeniach logowania, rejestracji, powiązania i zamówienia, a wyniki raportowane na karcie Test A/B panelu: wyświetlenia, konwersje, przypisane zamówienia, współczynniki per wariant i automatyczne wskazanie wariantu zwycięskiego.

Aby uzyskać wynik istotny statystycznie, licz co najmniej 500 wyświetleń na wariant. Poniżej 200 zmierzone różnice to w zasadzie szum.

Antyfraud: limit szybkości logowań

W zakładce Prywatność możesz włączyć ograniczanie szybkości per adres IP. Konfigurowalne są trzy progi:

  • Maksymalna liczba prób: domyślnie 8.
  • Okno (minuty): domyślnie 5.
  • Czas blokady (minuty): domyślnie 15.

Po przekroczeniu limitu adres IP jest blokowany na skonfigurowany czas. Zdarzenie typu blocked trafia do dziennika i pojawia się w ostatniej aktywności. Ochrona obejmuje zarówno klasyczne przekierowania OAuth, jak i przepływ Google One-Tap.

Niezależnie od tego wtyczka utrzymuje listę domen jednorazowych adresów e-mail (Mailinator, Yopmail, 10MinuteMail i inne), które można blokować przy rejestracji. Listę rozszerza się filtrem dfsc_disposable_domains.

Geolokalizacja

Włącz geolokalizację w zakładce Prywatność. Wtyczka korzysta z bazy MaxMind wbudowanej już w WooCommerce: żadne wywołanie do usługi zewnętrznej nie jest wykonywane. Jeśli geolokalizacja nie jest jeszcze włączona po stronie WooCommerce, przejdź do WooCommerce → Ustawienia → Ogólne i włącz domyślną opcję geolokalizacji (WooCommerce automatycznie pobierze bazę danych).

Po włączeniu kraj każdego logowania jest rozpoznawany i zasila kartę Top kraje panelu oraz kolumnę „Kraj” w eksporcie CSV.

Eksport CSV

Przycisk Eksportuj do CSV na górze panelu eksportuje wszystkie zdarzenia z wybranego okresu. Plik zawiera kolumnę dla każdego istotnego pola (data UTC, zdarzenie, dostawca, kontekst, kraj, urządzenie, wariant A/B, użytkownik, zamówienie, kwota, komunikat). Na początku pliku dodawany jest BOM UTF-8, dzięki czemu Excel i LibreOffice Calc poprawnie wyświetlają znaki diakrytyczne.

Łączenie kont

Trzy mechanizmy współistnieją, aby powiązać tożsamość społecznościową z kontem WordPressa:

  1. Tożsamość już znana: użytkownik korzystał już z tego dostawcy, jego logowanie jest natychmiastowe.
  2. Automatyczne łączenie po adresie e-mail: istnieje już użytkownik WordPressa z tym samym adresem, który zwrócił dostawca. Jeśli adres jest zweryfikowany przez dostawcę (a opcja Wymagany zweryfikowany e-mail jest włączona), powiązanie następuje automatycznie.
  3. Łączenie ręczne: z panelu Moje konto zalogowany klient może powiązać albo odłączyć każdego dostawcę w sekcji Połączone konta.

RODO i prywatność

W zakładce Prywatność dostępne są trzy tryby przechowywania adresów IP:

  • Haszowany (domyślnie): HMAC-SHA256 z wp_salt, nieodwracalny.
  • Pełny: IP jawnie (używaj tylko wtedy, gdy Twoja polityka prywatności wyraźnie o tym wspomina).
  • Żaden: adres IP w ogóle nie jest zapisywany.

Wtyczka rejestruje exporter i eraser w natywnym systemie RODO WordPressa (Narzędzia → Eksport / Usuwanie danych osobowych). Przy usunięciu użytkownika jego powiązane konta i zdarzenia są także usuwane (albo anonimizowane w przypadku wymazania danych).

Shortcode i integracja zaawansowana

Shortcode [datafirefly_social_connect] przyjmuje następujące atrybuty:

  • context: login, register, checkout albo custom.
  • heading: yes albo no, wyświetla tytuł „Szybkie logowanie” nad przyciskami.
  • providers: lista rozdzielona przecinkami, ograniczająca wyświetlanie (np. google,apple).
  • redirect: bezwzględny adres URL przekierowania po zalogowaniu (ma pierwszeństwo przed ustawieniem globalnym).

Renderowanie możesz też wywołać bezpośrednio w PHP:

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

Hooki i filtry dla deweloperów

  • dfsc_disposable_domains (filtr): rozszerza albo zastępuje listę domen jednorazowych adresów e-mail.
  • dfsc_user_registered (akcja): wywoływana tuż po utworzeniu konta przez logowanie społecznościowe, z ID użytkownika i znormalizowanym profilem.
  • dfsc_after_login (akcja): wywoływana po każdym udanym logowaniu.
  • dfsc_welcome_subject i dfsc_welcome_body (filtry): personalizują temat i treść e-maila powitalnego.
  • dfsc_placeholder_email_domain (filtr): zmienia domenę używaną dla adresów technicznych (odmowa Apple Hide My Email, X).

API REST tylko do odczytu udostępnia zagregowane statystyki pod /wp-json/datafirefly-social-connect/v1/stats?days=30 (wymagana capability manage_woocommerce). Włącz je w zakładce Prywatność.

Zgodność

  • WooCommerce HPOS: zgodność custom_order_tables jest deklarowana przy aktywacji, zamówienia w magazynie wysokowydajnym są obsługiwane bez zastrzeżeń.
  • Bloki checkoutu: hook woocommerce_store_api_checkout_order_processed jest nasłuchiwany równolegle z hookiem klasycznym, przypisywanie zamówień działa dla obu typów checkoutu.
  • Polylang i WPML: ciągi interfejsu są tłumaczalne przez dołączony plik .pot (FR, EN, ES, DE, IT). Treści (e-mail powitalny itd.) są zgodne z oboma wtyczkami wielojęzycznymi.
  • Multisite: każda witryna w sieci ma własne tabele i opcje. Deinstalacja czyści każdą witrynę.

Deinstalacja

Przy usuwaniu wtyczki z poziomu Wtyczki automatycznie wykonywany jest plik uninstall.php. Usuwa on:

  • Tabele wp_dfsc_connections i wp_dfsc_events.
  • Opcje dfsc_settings i dfsc_db_version.
  • Powiązane transienty (cache JWKS Google, cache sekretu klienta Apple, tokeny stanu).
  • Metadane użytkowników (_dfsc_provider, _dfsc_registered_via, _dfsc_avatar_id i inne).

Twoi użytkownicy WordPressa i zamówienia WooCommerce nigdy nie są naruszane. W multisite deinstalacja przechodzi przez wszystkie witryny sieci.

FAQ i rozwiązywanie problemów

Przycisk Google pokazuje „redirect_uri_mismatch”

URI przekierowania wklejone w Google Cloud Console nie odpowiada dokładnie temu z karty Google w Social Connect. Sprawdź, czy skopiowano pełne URI (z https://, końcowym ukośnikiem i parametrami ?dfsc_action=callback&dfsc_provider=google).

Apple zwraca „invalid_client”

Trzy możliwe przyczyny: podany Services ID nie jest Services ID, lecz App ID, Team ID jest błędny albo zawartość klucza prywatnego .p8 jest niekompletna (brak linii -----BEGIN PRIVATE KEY-----). Sprawdź wszystkie trzy elementy i wyczyść cache sekretu klienta Apple, zapisując ponownie ustawienia.

Facebook zwraca błąd appsecret_proof

Wpisany App Secret jest nieprawidłowy albo został zregenerowany po stronie Meta bez aktualizacji tutaj. Wejdź na Meta for Developers, skopiuj sekret ponownie i wklej go w kartę Facebook.

X / Twitter zwraca „invalid_request” przy powrocie

Callback URI nie zostało poprawnie wpisane w portalu deweloperskim X albo typ aplikacji nie jest Confidential client, mimo że Client Secret jest wymagany. Sprawdź portal ponownie.

Panel jest pusty, mimo że były logowania

Sprawdź, czy wybrany okres obejmuje logowania (domyślnie 30 dni). Jeśli wtyczka została dopiero włączona, poczekaj na kilka zdarzeń, zanim wykresy się ożywią.

Test A/B pokazuje współczynniki 0 %

Aby współczynniki stały się miarodajne, potrzeba minimalnej liczby wyświetleń i konwersji. Poczekaj na kilkaset wyświetleń na wariant, zanim zaczniesz interpretować wyniki.

Geolokalizacja nie zwraca żadnego kraju

Sprawdź, czy WooCommerce pobrało bazę MaxMind. Przejdź do WooCommerce → Ustawienia → Ogólne, włącz domyślną geolokalizację i odczekaj kilka minut. Baza jest potem aktualizowana automatycznie przez WooCommerce.

Jak wymusić odłączenie konta od strony administratora?

Wejdź do tabeli wp_dfsc_connections i usuń odpowiadający wiersz. Przy następnym logowaniu przez tego dostawcę użytkownik będzie potraktowany jak nowa tożsamość (dowiązana do jego konta WordPressa po adresie e-mail, jeśli automatyczne łączenie jest aktywne).

Czy ta strona była pomocna?

Nadal utknąłeś? Napisz do wsparcia

Wo WooCommerce Średnio zaawansowany

DataFirefly Social Connect: kompletny przewodnik

Instalacja, konfiguracja i wykorzystanie logowania społecznościowego przez 6 dostawców dla WooCommerce: Google z One-Tap, Apple, Facebook, Microsoft, LinkedIn i X, panel statystyk, przypisywanie zamówień, test A/B i antyfraud.

Zaktualizowano Wersja modułu 1.1.0

Prezentacja

DataFirefly Social Connect dodaje do Twojego sklepu WooCommerce logowanie społecznościowe jednym kliknięciem przez sześciu dostawców (Google, Apple, Facebook, Microsoft, LinkedIn i X), pełny panel statystyk, przypisywanie zamówień do dostawcy pochodzenia, test A/B przycisków, system antyfraudowy i natywną zgodność z RODO.

Wtyczka nie używa żadnej zewnętrznej biblioteki z CDN: wykresy panelu są renderowane w natywnym canvasie HTML5, a przepływy OAuth 2.0 i OpenID Connect są zaimplementowane bezpośrednio w module (pełna weryfikacja podpisów JWKS dla Google One-Tap, podpis ES256 w locie dla Apple, wzmocnienie appsecret_proof dla Facebooka, PKCE S256 dla X).

Wymagania: WordPress 6.2 lub nowszy, WooCommerce 7.0 lub nowszy, PHP 8.0 lub nowszy. Zgodność z HPOS i blokami zamówienia WooCommerce jest deklarowana przez wtyczkę przy aktywacji.

Instalacja

  1. Pobierz plik ZIP wtyczki ze swojego konta klienta DataFirefly.
  2. W WordPressie przejdź do Wtyczki → Dodaj nową → Wyślij wtyczkę na serwer.
  3. Wybierz ZIP i kliknij Zainstaluj teraz.
  4. Kliknij Włącz. WooCommerce musi być aktywny w momencie aktywacji, inaczej wtyczka odmówi instalacji.
  5. W pasku bocznym administracji pojawi się nowe menu Social Connect z dwiema podstronami: Statystyki i Ustawienia.

Przy aktywacji tworzone są dwie tabele SQL: wp_dfsc_connections (powiązane konta) i wp_dfsc_events (dziennik zdarzeń dla statystyk). Domyślne opcje są zapisywane w dfsc_settings.

Konfiguracja dostawców

Każdy dostawca ma własną kartę w zakładce Dostawcy ustawień. Na górze każdej karty znajdziesz URI przekierowania do skopiowania do konsoli dostawcy. To ten parametr pozwala Twojej witrynie odebrać powrót uwierzytelnienia.

Google (z One-Tap)

  1. Wejdź na Google Cloud Console i utwórz (albo wybierz) projekt.
  2. W APIs & Services → OAuth consent screen skonfiguruj ekran zgody (typ External dla sklepu publicznego, dodaj swoją domenę do domen autoryzowanych).
  3. W Credentials → Create credentials → OAuth client ID wybierz Web application.
  4. W Authorized redirect URIs wklej URI wyświetlony na karcie Google w Social Connect (postać: https://twoja-domena.com/?dfsc_action=callback&dfsc_provider=google).
  5. Aby włączyć Google One-Tap, dodaj też swoją domenę główną w Authorized JavaScript origins.
  6. Skopiuj Client ID i Client secret do odpowiednich pól karty Google, włącz przełącznik dostawcy i w razie potrzeby zaznacz Pokazuj monit One-Tap niezalogowanym odwiedzającym.

One-Tap działa z pełną weryfikacją podpisu JWKS i kontrolą claimów aud, iss oraz exp. Walidacja jest kryptograficzna, a nie tylko deklaratywna.

Apple (Sign in with Apple)

  1. Na Apple Developer (wymagane konto płatne) przejdź do Certificates, Identifiers & Profiles → Identifiers.
  2. Utwórz App ID z włączoną funkcją Sign In with Apple.
  3. Następnie utwórz Services ID (to ten identyfikator posłuży jako „Client ID” po stronie Social Connect). Skonfiguruj jego Sign In with Apple: dodaj swoją domenę w Domains, a URI przekierowania z karty Apple w Return URLs.
  4. Utwórz klucz prywatny (Keys → +) z zaznaczonym Sign In with Apple, powiązany z Twoim App ID. Pobierz plik .p8 (można go pobrać tylko raz).
  5. Na karcie Apple wpisz Services ID, swój Team ID (widoczny w prawym górnym rogu portalu), Key ID (wyświetlany obok utworzonego klucza) i wklej pełną zawartość pliku .p8 w pole Klucz prywatny (razem z liniami -----BEGIN PRIVATE KEY-----).

Apple zwraca nazwę użytkownika wyłącznie przy pierwszej zgodzie i nigdy nie udostępnia zdjęcia profilowego. Jeśli użytkownik włączy „Hide My Email”, dostarczany jest adres pośredniczący Apple, którego wtyczka używa normalnie. Jeśli odmówi udostępnienia adresu, wtyczka automatycznie generuje adres techniczny.

Facebook

  1. Na Meta for Developers utwórz aplikację typu Consumer.
  2. W aplikacji dodaj produkt Facebook Login → Web.
  3. W ustawieniach Facebook Login dodaj URI przekierowania z karty Facebook w Valid OAuth Redirect URIs.
  4. Pobierz App ID i App Secret z Settings → Basic i wklej je na karcie Facebook.

Wtyczka wzmacnia każde wywołanie Graph API parametrem appsecret_proof (HMAC-SHA256 tokena podpisany Twoim App Secret), zgodnie z dobrymi praktykami Meta.

Microsoft

  1. Na Microsoft Entra (dawniej Azure AD) przejdź do App registrations → New registration.
  2. Nadaj aplikacji nazwę. W Supported account types wybierz Accounts in any organizational directory and personal Microsoft accounts, jeśli chcesz akceptować oba typy (używa tenanta common).
  3. W Redirect URI wybierz Web i wklej URI z karty Microsoft.
  4. Po utworzeniu skopiuj Application (client) ID do odpowiedniego pola.
  5. W Certificates & secrets utwórz New client secret i natychmiast skopiuj wartość (później nie będzie już widoczna) do pola Client Secret.
  6. Zostaw pole Tenant na common, aby akceptować konta firmowe i osobiste, albo wpisz identyfikator swojego tenanta, aby ograniczyć dostęp do jednej organizacji.

LinkedIn

  1. Na LinkedIn Developers utwórz aplikację powiązaną ze stroną firmową.
  2. W zakładce Products poproś o włączenie Sign In with LinkedIn using OpenID Connect. Zatwierdzenie jest automatyczne.
  3. W zakładce Auth dodaj URI przekierowania z karty LinkedIn w Authorized redirect URLs.
  4. Pobierz Client ID i Client Secret z zakładki Auth i wklej je w Social Connect.

X (Twitter)

  1. Na portalu deweloperskim X utwórz projekt, a następnie aplikację.
  2. W User authentication settings włącz OAuth 2.0, wybierz typ Confidential client (zalecany) i wklej URI przekierowania z karty X w Callback URI / Redirect URL.
  3. Uzupełnij Website URL (strona główna Twojego sklepu).
  4. Pobierz Client ID i Client Secret i wklej je w Social Connect.

API X v2 nie zwraca adresu e-mail. Wtyczka automatycznie generuje adres techniczny, aby utworzyć odpowiadające konto WordPressa. Jeśli zależy Ci na prawdziwym adresie, użytkownik może go zawsze zaktualizować w swoim panelu klienta.

Umiejscowienie i wygląd

W zakładce Wygląd wybierasz, gdzie wyświetlać przyciski:

  • Formularz logowania WooCommerce (strona Moje konto dla niezalogowanych).
  • Formularz rejestracji WooCommerce.
  • Strona zamówienia (checkout), nad formularzem.
  • Pulpit Moje konto, z listą powiązanych kont i przyciskami ręcznego łączenia.

Przyciski możesz też wstawić w dowolnym miejscu przez shortcode:

[datafirefly_social_connect]
[datafirefly_social_connect context="login" heading="yes" providers="google,apple"]
[datafirefly_social_connect context="custom" redirect="https://twoja-witryna/cel/"]

Wygląd konfigurujesz w czterech wymiarach:

  • Styl: pełny (kolory marek), konturowy (białe tło, kolorowa ramka), minimalny (jasnoszare tło).
  • Kształt: zaokrąglony, pigułka, kwadratowy.
  • Układ: w pionie albo w linii.
  • Etykieta: „Kontynuuj z…”, „Zaloguj się przez…” albo sama ikona.

Panel statystyk

Panel (menu Social Connect → Statystyki) zbiera całą aktywność logowania społecznościowego w Twoim sklepie.

KPI i wykresy

Wybór okresu w prawym górnym rogu: 7, 30, 90 lub 365 dni. Sześć wyświetlanych KPI obejmuje:

  • Logowania: łączna liczba uwierzytelnień w okresie.
  • Rejestracje: nowe konta utworzone przez logowanie społecznościowe.
  • Powiązane konta (łącznie): skumulowana liczba tożsamości społecznościowych przypisanych do użytkowników.
  • Przypisane zamówienia oraz przypisany przychód: patrz następna sekcja.
  • Współczynnik konwersji: stosunek zamówień do logowań.

KPI uzupełniają cztery wykresy: krzywa zmian w czasie per dostawca, wykres kołowy udziału dostawców, wykres kołowy typów urządzeń (komputer, telefon, tablet) oraz karta „Top kraje” zasilana geolokalizacją.

Przypisywanie zamówień

Każde zamówienie WooCommerce złożone przez użytkownika pozyskanego przez logowanie społecznościowe jest przypisywane do jego dostawcy pochodzenia. Przypisanie opiera się na meta użytkownika _dfsc_registered_via, a awaryjnie na pierwszym aktywnym połączeniu społecznościowym użytkownika.

Nasłuchiwane są hooki woocommerce_checkout_order_processed i woocommerce_store_api_checkout_order_processed, co obejmuje zarówno klasyczny checkout, jak i checkout blokowy.

Test A/B przycisków

W zakładce Wygląd włącz blok Test A/B przycisków i skonfiguruj wariant B (styl, kształt, układ, etykieta). Od tego momentu każdy odwiedzający losowo otrzymuje wariant A (Twoje ustawienia bazowe) albo wariant B (ciasteczko dfsc_ab, podział 50/50, przechowywane 30 dni).

Odsłona jest liczona raz na sesję odwiedzającego (ciasteczko dfsc_ab_imp), aby nie zawyżać wolumenu. Konwersje są mierzone na zdarzeniach logowania, rejestracji, powiązania i zamówienia oraz raportowane na karcie Test A/B panelu, z odsłonami, konwersjami, przypisanymi zamówieniami, współczynnikami per wariant i automatycznym wskazaniem wariantu zwycięskiego.

Aby uzyskać wynik istotny statystycznie, licz co najmniej 500 odsłon na wariant. Poniżej 200 zmierzone różnice to głównie szum.

Antyfraud: limit prędkości logowania

W zakładce Prywatność możesz włączyć limitowanie prędkości per adres IP. Konfigurowalne są trzy progi:

  • Maksymalna liczba prób: domyślnie 8.
  • Okno (minuty): domyślnie 5.
  • Czas blokady (minuty): domyślnie 15.

Po przekroczeniu limitu adres IP jest blokowany na skonfigurowany czas. Zdarzenie typu blocked trafia do dziennika i pojawia się w ostatniej aktywności. Ochrona obejmuje zarówno klasyczne przekierowania OAuth, jak i przepływ Google One-Tap.

Niezależnie od tego wtyczka utrzymuje listę domen jednorazowych adresów e-mail (Mailinator, Yopmail, 10MinuteMail i inne), które można blokować przy rejestracji. Listę rozszerzysz filtrem dfsc_disposable_domains.

Geolokalizacja

Włącz geolokalizację w zakładce Prywatność. Wtyczka korzysta z bazy MaxMind wbudowanej już w WooCommerce: żadne wywołanie do usługi zewnętrznej nie jest wykonywane. Jeśli nie masz jeszcze włączonej geolokalizacji po stronie WooCommerce, przejdź do WooCommerce → Ustawienia → Ogólne i włącz domyślną opcję geolokalizacji (WooCommerce automatycznie pobierze bazę danych).

Po włączeniu kraj każdego logowania jest rozpoznawany i zasila kartę Top kraje panelu oraz kolumnę „Kraj” w eksporcie CSV.

Eksport CSV

Przycisk Eksportuj do CSV na górze panelu eksportuje wszystkie zdarzenia z wybranego okresu. Plik zawiera kolumnę dla każdego istotnego pola (data UTC, zdarzenie, dostawca, kontekst, kraj, urządzenie, wariant A/B, użytkownik, zamówienie, kwota, komunikat). Na początku pliku dodawany jest BOM UTF-8, dzięki czemu Excel i LibreOffice Calc poprawnie wyświetlają znaki diakrytyczne.

Łączenie kont

Współistnieją trzy mechanizmy wiązania tożsamości społecznościowej z kontem WordPressa:

  1. Tożsamość już znana: użytkownik korzystał już z tego dostawcy, jego logowanie jest natychmiastowe.
  2. Automatyczne łączenie po adresie e-mail: istnieje już użytkownik WordPressa z tym samym adresem e-mail, który zwrócił dostawca. Jeśli adres jest zweryfikowany przez dostawcę (a opcja Wymagany zweryfikowany e-mail jest włączona), połączenie następuje automatycznie.
  3. Łączenie ręczne: z pulpitu Moje konto zalogowany klient może powiązać albo odpiąć każdego dostawcę w panelu Połączone konta.

RODO i prywatność

W zakładce Prywatność dostępne są trzy tryby przechowywania adresów IP:

  • Haszowany (domyślnie): HMAC-SHA256 z wp_salt, nieodwracalny.
  • Pełny: IP jawnie (używaj tylko wtedy, gdy Twoja polityka prywatności wyraźnie o tym wspomina).
  • Żaden: IP nie jest w ogóle zapisywany.

Wtyczka rejestruje exporter i eraser w natywnym systemie RODO WordPressa (Narzędzia → Eksport / Usuwanie danych osobowych). Przy usunięciu użytkownika jego powiązane konta i zdarzenia są również usuwane (albo anonimizowane przy wymazywaniu).

Shortcode i integracja zaawansowana

Shortcode [datafirefly_social_connect] przyjmuje następujące atrybuty:

  • context: login, register, checkout albo custom.
  • heading: yes albo no, wyświetla tytuł „Szybkie logowanie” nad przyciskami.
  • providers: lista rozdzielona przecinkami ograniczająca wyświetlanie (np. google,apple).
  • redirect: bezwzględny adres URL przekierowania po zalogowaniu (ma pierwszeństwo przed ustawieniem globalnym).

Renderowanie możesz też wywołać bezpośrednio w PHP:

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

Hooki i filtry dla deweloperów

  • dfsc_disposable_domains (filtr): rozszerza albo zastępuje listę domen jednorazowych adresów e-mail.
  • dfsc_user_registered (akcja): wywoływana zaraz po utworzeniu konta przez logowanie społecznościowe, z ID użytkownika i znormalizowanym profilem.
  • dfsc_after_login (akcja): wywoływana po każdym udanym logowaniu.
  • dfsc_welcome_subject i dfsc_welcome_body (filtry): personalizują temat i treść e-maila powitalnego.
  • dfsc_placeholder_email_domain (filtr): zmienia domenę używaną dla adresów technicznych (odmowa Apple Hide My Email, X).

API REST tylko do odczytu udostępnia zagregowane statystyki pod /wp-json/datafirefly-social-connect/v1/stats?days=30 (wymagana zdolność manage_woocommerce). Włącz je w zakładce Prywatność.

Zgodność

  • WooCommerce HPOS: zgodność custom_order_tables jest deklarowana przy aktywacji, zamówienia w wydajnym magazynie są w pełni obsługiwane.
  • Bloki zamówienia: hook woocommerce_store_api_checkout_order_processed jest nasłuchiwany równolegle do klasycznego, przypisywanie zamówień działa w obu typach checkoutu.
  • Polylang i WPML: ciągi interfejsu są tłumaczalne przez dołączony plik .pot (FR, EN, ES, DE, IT). Treści (e-mail powitalny i inne) są zgodne z obiema wtyczkami wielojęzycznymi.
  • Multisite: każda witryna w sieci ma własne tabele i opcje. Deinstalacja czyści każdą witrynę.

Deinstalacja

Przy usuwaniu wtyczki z poziomu Wtyczki automatycznie wykonywany jest plik uninstall.php. Usuwa on:

  • Tabele wp_dfsc_connections i wp_dfsc_events.
  • Opcje dfsc_settings i dfsc_db_version.
  • Powiązane transienty (cache JWKS Google, cache sekretu klienta Apple, tokeny stanu).
  • Metadane użytkowników (_dfsc_provider, _dfsc_registered_via, _dfsc_avatar_id i inne).

Twoi użytkownicy WordPressa i zamówienia WooCommerce nigdy nie są naruszane. W trybie multisite deinstalacja przechodzi przez wszystkie witryny sieci.

FAQ i rozwiązywanie problemów

Przycisk Google pokazuje „redirect_uri_mismatch”

URI przekierowania wklejony w Google Cloud Console nie odpowiada dokładnie temu z karty Google w Social Connect. Sprawdź, czy skopiowano pełny URI (z https://, końcowym ukośnikiem i parametrami ?dfsc_action=callback&dfsc_provider=google).

Apple zwraca „invalid_client”

Trzy możliwe przyczyny: wpisany Services ID nie jest Services ID, tylko App ID; Team ID jest błędny; albo zawartość klucza prywatnego .p8 jest niepełna (brak linii -----BEGIN PRIVATE KEY-----). Sprawdź wszystkie trzy i wyczyść cache sekretu klienta Apple, zapisując ponownie ustawienia.

Facebook zwraca błąd appsecret_proof

Wpisany App Secret jest niepoprawny albo został zregenerowany po stronie Meta bez aktualizacji tutaj. Wejdź na Meta for Developers, skopiuj sekret ponownie i wklej go na karcie Facebook.

X / Twitter zwraca „invalid_request” przy powrocie

Callback URI nie został poprawnie wpisany w portalu deweloperskim X, albo typ aplikacji nie jest ustawiony na Confidential client, mimo że Client Secret jest obowiązkowy. Sprawdź portal jeszcze raz.

Panel jest pusty, chociaż były logowania

Sprawdź, czy wybrany okres obejmuje logowania (domyślnie 30 dni). Jeśli wtyczka została dopiero włączona, poczekaj na co najmniej kilka zdarzeń, zanim wykresy się ożywią.

Test A/B pokazuje współczynniki 0 %

Potrzebna jest minimalna liczba odsłon i konwersji, aby współczynniki stały się znaczące. Odczekaj kilkaset odsłon na wariant przed interpretacją wyników.

Geolokalizacja nie zwraca żadnego kraju

Sprawdź, czy WooCommerce pobrał bazę MaxMind. Przejdź do WooCommerce → Ustawienia → Ogólne, włącz domyślną geolokalizację i odczekaj kilka minut. Baza jest potem aktualizowana automatycznie przez WooCommerce.

Jak wymusić odpięcie konta po stronie administratora?

Wejdź do tabeli wp_dfsc_connections i usuń odpowiedni wiersz. Przy następnym logowaniu przez tego dostawcę użytkownik zostanie potraktowany jako nowa tożsamość (dołączona do jego konta WordPressa po adresie e-mail, jeśli automatyczne łączenie jest aktywne).

Czy ta strona była pomocna?

Nadal utknąłeś? Napisz do wsparcia