Conversions API dla Shopify, z zamówień sklepu
Ktoś na r/FacebookAds opisał natywną integrację Shopify z Metą słowami „jakby trzy razy” (o liczbie zakupów). Dubel bierze się z kilku dróg tego samego zakupu. Basketly czyta zakup z zamówienia przez API sklepu i wysyła go do Mety z serwera, a bilans zakupów pokazuje, ile faktycznie przyjęła Meta.
Demo ma przykładowe dane; login przychodzi na Twój e-mail.
Skąd bierze się dubel zakupu
Pixel w przeglądarce i wysyłka z serwera to dwie drogi tego samego zakupu. Meta policzy go raz tylko wtedy, gdy oba zdarzenia mają ten sam identyfikator. Gdy w sklepie działa kilka narzędzi, które wysyłają zakup, łatwo o dubel i trudno go znaleźć. Dlatego Basketly zawsze wysyła zakup z jednym, stałym identyfikatorem, a Bilans zakupów pokazuje zamówienia sklepu obok zakupów przyjętych przez Metę.
Co robi Basketly w Shopify
Podajesz adres sklepu (*.myshopify.com), token dostępu z własnej aplikacji (custom app) utworzonej w sklepie i klucz API tej aplikacji. Resztę robi panel.
- Zapisanie sprawdza dostęp odczytem sklepu, jednego zamówienia i jednego produktu. Odmowa jest nazwana: zły token, zamrożony sklep albo brak uprawnień read_orders, read_products lub read_customers.
- Z kluczem API aplikacji panel zapisuje się na zamówienia i produkty (zamówienie utworzone i zmienione, produkt utworzony, zmieniony i usunięty) i przyjmuje powiadomienie tylko z poprawnym podpisem i właściwą domeną sklepu. Bez klucza zamówienia przychodzą z odczytem co 15 minut.
- Opłacone, nieanulowane zamówienie staje się zakupem: wartość, waluta, produkty z pozycji, e-mail, telefon (haszowane przed wysyłką), IP kupującego z zamówienia. Zamówienie anulowane, zwrócone w całości albo unieważnione nie jest wysyłane.
- Każdy zakup jest najpierw zapisany, a potem wysyłany z ponawianiem. Gdy Meta ma awarię, zakup czeka, a nie ginie.
- Produkty ze Shopify (tytuł, opis, link ze sklepu, zdjęcie, cena i cena przed obniżką, SKU, kod kreskowy, dostawca jako marka, stan) trafiają do ekranu Produkty z diagnozą pod Google Merchant Center i katalog Mety, a stamtąd do poprawionego feedu.
- Limity Shopify są respektowane: po odmowie z powodu limitu zadanie czeka i wraca.
Podłączenie Shopify w 4 krokach
Zajmuje kilka minut. Nie potrzebujesz programisty, ale dodasz własną aplikację w sklepie.
Utwórz własną aplikację w Shopify
W sklepie utwórz własną aplikację (custom app) z dostępem do odczytu zamówień, produktów i klientów. Zapisz token dostępu Admin API (shpat_…) i klucz API aplikacji.
Dodaj sklep w panelu
W Basketly otwórz Integracje → Źródła danych → Dodaj źródło, wybierz Shopify i podaj nazwę oraz adres sklepu. Z menu źródła otwórz połączenie z API, wpisz adres *.myshopify.com, token i klucz API aplikacji, zaznacz statusy kupione i potwierdź podstawę prawną przekazywania danych.
Podłącz Metę i dodaj atrybut z instrukcji
Zaloguj się kontem Meta, wybierz zbiór danych (Pixel) i zostaw przepływ zakupów ze sklepu do Mety. Instrukcja podłączenia pokazuje skrypt dla sklepu i atrybut koszyka z identyfikatorem.
Sprawdź pierwszy zakup
Kliknij „Pobierz teraz”, wyślij Zdarzenie testowe z kodem z Events Managera, a po pierwszych zamówieniach zajrzyj do Bilansu zakupów.
Płatność za pobraniem i statusy
Zamówienie ze statusem płatności PAID jest kupione od razu. Przy płatności za pobraniem Shopify zwykle trzyma PENDING, więc przy podłączeniu możesz zaznaczyć PENDING, AUTHORIZED albo PARTIALLY_PAID jako kupione. Anulowane, w pełni zwrócone (REFUNDED) i unieważnione (VOIDED) zamówienia nie stają się zakupem. Pamiętaj o limicie Mety: zakup starszy niż 7 dni nie zostanie przyjęty.
Połączenie zakupu z wizytą i historia
Instrukcja podłączenia dodaje do koszyka atrybut z identyfikatorem skryptu Basketly. Zakup niesie wtedy to, co skrypt widział podczas wizyty, ale tylko po zgodzie kupującego, bo skrypt działa dopiero wtedy. Historia zamówień z 24 miesięcy wczytuje się raz; bez uprawnienia read_all_orders Shopify udostępnia tylko ostatnie 60 dni. Z jednego zamówienia czytane jest do 25 pozycji, a suma zamówienia jest zawsze pełna.
Jak sprawdzić, że to działa
- Zdarzenie testowe: jednym kliknięciem wysyłasz najnowszy zakup ze sklepu z kodem testowym z Events Managera i widzisz go w zakładce Test Events.
- Bilans zakupów: zamówienia sklepu obok zakupów przyjętych przez Metę, dzień po dniu, z najczęstszymi powodami błędów.
- Autodiagnostyka: porównuje statystyki zbioru danych w Mecie z tym, co naprawdę wysłaliśmy, i podpowiada, co poprawić.
- Zamówienia: przy każdym zamówieniu widać, czy zakup został przyjęty, nie przeszedł, czy czeka.
Czego to nie zrobi
- Nie wyłącza natywnej integracji Shopify ani innych aplikacji. Jeśli któraś też wysyła zakup z serwera, masz dwie serwerowe drogi tego samego zakupu: zostaw jedną albo zadbaj o ten sam identyfikator zdarzenia i sprawdź wynik w Events Managerze.
- Nie zastępuje Pixela w przeglądarce: zdarzenia takie jak oglądanie produktu czy dodanie do koszyka zostają po stronie sklepu. To druga, niezależna droga dla zakupów.
- Bez skryptu Basketly w sklepie i zgody kupującego Meta nie dostanie identyfikatora kliknięcia reklamy, więc przypisanie zakupu do reklamy bywa słabsze.
- Nie wyrówna liczb Mety i sklepu: Meta liczy zakupy po swoich oknach atrybucji. Pokazujemy obie liczby obok siebie.
- Nie wyśle zakupu starszego niż 7 dni i nie działa bez potwierdzonej podstawy prawnej sklepu.
Nie musisz. To, co robi ta integracja, zostaje po stronie sklepu, a Basketly dodaje zakup z zamówienia jako drugą drogę. Jeśli oba kanały wysyłają ten sam zakup, Meta policzy go raz tylko wtedy, gdy mają ten sam identyfikator zdarzenia. Serwer wysyła shopify-order-<numer zamówienia>, więc po podłączeniu sprawdź w Events Managerze, czy zakupy się nie dublują.
Dzięki niemu panel zapisuje się na webhooki Shopify i sprawdza ich podpis, więc zamówienia przychodzą od razu. Bez niego działa odczyt co 15 minut.
Tak, jeśli zaznaczysz status płatności, który liczy się jako kupiony. Zakup pójdzie po takiej zmianie, pod warunkiem że od zamówienia nie minęło 7 dni.
Pierwszy odczyt sięga 7 dni wstecz, bo starszych zakupów Meta nie przyjmie. Historia zamówień wczytuje się raz do Zamówień i Klientów, ale nie jest wysyłana do Mety.
Plan darmowy obejmuje do 100 zamówień miesięcznie, bez karty i bez limitu czasu. Limit liczy zamówienia, nie wysyłki do platform. Pozostałe plany są w cenniku.
Zobacz też
- Meta Conversions APIOpłacone zamówienia ze sklepu wysyłane do Mety z serwera, z kolejką, która nie gubi zakupów, i wynikiem każdej wysyłki.Czytaj
- AutodiagnostykaJedno sprawdzenie całej konfiguracji: sklep, wysyłka zakupów do Mety, logowania, zadania w tle i automatyzacje, z linkiem do poprawki przy każdym problemie.Czytaj
- Basketly a StapeStape (serwerowy GTM, bramka CAPI) obok Basketly (zakupy z zamówień sklepu): tabela, ceny ze strony Stape z datą, kiedy co wybrać.Czytaj
- Conversions API (CAPI)Wysyłka zdarzeń, np. zakupów, do Mety z serwera sklepu zamiast z przeglądarki klienta.Czytaj
- Deduplikacja zdarzeń Pixela i Conversions API: event_id, event_name i okno 48 godzinJak Meta łączy to samo zdarzenie z Pixela i z Conversions API: event_id, event_name, okno 48 godzin, metoda fbp, typowe błędy i sprawdzenie w Menedżerze zdarzeń.Czytaj
- Bilans zakupów: jak sprawdzić, czy zamówienia ze sklepu naprawdę docierają do Mety i innych platformJak czytać bilans zakupów dzień po dniu: zamówienia w sklepie, zakupy przyjęte przez Basketly i wysyłki do Mety oraz innych platform. Co znaczy każda różnica.Czytaj
Zacznij w mniej niż 5 minut
Połącz sklep i Metę i zobacz, ile zakupów naprawdę dociera.
- Za darmo do 100 zamówień miesięcznie
- Bez programisty
- Bilans zakupów i autodiagnostyka