Niestandardowe wyzwalacze w witrynie sklepu
Jedna linijka JavaScript w motywie zamienia dowolne zdarzenie sklepu, np. otwarcie szuflady koszyka lub dodanie do listy życzeń, w wyzwalacz Shopify Flow.
Wbudowane wyzwalacze związane ze sklepem internetowym obejmują zdarzenia zgłaszane przez Shopify. Niestandardowy wyzwalacz sklepu internetowego obejmuje wszystkie pozostałe zdarzenia zachodzące w Państwa sklepie: wystarczy opublikować zdarzenie z poziomu motywu za pomocą jednego wiersza kodu JavaScript, a stanie się ono wyzwalaczem, z którego można korzystać w Shopify Flow.
Najbardziej wyraźnym przykładem jest wysuwana szuflada koszyka. Zdarzenie „view” koszyka w Shopify uruchamia się na stronie /cart, a większość nowoczesnych motywów nigdy nie przekierowuje użytkownika na tę stronę - zamiast tego otwierają wysuwaną szufladę. Shopify nie generuje żadnych komunikatów, więc żadna aplikacja nie ma do nich wglądu. Opublikowanie własnego zdarzenia w momencie otwarcia szuflady pozwala wypełnić tę lukę.
Inne zastosowania tego rozwiązania w sklepach:
- Dodanie do listy życzeń lub kliknięcie opcji Powiadom mnie - Shopify nie rejestruje żadnej z tych czynności.
- Otwarcie przewodnika po rozmiarach lub zasad dotyczących zwrotów jako wskazówka dotycząca produktu.
- Zmiana wariantu w selektorze, która nie stanowi wyświetlenia nowej strony (patrz Wyzwalacze w interfejsie sklepu).
- Wszystko, o czym wie już Państwa motyw lub aplikacja zewnętrzna, a czego nie wie Shopify.
Jak to działa
- Proszę utworzyć wyzwalacz w aplikacji i nadać mu nazwę zdarzenia, na przykład
cart_drawer_opened. Podobnie jak każdy wyzwalacz związany z interfejsem sklepu, wymaga on uprawnienia Dostęp do zachowań interfejsu sklepu, które przyznaje się jednorazowo na stronie „Uprawnienia”. - Skopiujcie jednowierszowy fragment kodu wyświetlany przez aplikację i wklejcie go do swojego motywu w miejscu, gdzie ma to miejsce. Jeśli nie są Państwo pewni, co lub gdzie wkleić, polecenie Wygeneruj kod wyzwalacza za pomocą sztucznej inteligencji wygeneruje fragment kodu dla Państwa motywu na podstawie opisu sformułowanego prostym językiem angielskim.
- Proszę wpisać transformację, jeśli chcą Państwo filtrować lub modyfikować wysyłane dane, lub pozostawić to pole puste, aby przekazywać wszystko bez zmian.
- Proszę włączyć tę opcję, a następnie dodać Custom Storefront Trigger w Shopify Flow i utworzyć rozgałęzienie na podstawie nazwy zdarzenia.
Poniższy fragment kodu stanowi całość integracji po stronie motywu:

