⏰
Dane mogą być stare
Ostatnie zamówienie w bazie: ·
+ nowych · już było ·
Eligible subscribers
Pokaż listę →
Sends 7 dni
Otwórz logi →
Revenue attribution 30d
Otwórz analytics →
Deliverability
Mailgun status →
Sends per dzień (30 dni)
SalesManago + nasz system (po migracji)
SM (workflow)
Nasz
sends 30d (SM)
opens
clicks
Status systemu
VPS Hetzner
Running
Mailgun news.smmash.eu
Active
Magento API
57,533 customers
PostgreSQL + Redis
Deploy pending
FastAPI worker
Not deployed
SalesManago sync
CSV manual
🏷 Segmenty klientów (tagi z historii zakupów)
Tagi przypisane na podstawie zakupów + arkusza atrybutów. Klik = filtruj listę.
🌐 Klienci per język komunikacji
5 języków SMMASH (pl/de/fr/it/en) - klik na język filtruje listę
eligible
📧 SalesManago - statystyki historyczne (180 dni)
sends total ·
unique odbiorców ·
→
Sends total
Open rate
Click rate
Unsub rate
Bounces
Top workflows (po sends)
Klik na workflow → lista wszystkich maili
| Workflow | Sends | Opens | Clicks | OR | CTR | Unsub |
|---|---|---|---|---|---|---|
Audyt subskrypcji - segmenty
Zobacz wszystkich →
| Segment | Liczba | Status | Działanie | |
|---|---|---|---|---|
| active_sm_and_magento | Eligible | Wyślemy marketing | Pokaż → | |
| unsubscribed_sm | Wypisani | NIE wysyłamy | Pokaż → | |
| magento_only_no_optin | Bez opt-in | NIE wysyłamy | Pokaż → | |
| excluded_rmg | Excluded | RMG - zawsze cisi | Pokaż → | |
| excluded_marketplace | Excluded | Marketplaces - zawsze cisi | Pokaż → |
Total emails
Eligible (sm_active)
—
pending SM CSV
Excluded RMG
Magento bez opt-in
Baza klientów
Próbka 50 (z 56,195) - dane bedą żyć z Postgres po deploy
| Imię | Store | Subskrypcja | Orders | Spent | Last order | Cykl | 📧 7/14/30d | ||
|---|---|---|---|---|---|---|---|---|---|
|
co d
|
/ / |
Per store view
Klik na wiersz → filtr listy klientów
| Store | Name | Customers | % bazy | Status marketing | |
|---|---|---|---|---|---|
| Pokaż klientów → |
HTML + Jinja2 (kompatybilne z Mailgun). Pliki źródłowe w
app/templates/marketing/.Templates ()
·
·
Subject:
Status:
Language:
Updated:
Reguła kwalifikacji:
Język:
Sklepy:
Okno:
👁 Bulk preview
Pokaż
maili
Ładowanie kolejki...
📭
Brak klientów w kolejce dla tych reguł
| Imię | Store | Orders | Spent | Last order | Akcja | |
|---|---|---|---|---|---|---|
✉
Wybierz template z listy żeby zobaczyć preview
Kampanie
Workflow JSON + triggery. AI Builder w lewym pasku.
| Nazwa | Trigger | Steps | Target | Status | Sends | Revenue | |
|---|---|---|---|---|---|---|---|
Workflow templates (do utworzenia z 1 kliknięcia)
✉️ Welcome series
5 maili w 14 dni po opt-in. Brand intro, social proof, 10% pierwszy zakup.
Klik = stwórz draft →
👁 Browse abandonment
"Patrzyłeś na X" - per produkt. Wymaga tracking pixela.
Klik = stwórz draft →
📦 Restock alert
Wishlist → out of stock → "wróciło". Magento webhook.
Klik = stwórz draft →
🔄 Replenishment 60d
Przypomnij że minęło 60 dni od ostatniego zakupu produktu X.
Klik = stwórz draft →
⭐ VIP early access
Top 10% klientów dostaje drop na 48h przed publiczną premierą.
Klik = stwórz draft →
😴 Winback 90/180d
Nieaktywni klienci - seria z rosnącym rabatem 5/10/15%.
Klik = stwórz draft →
Workflow visualizer
Post-purchase Care PL - przykład
⚡ Trigger
Magento PURCHASE event
store_view IN [PL]
↓
⏱ Wait
1 day
↓
→ Action
Send email
template: post_purchase_d1_pl
↓
⏱ Wait
2 days
↓
→ Action
Send email
template: post_purchase_d3_pl
↓
⏱ Wait
11 days
↓
⊘ Condition
if NOT purchased in last 14 days
↓
→ Action
Generate 10% discount
Magento coupon API, valid 30d, single-use, per-customer
↓
→ Action
Send email z rabatem + rekomendacje
template: post_purchase_d14_pl + 4 cross-sell produktów (Claude embeddings)
🎯 Grupy odbiorców
Zapisane filtry odbiorców (segmenty) do późniejszego użycia w newsletterach.
Twoje grupy ()
| Nazwa | Opis | Klientów | Kryteria | Akcje |
|---|---|---|---|---|
|
🎯
Brak grup. Kliknij "+ Nowa grupa" żeby zacząć.
Kryteria filtrowania:
— klik na opcję dodaje filtr, ✕ usuwa
klientów pasuje do kryteriów
Preview grupy:
klientów · sample 10 poniżej
| Imię | Store | Orders | Spent | Last order | |
|---|---|---|---|---|---|
📤 Wyślij newsletter
Wybierz template + grupę odbiorców → planowanie wysyłki.
⚠
DRAFT MODE aktywny — możesz planować, ale worker NIE wyśle dopóki nie ustawisz
DRAFT_MODE=false w .env.local.
Rows w scheduled_sends czekają w stanie pending.
Nowy newsletter
✓ Template zapisany:
— wybrany do wysyłki poniżej
🎯 Context-aware: wpisz w prompt nazwę kolekcji/grafiki (
COW, AURORA, RSO2) — system pobierze z Magento listę produktów + ceny + płeć docelową. AI napisze tekst o KONKRETNYCH produktach (nie ogólnikach).
Claude API generuje newsletter...
Czas oczekiwania: 10-30 sekund. Jeśli >60s — request się zaciął, dostaniesz alert.
Subject (edytuj jeśli chcesz)
Preheader
Body HTML (edycja: przelacz na zakładkę RAW HTML)
Wstaw HTML body (tabela
<tr><td>...</td></tr> rows). SMMASH header + footer dodawane automatycznie. Placeholdery Jinja: {{ first_name }}, {{ unsubscribe_url }}.
Twoje wgrane pliki - klik akcja żeby wstawić do mailingu
Brak wgranych plików. Klik "📤 Wgraj plik".
Wpisz frazę i klik Szukaj. Filtruje aktywne produkty Magento (bez RMG).
+ Karta = pełna karta produktu z img/nazwa/cena/CTA. + Img = sama fotka z linkiem. Wstawia do body w trybie RAW HTML.
Edytor wizualny dla aktualnego body (AI output lub RAW). Zmiany zapisują się do
newsletter.rawHtml — preview i Save działa.
Aktualnie zaplanowane (pending)
| Klient | Store | Template | Z segmentu | Zaplanowane na | Próba | |
|---|---|---|---|---|---|---|
Brak zaplanowanych wysyłek
📬 Kolejka wysyłek
Wszyscy klienci kwalifikujący się do wysyłki (po wykluczeniach). Trigger = warunek aktywacji template.
Total w kolejce
po wykluczeniach RMG/XCREATOR/no-complement
Aktywne triggery
templates z queue rules
DRAFT MODE
AKTYWNY · BLOKUJE WYSYŁKI
WYŁĄCZONY
Filtry
Per template
| Template | Surowo z SQL | Eligible (po complement) | Skipped | Akcja |
|---|---|---|---|---|
Najbliższe wysyłki
Sortowane po scheduled_for ASC (najwcześniejsze pierwsze)
Ładowanie kolejki...
| Klient | Store | Template / Trigger | Last order | Scheduled for | 📧 7/14/30d | Akcja | |
|---|---|---|---|---|---|---|---|
| / / |
Wszystkie maile
nasz + SM
Z naszego systemu
templates v26
Z SalesManago
180 dni history
Pokazywane
strona
Historia maili - wszystkie wysyłki
Live feed: nasz system (czarne) + SalesManago workflow stats (żółte)
| Wysłany | Źródło | To | Subject | Template / Workflow | Status | Opens | Clicks |
|---|---|---|---|---|---|---|---|
| Brak maili pasujących do filtrów | |||||||
Open rate (7d)
—
brak wysyłek
Click rate (7d)
—
brak wysyłek
Conversion rate
—
brak wysyłek
Avg revenue / send
—
brak wysyłek
Revenue attribution per campaign
| Campaign | Sends | Conversions | Revenue |
|---|---|---|---|
Deliverability per domain
mailer.smmash.eu
Magento transactional
98.5%
↗ stabilne
news.smmash.eu
Marketing - dziś aktywne
100%
↗ 1/1 sent
Czarna lista (suppressions)
Bounces, complaints, unsubscribes - nigdy nie wysyłamy do nich
| Reason | Source | Suppressed | Action | |
|---|---|---|---|---|
| Lista pusta - brak bounce/unsubscribe (jeszcze nie wysyłaliśmy real maili) | ||||
✦ Opisz kampanię naturalnym językiem
Claude wygeneruje workflow JSON z triggerami, akcjami i timingiem. Możesz potem edytować lub uruchomić jak jest.
Powered by Claude API. Średnio ~3s na wygenerowanie.
Przykłady (kliknij żeby załadować):
Wygenerowany workflow
Confidence:
· Sprawdź i edytuj przed aktywacją
Workflow steps
⚡ Trigger
↓
✦
Wpisz prompt powyżej i kliknij Generate
SalesManago - rolling migration
Workflows w SM zostają aktywne. Przed odpaleniem naszej kampanii - wyłączamy SM odpowiednik.
| ID | Nazwa SM | Lang | Kategoria | Status SM | Maps to nasza | Akcja |
|---|---|---|---|---|---|---|
Infrastruktura
Running
Mailgun
Active
Rate limits (warmup safety)
Data sync
Pulluje wszystkie produkty + atrybut nazwa_bazowa. Po sync — w karcie klienta widać "Ulubione kolekcje".
Excluded store views
Klienci z tych store views NIGDY nie dostaną marketing maila. Filtr globalny w bazie (view contacts_eligible).
-
✎ Edytor template
·
● niezapisane zmiany
💡 Dla zaawansowanych: edytuj HTML bezpośrednio. AI prompt jest po prawej w toolbarze WYSIWYG.
HTML Body (Jinja2)
Variables:
{{ first_name }} {{ discount_code }} {{ cart_items }} {{ recommendations }} {{ unsubscribe_url }}✉️ Skomponuj i wyślij mail
Personalizowany pod
() → wysyłka na
📧 Preview poniżej pokazuje render z REAL danymi tego klienta:
first_name=,
cart_items=z ostatniego orderu klienta,
discount_code=losowy testowy,
recommendations=4 polecane produkty (mock).
✉
Wybierz template z dropdownu żeby zobaczyć preview
Workflow z SalesManago · maili total · pokazane top 200
Ładowanie...
Top 10 odbiorców (najwięcej maili)
| Liczba maili | Opens | Clicks | |
|---|---|---|---|
Wszystkie maile (najnowsze pierwsze)
| Data | Subject | Opens | Clicks | Status | |
|---|---|---|---|---|---|
| Wypisał się Bounce Kliknął Otworzył Wysłany |
Edytor workflow
⚡ Trigger - kiedy odpalamy
↓ Kroki workflow
format: 1h, 2d, 1w
%, ważny
dni
×
DODAJ KROK:
kroków
Orders
Total spent
Last order
Status
Ulubione kolekcje (nazwa_bazowa)
Historia zakupów ()
| Data | Order # | Store | Status | Kwota | Produkty |
|---|---|---|---|---|---|
|
|
Brak zamówień w bazie
Historia mailowa - nasz system ()
| Data | Template | Subject | To | Opens | Clicks | Status |
|---|---|---|---|---|---|---|
Brak maili z naszego systemu
Historia mailowa z SalesManago ()
| Data | Workflow | Subject | Otwarcia | Kliki | Status |
|---|---|---|---|---|---|
| Wypisał się Kliknął Otworzył Wysłany |
Brak historii z SM