Przejdź do głównej zawartości

Zaawansowana segmentacja kontaktów według własnych zapytań EQL

Zaawansowana segmentacja kontaktów za pomocą własnych zapytań i custom queries

Napisane przez Kateřina Irová

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]

Czy to odpowiedziało na twoje pytanie?