Shopify.analytics.publish("cart_drawer_opened", {
// anything you want the Flow to receive
itemCount: 3,
total: "129.90"
});Nadanie nazwy wydarzeniu
Nazwa zdarzenia stanowi podstawę rozgałęzienia procesu w Shopify Flow, dlatego prosimy o wybranie nazwy zrozumiałej i niezmienianie jej po tym, jak procesy zaczną z niej korzystać.
Nazwy mogą zawierać litery, cyfry, znaki podkreślenia i łączniki, muszą zaczynać się od litery lub cyfry i mogą mieć maksymalnie 64 znaki. Aplikacja przekształca wpisany tekst w skrót, więc Cart drawer opened staje się cart_drawer_opened.
Nazwa ta jest wewnętrznie przypisana do przestrzeni nazw, dzięki czemu nigdy nie dojdzie do kolizji z wydarzeniem w Shopify ani z niestandardowym wyzwalaczem webhooka o tej samej nazwie.
Filtrowanie i przekształcanie
Dane przekazane jako drugi argument trafiają do Shopify Flow jako output wyzwalacza. Jeśli to wszystko, czego Państwo potrzebują, to na tym kończy się procedura.
Jeśli chcą Państwo uruchomić zdarzenie tylko w niektórych przypadkach lub przesłać pola inne niż te opublikowane w szablonie, proszę napisać transformację - ten sam moduł JavaScript, z którego korzysta Wyzwalacze niestandardowe. Aby uruchomić zdarzenie, proszę zwrócić obiekt; aby je pominąć, proszę zwrócić null:
export async function transform(payload, topic, shop, ctx) {
// Anything you published is on `payload`.
if ((payload.itemCount || 0) < 2) return null;
return {
itemCount: payload.itemCount,
total: payload.total,
// Present only when the shopper is signed in.
customerId: payload.customerId,
};
}Korzystanie z tej funkcji w Shopify Flow
Każdy wyzwalacz „Custom Storefront Trigger” pojawia się w usłudze Shopify Flow jako ten sam wyzwalacz: Custom Storefront Trigger. Proszę dodać go do przepływu pracy, a następnie dodać warunek, zgodnie z którym wartość eventName musi być zgodna z wybraną przez Państwa nazwą.
To właśnie pozwala jednemu wyzwalaczowi w Shopify Flow rejestrować wszystkie zdarzenia w Państwa sklepie. Wyzwalacz ten zawiera również nazwę, którą nadali mu Państwo w aplikacji, oraz wynik Państwa transformacji.
Jest to celowe oddzielenie od funkcji Custom Trigger, która obsługuje element Wyzwalacze niestandardowe oparty na webhookach. Różnica między nimi jest na tyle istotna, że warto o niej wiedzieć: niestandardowy wyzwalacz oparty na webhookach działa na naszych serwerach i jest niezawodny, natomiast zdarzenie w witrynie sklepu zależy od tego, czy przeglądarka klienta nawiąże z nami połączenie, oraz od wyrażonej przez niego zgody na gromadzenie danych analitycznych.
Czego nie należy wysyłać
Drugi argument funkcji publish podlega całkowicie Państwa kontroli, co oznacza, że to na Państwa odpowiedzialności spoczywa zadanie zapewnienia, by nie zawierał on danych osobowych.
Prosimy o przesłanie identyfikatorów i danych: identyfikatorów produktów i wariantów, ilości, cen oraz nazwy zdarzenia. Identyfikator zalogowanego klienta jest dodawany automatycznie, o ile jest dostępny, więc nie muszą Państwo przekazywać go samodzielnie.
Prosimy nie przesyłać imion i nazwisk, adresów e-mail, numerów telefonów ani adresów pocztowych. Państwa proces biznesowy może pobrać te dane na podstawie identyfikatora klienta w Shopify Flow, więc umieszczanie ich w zdarzeniu związanym ze sklepem internetowym nie przynosi żadnych korzyści, a ponadto powoduje, że zdarzenie analityczne staje się zdarzeniem zawierającym dane osobowe.
Czy to zużywa limit z mojego pakietu?
Tak. Każde zdarzenie, które do nas dociera, jest brane pod uwagę, w tym te, które Państwa funkcja transformacji pomija, zwracając wartość null - obowiązuje tu ta sama zasada, co w przypadku Wyzwalacze niestandardowe. Zdarzenia odrzucane w przeglądarce z powodu braku zgody nigdy do nas nie docierają i nigdy nie są uwzględniane.
Ponieważ to Państwo decydują, gdzie zostanie umieszczony fragment kodu, mają Państwo bezpośrednią kontrolę nad jego intensywnością. Zdarzenie otwarcia szuflady występuje znacznie rzadziej niż wyświetlenie produktu.
Czy mogę opublikować to samo wydarzenie z więcej niż jednego miejsca?
Tak. Liczy się nazwa, a nie miejsce publikacji. Przekazanie w treści danych informacji o źródle pochodzenia jest dobrym pomysłem, jeśli chcą Państwo, aby system rozróżniał te elementy.
Czy otwarcie dwóch szuflad będzie traktowane jako jedno zdarzenie?
Nie. Zdarzenia celowe są traktowane oddzielnie, ponieważ dwukrotne opublikowanie zazwyczaj oznacza, że rzeczywiście miały one miejsce dwukrotnie. Różni się to od wbudowanych wyzwalaczy, które agregują powtórzenia tego samego wyświetlenia strony.
Czy mogę później zmienić nazwę wydarzenia?
Jest to możliwe, jednak proces w Shopify Flow stosuje filtr oparty na tej nazwie, więc zmiana nazwy spowoduje wstrzymanie działania tego procesu do momentu aktualizacji warunku - konieczne będzie również dostosowanie fragmentu kodu w motywie. Proszę traktować tę nazwę jako stałą, gdy tylko zostanie ona wykorzystana w procesie.
Jak mogę to przetestować, zanim zostanie udostępnione w moim sklepie internetowym?
Strona poświęcona wyzwalaczom w aplikacji zawiera test, który uruchamia Państwa transformację i uruchamia proces Shopify Flow, dzięki czemu mogą Państwo obserwować jego przebieg od początku do końca bez ingerencji w motyw. Testowanie nie zużywa Państwa limitu.
Gdy fragment kodu zostanie umieszczony w Państwa motywie, strona „Historia zdarzeń” wyświetla rzeczywiste zdarzenia w miarę ich pojawiania się.
Czy to działa na stronach realizacji transakcji?
Opublikowanie kodu z własnego motywu dotyczy strony głównej sklepu. Proces realizacji transakcji jest renderowany przez Shopify i nie można do niego dodawać kodu motywu, dlatego w tym miejscu należy zamiast tego skorzystać z wbudowanych wyzwalaczy „Wyświetlono błąd podczas realizacji transakcji” oraz „Odrzucono kod rabatowy podczas realizacji transakcji”.
Kolejne kroki
- Wyzwalacze w interfejsie sklepu - wbudowane wyzwalacze w witrynie sklepu oraz sposób działania piksela.
- Wygeneruj kod wyzwalacza za pomocą sztucznej inteligencji - proszę pozwolić, aby sztuczna inteligencja napisała za Państwa fragment szablonu lub transformację.
- Wyzwalacze niestandardowe - ta sama koncepcja, co w przypadku zdarzeń webhooków Shopify, z zapewnieniem niezawodności po stronie serwera.
- Plany i sposób użytkowania - co uznaje się za zdarzenie.
