Spraw, by Twoje e-maile były idealnie dopasowane, pokazując kontaktom dokładnie to, na czym im zależy. Wykorzystanie danych zdarzeń pozwala automatycznie wstawić szczegóły dotyczące ostatnich działań kontaktu bezpośrednio do wiadomości. Niezależnie od tego, czy chcesz podsumować ich ostatnie korzystanie z produktu, przypomnieć o porzuconym koszyku, czy potwierdzić szczegóły konsultacji – Twój zespół z łatwością wygeneruje odpowiedni dynamiczny snippet.
Aby zacząć od podstaw, zapoznaj się z następującymi artykułami:
Przejdź do „Studio" → „Dynamic Content" → „Events" / „Product events".
Tutaj wybierzesz typ danych, których chcesz użyć:
Event: użyj tego, aby pobrać dane z ogólnych akcji wysyłanych do systemu, takich jak wypełnienie formularza lub umówienie spotkania.
Product Event: użyj tego, aby wygenerować listy produktów na podstawie konkretnych interakcji z produktem zapisanych w profilu kontaktu, takich jak ostatnio kupione produkty lub dodane do koszyka.

Ten krok dokładnie określa systemowi, jakich zdarzeń ma szukać oraz ile danych pokazać w e-mailu. Wybierz konkretne zdarzenie z listy, a następnie dostosuj poniższe parametry:
Standardowe parametry (dla wszystkich typów zdarzeń):
Event: wybierz konkretną akcję, do której chcesz się odwołać (np. add_to_cart, purchase lub consultation).
For last X days: określa zakres czasowy – ile dni wstecz system ma szukać tego zdarzenia. Na przykład wpisanie „1" pobiera zdarzenia tylko z ostatnich 24 godzin.
Count: definiuje maksymalną liczbę wystąpień zdarzenia do wyświetlenia. Na przykład jeśli wpiszesz „3", a kontakt wykonał akcję 7 razy, e-mail pokaże informacje tylko o 3 zdarzeniach.
Order: określa sposób sortowania zdarzeń. Wyłącz przełącznik (wartość „-1" w zmiennej), aby pokazać najnowsze, najświeższe zdarzenia jako pierwsze (malejąco). Włącz przełącznik (wartość „1" w zmiennej), aby pokazać najstarsze zdarzenia jako pierwsze (rosnąco).

Dodatkowe parametry dla product event:
Category: pozwala zawęzić wygenerowaną listę do produktów z konkretnej kategorii (np. „Accessories" lub „Men").
Unique: zapewnia, że produkty na liście nie są duplikowane, nawet jeśli zdarzenie zostało wykonane na tym samym produkcie wielokrotnie: 1 = true, 0 = false. Jeśli chcesz pokazać tylko jedno zdarzenie dla tego samego produktu, użyj wartości 1.
In stock: przełącznik (np. in_stock='false'), który pozwala zdecydować, czy wyświetlać produkty na podstawie ich dostępności w magazynie.
Segments: ogranicza wyniki do produktów w obrębie konkretnego segmentu (np. segment='Bestsellers'). Tego parametru domyślnie nie ma w generatorze; możesz dodać go samodzielnie zamiast Category.
Przykład:
{% product_events event_type='add to cart' count=3 segment='Bestsellers' unique=1 order=-1 availability='in stock' as event_occurrences %}
Korzystając ze snippetów tagów opartych na zdarzeniach, warto zrozumieć, że zawsze składają się one z trzech logicznych części:
Otwarcie pętli zdarzeń – ta część definiuje, które zdarzenia zostaną wykorzystane.
Wyświetlanie atrybutów zdarzenia – tutaj decydujesz, jakie dane ze zdarzenia zostaną pokazane.
Zamknięcie pętli – ta część kończy strukturę snippetu tagów.
1. Otwarcie pętli: to pierwsza linia generowana przez system. Informuje system, które zdarzenia pobrać. Nie zmieniaj tej części. Skopiuj ją jeden do jednego i dostosuj jedynie parametry w razie potrzeby.
{% events 'event_name' for_last_days=1 count=3 order=-1 as event_occurrences %}2. Dodaj elementy, które wyświetlą atrybuty zdarzenia
Następnie definiujesz, jak każde zdarzenie ma być prezentowane w e-mailu.
To część, którą możesz dowolnie dostosować do swojego designu i potrzeb biznesowych.
{% for event in event_occurrences %}
{{ event.title }}
${{ event.price }}
{{ event.color }}
{{ event.quantity }}Wszystko, co zostało zapisane w podwójnych nawiasach {{ }}, odnosi się do konkretnego atrybutu zdarzenia.
Aby wyświetlić atrybut, zawsze używaj tej struktury:
{{ event.ATTRIBUTE_NAME }}
Nazwa atrybutu musi dokładnie odpowiadać atrybutowi wysyłanemu wraz ze zdarzeniem.
Możesz łączyć wartości dynamiczne ze zwykłym tekstem, elementami HTML, obrazami lub przyciskami.
Dzięki temu masz pełną kontrolę nad tym, jak dane zdarzenia pojawiają się w e-mailu.
3. Zamknij pętlę
Na końcu musisz zamknąć pętlę:
{% endfor %}Ta linia informuje system, że wszystkie wystąpienia zdarzeń zostały wyrenderowane i żadne dodatkowe dane nie powinny być wyświetlane.
Bez tej zamykającej linii snippet tagów nie zostanie poprawnie wyrenderowany.
Otwierająca i zamykająca część snippetu tagów nie powinna być modyfikowana. Modyfikować należy jedynie sekcję wewnątrz pętli, aby odwoływała się do atrybutów, które chcesz wyświetlić.
Przykład:

Możesz łatwo dostosować wygląd pobranego tekstu bezpośrednio w edytorze e-maila, bez konieczności ingerencji w bazę danych. Wystarczy dodać te modyfikatory po nazwie atrybutu:
Zamień pierwszą literę na wielką: dodaj |capfirst, aby pierwsza litera była wielka (na przykład {{receiver.last_name|capfirst}}).
Ustaw wartość zastępczą: użyj |default:"Twoje słowo", aby pokazać zapasowy zwrot, jeśli pole kontaktu jest puste (na przykład {{receiver.first_name|default:"Friend"}} sprawi, że e-mail powie „Hi Friend" zamiast pustego miejsca).
Skróć długi tekst: użyj |truncatewords:2, aby przyciąć tekst po określonej liczbie słów, lub |truncatechars:10 aby ograniczyć dokładną liczbę znaków (na przykład {{event.description|truncatewords:2}}.
Sformatuj poprawnie ceny: dodaj |floatformat:2, aby zawsze wyświetlać ceny z dwoma miejscami po przecinku (na przykład {{event.price|floatformat:2}} może zmienić 89.9 na 89.90).
Listę wszystkich opcji modyfikacji znajdziesz w sekcji Useful dynamic content za generatorem snippetów tagów lub w tym artykule.

W Positive User możesz renderować różne dane w zależności od atrybutów kontaktu lub konkretnych szczegółów zdarzenia. Możesz to osiągnąć dzięki warunkom If/Else.
Na przykład, aby pokazać specjalny rabat 20% tylko wtedy, gdy kontakt dokonał więcej niż trzech zakupów, a wszystkim pozostałym rabat 5%, Twój zespół napisze:
{% if receiver.number_of_purchases > 3%}
Here is your 20% discount code!
{% else %}
Here is your 5% discount code!
{% endif %}
Każda instrukcja „If" musi być zamknięta tagiem
{% endif %}.
Więcej o regułach warunkowych znajdziesz w tym artykule [LINK]
Porzucone koszyki: kontakt zostawia produkty w koszyku bez finalizacji zakupu, a Ty możesz przypomnieć mu dokładnie o tym, co zostawił. Użyj tagów product event, aby automatycznie wyświetlić nazwę, cenę i obraz konkretnych produktów, których zapomniał kupić. Możesz wykorzystać logikę warunkową, aby pokazać cenę z rabatem, jeśli produkty mają obecnie niższą cenę.
Podsumowanie korzystania z aplikacji: możesz wysyłać cotygodniowy automatyczny e-mail pokazujący kontaktowi, jak dużą wartość czerpie z Twojego oprogramowania. Użyj standardowych tagów zdarzeń, aby wypisać liczbę ukończonych zadań lub utworzonych projektów w ciągu ostatnich 7 dni.
Potwierdzenia rezerwacji: musisz potwierdzić konkretne szczegóły rezerwacji zaraz po tym, jak kontakt się zapisze. Użyj tagów zdarzeń, aby pobrać konkretny temat konsultacji i dokładną datę ze zdarzenia rezerwacji bezpośrednio do e-maila powitalnego.
Ostrzeżenia o wygaśnięciu okresu próbnego: jeśli musisz ostrzec kontakt, że jego darmowy okres próbny wkrótce się kończy, i zachęcić go do dodania danych do rozliczeń, użyj standardowych tagów zdarzeń, aby odwołać się do zdarzenia „trial_started". Wewnątrz snippetu zastosuj modyfikator daty do daty rozpoczęcia (na przykład |timedelta_days:14), aby automatycznie obliczyć i wyświetlić dokładną datę, kiedy ich dostęp zostanie zablokowany.
Follow-upy po webinarach: aby wysłać spersonalizowany e-mail z podziękowaniem zaraz po tym, jak kontakt weźmie udział w webinarze, dając mu konkretny link do nagrania, którego potrzebuje, użyj standardowych tagów zdarzeń, aby pobrać atrybuty ze zdarzenia „webinar_attended". Twój e-mail automatycznie wstawi dokładny temat prezentacji i unikalny adres URL nagrania bezpośrednio do tekstu.
Aktualizacje punktów lojalnościowych: jeśli chcesz zgrywalizować doświadczenie zakupowe, aktualizując kontakt o jego punktach nagród zaraz po zakupie, zastosuj tagi zdarzeń, aby pobrać zdarzenie „points_earned". Wyświetl dokładną liczbę punktów, które właśnie zdobył przy ostatniej transakcji, i użyj modyfikatora matematycznego dodawania (na przykład |add: receiver.current_points), aby obliczyć i wyświetlić jego nowy łączny stan w czasie rzeczywistym.