Zaawansowana segmentacja kontaktów według własnych zapytań EQL
W abonamencie Marketer oraz CDP masz możliwość segmentowania kontaktów według własnych, specyficznych zapytań i ich kombinacji. Ten artykuł pomoże zrozumieć Ci Ecomail Query Language (EQL).
Zawartość:
1. Wprowadzenie
Segmentacja i warunki w automatyzacjach umożliwiają filtrowanie kontaktów według własnych, specyficznych zapytań oraz ich kombinacji. Ten artykuł pomoże Ci zrozumieć Ecomail Query Language (EQL).
W ramach EQL możesz pracować z:
wszystkimi podstawowymi polami kontaktu (np. name, surname, email)
własnymi polami kontaktu – należy użyć zapisu merge tagu, a nie jego nazwy opisowej dla Twojej wygody – poniższy przykład zapisu w EQL odpowiadałby polu
POLE_WLASNE_2:
właściwości zakupów (np. transaction.shop, transaction.props)
a) Lista podstawowych pól
name imię
surname nazwisko
email e-mail
vokativ imię w wołaczu
vokativ_s nazwisko w wołaczu
pretitle tytuł przed imieniem
surtitle tytuł po nazwisku
gender płeć
street ulica i numer domu
city miasto
zip kod pocztowy
country kraj
company firma
phone telefon
birthday urodziny
b) Operatory
Do porównywania pól można użyć następujących operatorów:
EQUALS równa się
EQUALS_NOT nie równa się
CONTAINS zawiera
CONTAINS_NOT nie zawiera
LOWER jest mniejsze (tylko dla pól typu int/liczba)
HIGHER jest większe (tylko dla pól typu int/liczba)
CONTAINS_ONE_OF zawiera jedną z wartości
DOES_NOT_CONTAIN_ONE_OF nie zawiera żadnej z wartości
Operatory są rozróżniane pod względem wielkości liter, czyli muszą być zapisane wielkimi literami.
c) Składnia EQL
Zapis EQL wygląda następująco:
wlasciwosc_kontaktu OPERATOR 'wartosc wlasciwosci'
Możesz użyć pojedynczych lub podwójnych cudzysłowów:
wlasciwosc_kontaktu OPERATOR "wartosc wlasciwosci"
Kombinację zapytań (jeśli mają być spełnione oba warunki) łączysz za pomocą słowa AND:
email EQUALS "[email protected]" AND name EQUALS "Jan"Jeśli wystarczy spełnienie jednego z dwóch warunków, osiągniesz to za pomocą słowa OR:
email EQUALS "[email protected]" OR name EQUALS "Jan"
W przypadku, gdy potrzebujesz łączyć bardziej złożone zapytania, możesz umieścić je w nawiasach. Takie zapytania są najpierw oceniane między sobą w obrębie nawiasu, a dopiero potem w kontekście całego zapytania.
To zapytanie EQL wysegmentowałoby kontakty, które w polu email mają mail.pl LUB spełniają oba poniższe warunki: kontakty z e-mailem zawierającym mail.com ORAZ jednocześnie nie mają w polu kraj wartości CZ.
email CONTAINS 'mail.pl' OR (email CONTAINS 'mail.com' AND country CONTAINS_NOT 'PL')
Wartości dla operatorów CONTAINS_ONE_OF i DOES_NOT_CONTAIN_ONE_OF muszą być zapisane w nawiasach kwadratowych i oddzielone przecinkiem, na przykład:
name CONTAINS_ONE_OF ['Jan','Karol','Tomasz']
Cudzysłowy w przypadku operatorów CONTAINS_ONE_OF i DOES_NOT_CONTAIN_ONE_OF muszą być pojedyncze.
d) Przykłady
Email jest [email protected] lub spełnia oba warunki, gdy email nie zawiera op.pl i imię to Jan, a jednocześnie numer telefonu zawiera +48:
email EQUALS '[email protected]' OR (email CONTAINS_NOT 'op.pl' AND name EQUALS 'Jan') AND phone CONTAINS '+48'
Spełnia się jedna z dwóch kombinacji warunków, gdy email zawiera .pl i kraj równa się PL lub email zawiera .sk i kraj równa się SK:
(email CONTAINS ".pl" AND country EQUALS "PL") OR (email CONTAINS ".sk" AND country EQUALS "SK")
Kod pocztowy (ZIP) jest większy niż 100 i jednocześnie mniejszy niż 150:
zip HIGHER 100 AND zip LOWER 150
2. Właściwości zakupów
a) Parametry zamówień
W ramach EQL możesz również pracować z kontrolą parametrów samej transakcji. Wartości, które możesz sprawdzać, są następujące:
transaction.order_id. tekst, id zamówienia z Twojego sklepu transaction.timestamp data, data i godzina zamówienia*
transaction.shop tekst, nazwa sklepu
transaction.amount liczba, całkowita kwota zamówienia
transaction.tax liczba, całkowity podatek zamówienia transaction.shipping liczba, cena za dostawę
transaction.city tekst, miasto adresu rozliczeniowego transaction.county tekst, powiat / region adresu rozliczeniowego transaction.country tekst, kraj adresu rozliczeniowego
transaction.timestamp możesz wyszukać jako dokładną datę i godzinę transaction.timestamp EQUALS "2024-12-17 12:23:39" lub tylko część daty za pomocą operatora CONTAINS transaction.timestamp CONTAINS "2024-12-17"
b) Ostatnie zamówienie
Podobnie możesz wykorzystać last_transaction i wyszukiwać wyłącznie wśród ostatniego zamówienia kontaktów, korzystając z tych samych właściwości, patrz tabela powyżej:
last_transaction.shop EQUALS "mujshop.cz"
c) Właściwości niestandardowe (custom props)
Ponadto można segmentować za pomocą właściwości niestandardowych (custom props) zamówień, które można zdefiniować przy wysyłaniu zamówienia przez API w następujący sposób: "props": {"myCustomProp": "customPropValue"}
Więcej informacji o requeście transakcji znajdziesz w dokumentacji API tutaj.
d) Przykłady
Transakcje zawierające adres rozliczeniowy w kraju CZ:
transaction.country EQUALS 'CZ'
Transakcje z całkowitą kwotą wyższą niż 1000 i niższą niż 10000:
transaction.amount HIGHER 1000 AND transaction.amount LOWER 10000
Transakcje zrealizowane w listopadzie 2024 lub grudniu 2024:
transaction.timestamp CONTAINS "2024-11" OR transaction.timestamp CONTAINS "2024-12"
Transakcje z właściwością niestandardową (custom prop) frequency i jej wartością 'yearly':
transaction.props.frequency EQUALS 'yearly'
To samo zapytanie co powyżej, ograniczone jedynie do ostatnich zamówień kontaktów:
last_transaction.props.frequency EQUALS 'yearly'
❓
Jeśli masz pytanie, napisz do nas na [email protected]

